Skip to main content
POST
Create workspace connector

Authorizations

Authorization
string
header
required

Personal access token, sent as Authorization: Bearer <token>.

Path Parameters

workspace_id
string
required

ID of the workspace. With a personal access token, use the token's workspace. Get it from organization_id in Get app.

Body

application/json

A workspace connector to create.

integration_type
required

Connector to create it for, from integration_type in List connectors. Its connector_mode has to be one of all, app_user_only, byo_shared_only, or byo_shared_and_app_user.

Available options:
googlecalendar,
google_classroom,
googledrive,
gmail,
googlesheets,
googledocs,
googleslides,
googlebigquery,
googlemeet,
googletasks,
googleads,
google_analytics,
google_search_console,
slack,
notion,
salesforce,
hubspot,
linkedin,
tiktok,
instagram,
discord,
slackbot,
wix,
github,
gitlab,
bamboohr,
dropbox,
clickup,
wrike,
box,
outlook,
linear,
airtable,
microsoft_teams,
share_point,
one_drive,
typeform,
splitwise,
hugging_face,
calendly,
contentful,
supabase,
snowflake,
databricks,
quickbooks,
square
Example:

"googlecalendar"

name
string
required

Name of the workspace connector. Must be unique in the workspace, matching case exactly.

Minimum string length: 1
Example:

"Sales Google Calendar"

credential_source
enum<string>
default:byo

Whose OAuth app the connector runs on: byo for your own, registered in the provider's console, or base44 for Base44's. Defaults to byo. base44 needs a plan that includes Base44-managed connectors, and only some connectors offer it.

Available options:
byo,
base44
Example:

"byo"

client_id
string
default:""

Client ID of your OAuth app, up to 512 characters. Required with byo. Leave it out with base44.

Maximum string length: 512
Example:

"1234567890-abc123def456.apps.googleusercontent.com"

client_secret
string
default:""

Client secret of your OAuth app, up to 512 characters. Required with byo, except for connectors whose OAuth apps have no secret, such as Linear. Leave it out with base44. It's stored encrypted and never returned.

Maximum string length: 512
Example:

"your-oauth-client-secret"

scopes
string[]

OAuth scopes connections through this connector ask for. With base44, only scopes Base44's OAuth app is approved for are accepted.

Example:
connection_config
Connection Config · object

Values the connector needs, keyed by the name of each of its connection fields. Leave it out for connectors that have none.

Example:

Response

The new workspace connector.

A workspace connector. The client secret is never returned.

id
string
required

ID of the workspace connector. Pass it as connector_id to Start connector connection.

Example:

"6820f3a4e7b91d003c45a1f9"

organization_id
string
required

ID of the workspace.

Example:

"67e0b12c4d8a3f005b21c9e4"

integration_type
string
required

Connector it's for.

Example:

"googlecalendar"

name
string
required

Name of the workspace connector.

Example:

"Sales Google Calendar"

client_id
string
required

Client ID of the workspace's OAuth app. Empty for a connector on Base44's OAuth app.

Example:

"1234567890-abc123def456.apps.googleusercontent.com"

scopes
string[]
required

OAuth scopes connections through it ask for.

Example:
credential_source
enum<string>
default:byo

Whose OAuth app it runs on: byo for the workspace's own, or base44 for Base44's.

Available options:
byo,
base44
Example:

"byo"

connection_config
Connection Config · object

Connection values saved on it, keyed by field name. Empty when the connector needs none.

Example:
uses_oauth_gateway
boolean
default:false

Whether new connections return to the single gateway redirect URI (true) or to the per-app ones (false). Get OAuth redirect URIs says which to register.

Example:

true