Auth Providers
enable users to seamlessly and securely allow Arcade to access their data.
Arcade has several available in the Arcade Cloud Platform so you don’t have to configure your own. However, using Arcade’s auth providers means that your will see the Arcade brand (name and logo) on the auth screen and your authentications will share any rate limits from those providers with other Arcade customers.
It can be useful to configure your own for the following reasons:
- You want to use your own brand on the auth screen
- You want to isolate your rate limits from other Arcade customers
- You want to use a provider that Arcade does not have a built-in integration for
After adding an used by an Arcade , executing the tool will automatically use your auth provider. Even in the Arcade Cloud Platform, your auth provider will take precedence over the arcade-provided auth provider.
Adding multiple providers of the same type, not including the arcade-provided ones, can cause Arcade’s authorization to fail, see Using multiple providers of the same type for more information.
Catalog of providers
For more information on how to customize your , select an auth provider from the list below:
Asana
Auth
Authorize tools and agents with Asana
Atlassian
Auth
Authorize tools and agents with Atlassian
Discord
Auth
Authorize tools and agents with Discord in a user's context
Dropbox
Auth
Authorize tools and agents with Dropbox in a user's context
GitHub
Auth
Authorize tools and agents with GitHub, including private repositories
Auth
Authorize tools and agents with Google: Gmail, Calendar, YouTube, Drive, and more
HubSpot
Auth
Authorize tools and agents with HubSpot
Linear
Auth
Authorize tools and agents with Linear
Auth
Authorize tools and agents with LinkedIn
Microsoft
Auth
Authorize tools and agents with Microsoft Graph
Notion
Auth
Authorize tools and agents with Notion
Auth
Authorize tools and agents with Reddit
Slack
Auth
Authorize tools and agents with Slack
Spotify
Auth
Authorize tools and agents with Spotify
Twitch
Auth
Authorize tools and agents with Twitch
X
Auth
Authorize tools and agents with X (Twitter)
Zoom
Auth
Authorize tools and agents with Zoom
OAuth 2.0
Auth
Authorize tools and agents with any OAuth 2.0-compatible provider
If the you need is not listed, try the OAuth 2.0 provider, or get in touch with us!
Using multiple providers of the same type
You can create multiple of the same type, for example, you can have multiple Google auth providers, each with their own client ID and secret. This might be useful if you want separate Google clients to handle calendar and email scopes, for example.
However, Arcade’s tools are configured to select an by the type. This means that if you have multiple auth providers of the same type, Arcade will not know which one to use and authorizing the will fail.
To work around this, you can fork Arcade’s tools and modify them to specify your own by the unique ID that you give each of them. For example, if you have two Google auth providers, acme-google-calendar and acme-google-email, you can modify Arcade’s Gmail.ListEmails like this:
@tool(
requires_auth=Google(
id="acme-google-email", # This is the unique ID you gave your auth provider
scopes=["https://www.googleapis.com/auth/gmail.readonly"],
)
)
async def list_emails(
# ...This is similar to the pattern used in the generic OAuth2 provider, but instead of using the OAuth2 class, you use the Google class and specify the id of the you want to use.
See the docs about Authoring Tools for more information on how to create and serve a Server.