Connectors
Let your automations work on each person's own Gmail, Outlook, Slack or any OAuth 2.0 service. You write the script once; everyone who runs it uses their own account, and nobody hands over a password or token.
How connectors work
You bring the OAuth app
Create it in the service's console, and put its client ID and secret in your project's secrets. People see your app's name when they sign in, and you choose the scopes.
Each person connects once
The first time someone opens a callable that needs a connection, they sign in on the service's own consent screen. Callables stores their tokens encrypted and refreshes them.
Every run uses their account
Your code reads the token of whoever started the run. Alice's run sees Alice's inbox, Bob's sees Bob's. Schedules use the account of the person who made them.
Test it on your machine
call connect signs you in through your browser with the same app, and call local runs your functions on your own account before you push.
Set up a connector
provider="google"Gmail, Calendar, Drive, Sheets, Docs
Microsoft
provider="microsoft"Outlook, Calendar, OneDrive, Teams, SharePoint
Slack
provider="slack"Messages, Channels, Users
GitHub
provider="github"Repos, Issues, Pull requests
Notion
provider="notion"Pages, Databases
Any OAuth 2.0 service
Your own URLsOkta, Shopify, Salesforce, HubSpot, Your own
Connector or secret?
Use a connector when each person should use their own account: their inbox, their calendar. Use a secret when everyone should share one account, such as your company's Stripe key. A callable can use both.