Skip to main content
You’re viewing developer documentation
This documentation is for developers working with the Base44 developer platform. For information about connectors in the app editor, see Using Connectors.
Connectors let your app connect to third-party services like Google Workspace, Slack, Salesforce, and more. Most connectors use OAuth to authenticate with external APIs so you can make calls with your app’s credentials. Stripe uses a separate managed provisioning flow. See supported services for the full list of available connector types. To get started:
  1. Configure a JSONC file for each service you need
  2. Deploy and authorize via the CLI
  3. 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 is base44/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:
{
  "type": "googlecalendar",
  "scopes": [
    "https://www.googleapis.com/auth/calendar.readonly",
    "https://www.googleapis.com/auth/calendar.events",
  ],
}

Field reference

type
string
required
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.
scopes
array
required
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 with connectors 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:
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:
const { accessToken } =
  await base44.asServiceRole.connectors.getConnection("googlecalendar");

const timeMin = new Date().toISOString();
const url = `https://www.googleapis.com/calendar/v3/calendars/primary/events?maxResults=10&orderBy=startTime&singleEvents=true&timeMin=${timeMin}`;

const calendarResponse = await fetch(url, {
  headers: { Authorization: `Bearer ${accessToken}` },
});

const events = await calendarResponse.json();

Supported services

ServiceType identifierAuth model
AirtableairtableOAuth
BoxboxOAuth
ClickUpclickupOAuth
DiscorddiscordOAuth
DropboxdropboxOAuth
GitHubgithubOAuth
GmailgmailOAuth
Google Analyticsgoogle_analyticsOAuth
Google BigQuerygooglebigqueryOAuth
Google CalendargooglecalendarOAuth
Google Classroomgoogle_classroomOAuth
Google DocsgoogledocsOAuth
Google DrivegoogledriveOAuth
Google Search Consolegoogle_search_consoleOAuth
Google SheetsgooglesheetsOAuth
Google SlidesgoogleslidesOAuth
HubSpothubspotOAuth
LinearlinearOAuth
LinkedInlinkedinOAuth
Microsoft Teamsmicrosoft_teamsOAuth
Microsoft OneDriveone_driveOAuth
NotionnotionOAuth
OutlookoutlookOAuth
SalesforcesalesforceOAuth
SharePointshare_pointOAuth
Slack UserslackOAuth
Slack BotslackbotOAuth
SplitwisesplitwiseOAuth
StripestripeManaged
TikToktiktokOAuth
TypeformtypeformOAuth
WixwixOAuth
WrikewrikeOAuth
For OAuth connectors, pass the type identifier to getConnection() to retrieve an access token for that service.
Run connectors list-available to see the latest available integrations, including descriptions and any required connection config fields.
See connector permissions and scopes for the OAuth scopes each service may request.

See also