Auth Providers
Auth providers enable users to seamlessly and securely allow Arcade tools to access their data.
Arcade has several auth providers available in the Arcade cloud so you don’t have to configure your own. However, using Arcade’s auth providers means that your users 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 auth provider 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 auth provider used by an Arcade tool, executing the tool will automatically use your auth provider. Even in the Arcade Cloud, 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 tool 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 auth provider, 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

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 auth provider 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 auth providers 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 auth provider 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 tool will fail.
To work around this, you can fork Arcade’s tools and modify them to specify your own auth provider 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 Google.ListEmails tool 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 auth provider you want to use.
See the docs about Authoring Tools for more information on how to create and serve a toolkit.