diff --git a/arcade/arcade/core/auth.py b/arcade/arcade/core/auth.py index 07656876..c025aff3 100644 --- a/arcade/arcade/core/auth.py +++ b/arcade/arcade/core/auth.py @@ -78,6 +78,15 @@ class Google(OAuth2): super().__init__(id=id, scopes=scopes) +class Hubspot(OAuth2): + """Marks a tool as requiring Hubspot authorization.""" + + provider_id: str = "hubspot" + + def __init__(self, *, id: Optional[str] = None, scopes: Optional[list[str]] = None): # noqa: A002 + super().__init__(id=id, scopes=scopes) + + class LinkedIn(OAuth2): """Marks a tool as requiring LinkedIn authorization.""" diff --git a/arcade/arcade/sdk/auth/__init__.py b/arcade/arcade/sdk/auth/__init__.py index 4c92a5c7..7f714128 100644 --- a/arcade/arcade/sdk/auth/__init__.py +++ b/arcade/arcade/sdk/auth/__init__.py @@ -4,6 +4,7 @@ from arcade.core.auth import ( Dropbox, GitHub, Google, + Hubspot, LinkedIn, Microsoft, Notion, @@ -23,6 +24,7 @@ __all__ = [ "Dropbox", "GitHub", "Google", + "Hubspot", "LinkedIn", "Microsoft", "Notion",