Skip to content

OAuth Connectors Overview

JsWorkflows lets you connect external services using OAuth 2.0. Once connected, your workflows can call those services’ APIs without managing tokens — JsWorkflows handles token storage, refresh, and expiry automatically.

  1. Go to OAuth Connections in the app dashboard.
  2. Click Add Connection.
  3. Choose the service and the scopes (permissions) your workflows need.
  4. Complete the OAuth flow in the provider’s login screen.
  5. Give the connection a handle — a short name you use in your workflow code.

Call api.getOAuthToken(handle) to get a valid access token, then use it with the global fetch(). The token is refreshed automatically if it has expired:

const { token, error } = await api.getOAuthToken('my-google');
if (error) { api.log('OAuth error:', error); return; }
const response = await fetch('https://www.googleapis.com/drive/v3/files', {
headers: { 'Authorization': `Bearer ${token}` },
});

For the following services, JsWorkflows manages the OAuth app credentials — you only need to log in, no Client ID or Client Secret required:

  • Google (Sheets, Drive, Gmail, Calendar, Docs)
  • Slack
  • Microsoft (Outlook, OneDrive, Calendar)
  • Dropbox
  • GitHub
  • Mailchimp
  • HubSpot
  • Notion
ServiceDoc
GoogleGoogle OAuth
SlackSlack OAuth
MicrosoftMicrosoft OAuth
HubSpotHubSpot OAuth
GitHubGitHub OAuth
DropboxDropbox OAuth
MailchimpMailchimp OAuth
NotionNotion OAuth
Custom (any OAuth 2.0 provider)Custom OAuth