- Configure a JSONC file for each service you need
- Deploy and authorize via the CLI
- Use in backend functions by calling
getConnection()for OAuth connectors, or using the Stripe REST API directly for payments
Configure
Each connector is a JSONC file in your project’s connectors directory. The file defines the integration type and the scopes your app needs. By default the directory isbase44/connectors/, but you can customize the path in your project configuration.
connectors
googlecalendar.jsonc
slack.jsonc
slackbot.jsonc
notion.jsonc
Example
This example configures a Google Calendar connector with read and event management scopes:Field reference
The integration type identifier. See the supported services table for the full list of accepted values.Each connector type can only be defined once in your project.
Array of OAuth scopes required for your integration. The specific scopes
depend on the external service and what operations your app needs to perform.
See the connector permissions and
scopes documentation for
available scopes for each service.
Deploy and authorize
Deploy connectors withconnectors push or deploy. To download existing connectors from Base44, use connectors pull.
When you push, the CLI handles each connector based on its type:
- OAuth connectors: The CLI prompts you to authorize each connector one by one. It suggests opening your browser automatically, and if you accept, it iterates through each integration’s authorization page sequentially. After authorization completes, your OAuth tokens are stored securely and you can retrieve them using the SDK.
- Stripe: The CLI provisions a Stripe sandbox for your app and returns a claim URL to complete onboarding. No OAuth flow is needed.
Use in backend functions
Once deployed and authorized, use the connector in your backend functions. The approach depends on the connector’s auth model:- OAuth connectors
- Stripe
Call
connectors.getConnection() with the connector type to retrieve an accessToken for making authenticated API calls. Some connectors also return a connectionConfig with additional parameters (e.g. a subdomain or account ID).This example retrieves a Google Calendar connection and fetches upcoming events:Supported services
| Service | Type identifier | Auth model |
|---|---|---|
| Airtable | airtable | OAuth |
| Box | box | OAuth |
| ClickUp | clickup | OAuth |
| Discord | discord | OAuth |
| Dropbox | dropbox | OAuth |
| GitHub | github | OAuth |
| Gmail | gmail | OAuth |
| Google Analytics | google_analytics | OAuth |
| Google BigQuery | googlebigquery | OAuth |
| Google Calendar | googlecalendar | OAuth |
| Google Classroom | google_classroom | OAuth |
| Google Docs | googledocs | OAuth |
| Google Drive | googledrive | OAuth |
| Google Search Console | google_search_console | OAuth |
| Google Sheets | googlesheets | OAuth |
| Google Slides | googleslides | OAuth |
| HubSpot | hubspot | OAuth |
| Linear | linear | OAuth |
linkedin | OAuth | |
| Microsoft Teams | microsoft_teams | OAuth |
| Microsoft OneDrive | one_drive | OAuth |
| Notion | notion | OAuth |
| Outlook | outlook | OAuth |
| Salesforce | salesforce | OAuth |
| SharePoint | share_point | OAuth |
| Slack User | slack | OAuth |
| Slack Bot | slackbot | OAuth |
| Splitwise | splitwise | OAuth |
| Stripe | stripe | Managed |
| TikTok | tiktok | OAuth |
| Typeform | typeform | OAuth |
| Wix | wix | OAuth |
| Wrike | wrike | OAuth |
getConnection() to retrieve an access token for that service.
See connector permissions and scopes for the OAuth scopes each service may request.

