Skip to main content

About connectors

Connectors are OAuth integrations that let your Base44 app securely access external tools without managing API keys. When you connect a tool, you authorize your app to access your account in that service. Each connector is app-level, meaning one connected account per tool is shared across the app.
Connectors are shared across your app. Connected accounts are app-level, not per person. Do not use connectors for private per-user data, for example in a multi-user app where each person expects to connect their own calendar or inbox. Only use connectors when everyone who can access the app is allowed to see the same external data.
You need a Builder plan or higher to use connectors.

Adding a connector

Connect your app to a tool by prompting the Base44 AI chat. Describe what you want the app to do using that too. You can also use example prompts tailored to your app by going to IntegrationsBrowse in your app’s dashboard. Base44 suggests prompts based on your app’s structure, pages, and data to help you get started faster.
Using connectors in Base44
Common connector use cases:
  • Send reports, alerts, or summaries through Gmail.
  • Generate documents, spreadsheets, presentations, or files using Google Workspace tools.
  • Create and manage events or availability using Google Calendar.
  • Power dashboards and data agents with analytics from Google BigQuery.
  • Track traffic, user activity, and performance metrics with Google Analytics.
  • Send notifications or updates to teams through Slack User or as a Slack Bot.
  • Post automated updates or alerts to community channels in Discord.
  • Track code activity, issues, and pull requests with GitHub.
  • Create and track project tasks with ClickUp or Wrike.
  • Store, organize, and access files using Box.
  • Sync contacts, leads, and deal data with Salesforce or HubSpot.
  • Publish posts or share updates on LinkedIn or TikTok.
To connect your app to a tool:
  1. In your app editor, open the AI chat.
  2. Describe what you want the app to do, or use a ready-made prompt:
    • In the AI chat, specify what you want the app to do.
    • Go to your app’s dashboard and click IntegrationsBrowse, then click Use on a connector. Click an example prompt to add it to the chat and edit it if needed.
  3. Review the Action required and Required permissions.
  4. Click Connect to [tool].
  5. Complete the sign-in authorization.
Approving access lets your app use your account only with the permissions listed for that connector in this app.
Notes:
  • If you click Skip in the authorization window, the connector is not added. You can run the connection flow again from the AI chat or from Integrations → Browse.
  • Some tools require additional steps on their platform after connecting to your Base44 app.

Prompt examples

Use the prompts below to connect your app to external tools and automate workflows such as messaging, data syncing, reporting, and publishing updates.
Connect to my Gmail. I want to receive a daily email with my to do list.
Email me a summary of all new signups from today using my Gmail account.
Send a Gmail alert to me when a new task is marked as high priority.
Send a weekly Gmail digest with key metrics from this dashboard.
Email my team from Gmail when a deal moves to the Closed Won stage.
Save generated PDF reports from my app to Google Drive.
Create a Google Doc with a daily summary of activity from my app.
Sync new records from this app into a Google Sheets spreadsheet.
Keep a Google Sheets dashboard updated with daily metrics from my app.
Generate a Google Slides presentation summarizing this week's key KPIs.
Sync all my bookings directly to my Google Calendar.
Show my real-time availability from Google Calendar to clients.
When an appointment is confirmed, create a calendar event and invite attendees.
Block time on my calendar when a task is marked as deep work.
Create a daily agenda view from my upcoming calendar events.
Connect your Base44 app to Google BigQuery to power a data agent that queries your analytics warehouse in natural language.
Connect this app to my BigQuery project and add a data agent that answers questions about my analytics.
Let users ask questions about sales trends from my BigQuery dataset.
Build a dashboard powered by BigQuery and let the agent explain performance changes.
Alert me when a KPI drops below a threshold based on BigQuery data.
Connect Google Analytics and show pageviews, sessions, and top pages in a dashboard.
Pull my Google Analytics traffic by source and show trends week over week.
Alert me when organic traffic drops below a threshold in Google Analytics.
Create a weekly report from Google Analytics and email it to me.
Let me filter Google Analytics metrics by date range and page path in this app.
Post a message to the #support channel when a new ticket is created.
Send a daily summary of completed tasks to my team's Slack channel.
Notify me in Slack when a sale is made in my app.
Share important updates in the #announcements channel when a document is approved.
Send alerts to a Slack channel when deadlines are approaching.
Send a message as a bot to the #announcements channel when a release is published.
Post a bot message to #support when a new ticket is created.
Send a daily bot summary to #team-updates at 5pm.
Post a bot message to the selected Slack channel when an admin clicks "Send update".
Send a bot message to #product-updates when a feature flag is enabled.
Use the Discord connector to send messages and post updates to channels in Discord servers you authorize.
Direct messages (DMs) are not supported.
Post a message to the #announcements channel when a new feature is released.
Send an alert to the #ops channel when a critical error occurs.
Notify a Discord channel when a new support ticket is created.
Sync approved announcements from this app to a Discord server.
Send a daily summary of activity to a Discord channel.
Use the GitHub connector to manage repositories, list issues, review pull requests, and automate workflows connected to your codebase.
Connect to my GitHub account and list all open pull requests for review.
Show open issues from my repository in a dashboard.
Create a new GitHub issue when a bug is reported in this app.
Sync the latest commits from my repository into a changelog page.
Create a GitHub issue automatically when a critical incident is created.
Sync a Notion database with my CRM records.
Write project updates from this app into a Notion page.
Show Notion checklist progress for team onboarding in my dashboard.
Create new Notion pages for every new client added in this app.
Post meeting notes from the app to a specific Notion page.
Connect ClickUp and show my tasks by status and due date in a dashboard.
Create a new ClickUp task when a new record is added to my Requests entity.
When a request is marked as urgent, assign a ClickUp task to a teammate and set a due date.
Sync ClickUp task status back into this app so I can track progress here.
Post a Slack update when a ClickUp task moves to Done.
Connect Wrike and show tasks for a selected project in a dashboard.
Create a Wrike task when a new bug is reported in this app.
Sync Wrike task status and assignee into my internal tracker table.
Notify me when Wrike tasks are overdue.
Generate a weekly Wrike project status report and email it to me.
Connect Box and list files and folders for this project inside my app.
Upload new files from this app to a selected Box folder.
Keep a Box folder in sync with records in my Files entity.
Create a simple approval flow for Box files, and post status updates to Slack.
Search Box for files by name and show results in a table.
Sync new leads from this app into Salesforce.
Show Salesforce opportunity stages inside my project dashboard.
Log customer support requests in Salesforce automatically.
Update Salesforce contact records when app data changes.
Pull recent Salesforce tasks into a daily action list in my app.
Sync new leads from this app into HubSpot contacts.
Show HubSpot deal stages inside my project dashboard.
Create HubSpot contacts when users sign up in this app.
Update HubSpot deal values when orders are placed.
Import HubSpot contact lists to segment users in my app.
Post a status update to my LinkedIn feed when I publish a new article.
Share company announcements to my LinkedIn profile.
Post project milestones to LinkedIn automatically.
Create a LinkedIn post when a new blog post is published.
Draft a LinkedIn post and let me approve it before publishing.
Show my TikTok profile stats and follower count in a dashboard.
List my recent TikTok videos with their view counts.
Display my TikTok bio and verification status.
Show my total likes, followers, and video count from TikTok.
Create a gallery of my TikTok videos.

Using connectors

Once you connect a tool to your app, you can reuse it across pages, flows, and backend functions in that app. In the AI chat, you can ask Base44 to build pages, tables, dashboards, or automations that read from or write to that connector. When you include a connector in a flow, Base44 also creates a backend function in DashboardCodeFunctions. Open that function to review the generated code. You can edit it yourself or prompt the AI chat to update it so it uses the connector the way you need. For example: Send a Slack message to #product-updates when this function runs. If you later add a flow that needs extra permissions, you may be asked to review and approve the new actions and permissions for that tool.
Code editor showing a Base44 backend function that posts a message to the #product-updates Slack channel.

Managing connectors

View and manage your app’s connectors, review what each can access, and switch or disconnect the connected account per tool as needed.
App dashboard showing the Integrations page with the My integrations tab selected, listing connected tools and a View access button.
To manage your connectors:
  1. Go to your app’s dashboard and click Integrations.
  2. Click the My integrations tab.
  3. For each connector, choose what you want to do:
    • View access: Check the permissions granted to the app.
    • More actions: Switch or disconnect an account. The new account is used for future actions.
    • Reconnect: Connect an account again.

Connector permissions

When you connect a tool, the connector requests a set of permissions, also called scopes. These define what your app can do with the connected account. Depending on what you build, you are prompted to authorize only the permissions required for that flow. Base44 only uses permissions to support the features you enable, so you always stay in control of what your app can access.
Important: The use of raw and derived information received from Google Workspace APIs will adhere to the Google User Data Policy, including the Limited Use requirements.
AI chat showing the Slack connector with required permissions and a Connect to Slack button.
Click a connector below to see the permissions it may request, depending on the flows you build.
Scope lists can change as providers update their APIs. Always review the permissions shown when you connect a tool because they reflect the current access your app is requesting.
These permissions allow your app to send and manage email using your connected Gmail account.
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.compose
These permissions allow your app to work with Google Docs, Sheets, Slides, and Drive files.Docs
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/documents.readonly
Sheets
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/spreadsheets.readonly
Slides
https://www.googleapis.com/auth/presentations
https://www.googleapis.com/auth/presentations.readonly
Drive
https://www.googleapis.com/auth/drive.file
These permissions allow your app to read and manage Google Calendar events and availability.
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.freebusy
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.calendarlist.readonly
https://www.googleapis.com/auth/calendar.events.public.readonly
https://www.googleapis.com/auth/calendar.settings.readonly
These permissions allow your app to read data from BigQuery datasets and tables.
https://www.googleapis.com/auth/bigquery.readonly
These permissions allow your app to read data and edit management entities.
analytics.readonly
analytics.edit
The Slack User connector requests permissions required to read and manage channels, messages, files, reactions, reminders, user data, and workspace settings.
channels:read
channels:write
channels:history
chat:write
chat:read
files:read
files:write
groups:read
groups:write
groups:history
im:read
im:write
im:history
mpim:read
mpim:write
mpim:history
reactions:read
reactions:write
users:read
users:read.email
team:read
usergroups:read
usergroups:write
pins:read
pins:write
bookmarks:read
bookmarks:write
reminders:read
reminders:write
stars:read
stars:write
search:read
emoji:read
dnd:read
dnd:write
links:read
links:write
These permissions allow your app to send messages to Slack channels using a bot identity.
app_mentions:read
channels:history
channels:join
channels:read
chat:write
chat:write.customize
chat:write.public
commands
files:read
files:write
groups:history
groups:read
groups:write
im:history
im:read
im:write
reactions:write
users:read
mpim:read
mpim:history
These permissions allow your app to send messages and post updates to channels in the Discord servers you authorize.
The Discord connector does not support viewing or sending direct messages (DMs).
identify
guilds
email
guilds.members.read
guilds.join
gdm.join
messages.read
connections
These permissions allow your app to access GitHub data such as repositories, issues, and pull requests. Some flows may also request permission to create or update issues.The exact scopes requested depend on the flows you build and may include access to repositories and organization data.
The Notion connector allows your app to read and update content, create pages and comments, and access user information within the workspace you authorize.
read_content
update_content
insert_content
read_comments
create_comments
read_users
The ClickUp connector uses ClickUp’s OAuth authorization model. When you authorize the connector, it can access ClickUp resources such as tasks, lists, and spaces based on the permissions you already have in your workspace.
These permissions allow your app to access Wrike workspace data.
Default
wsReadOnly
These permissions allow your app to access and manage files and folders in the connected Box account.
root_readwrite
These permissions allow your app to access Salesforce APIs, user identity data, CRM records, content, analytics, marketing tools, and customer data platform services.
api
refresh_token
full
web
id
openid
profile
email
address
phone
offline_access
custom_permissions
wave_api
chatter_api
visualforce
content
cdp_api
cdp_profile_api
cdp_query_api
cdp_segment_api
interaction_api
cdp_ingest_api
pardot_api
These permissions allow your app to read and write CRM data, manage deals, quotes, tickets, marketing tools, automation, forms, files, and analytics data.
crm.objects.contacts.read
crm.objects.contacts.write
crm.objects.companies.read
crm.objects.companies.write
crm.objects.deals.read
crm.objects.deals.write
crm.objects.owners.read
crm.objects.quotes.read
crm.objects.quotes.write
crm.lists.read
crm.lists.write
crm.schemas.contacts.read
crm.schemas.companies.read
crm.schemas.deals.read
tickets
e-commerce
automation
forms
files
content
social
analytics.read
These permissions allow your app to manage profiles, company pages, posts, and advertising insights.
openid
profile
r_ads_reporting
r_organization_social
rw_organization_admin
w_member_social
r_profile_basicinfo
r_ads
r_verify
w_organization_social
rw_ads
r_basicprofile
r_organization_admin
email
r_1st_connections_size
These permissions allow your app to access profile data and read performance metrics.Product
Login Kit
Permissions
artist.certification.read
artist.certification.update
user.info.basic
user.info.profile
user.info.stats
video.list

Individual account connections

Connectors are app level integrations. When you connect a tool like LinkedIn, Slack, Slack Bot, Gmail, Google Workspace, or BigQuery, your Base44 app uses a single shared account for that connector that everyone in the app shares. If you need each person to connect their own account, you need to create a custom per user OAuth flow using backend functions and the provider’s API. Connectors do not support this scenario.
Important: Per user OAuth is an advanced integration pattern. Exact endpoints, scopes, and parameters depend on the provider, so always follow the provider’s OAuth documentation together with the steps above.
To build a per person OAuth flow:
  1. Plan the OAuth flow with Discuss mode: Use Discuss mode in the AI chat and describe what you want, for example: “Each person should connect their own LinkedIn account. Help me design the OAuth flow with backend functions.” Work with the AI to outline the redirect, callback, token storage, and token refresh steps based on the provider’s documentation.
  2. Implement the OAuth flow in backend code: Use backend functions (and the plan you created in Discuss mode) to:
    • Send people to the provider’s authorization page.
    • Receive the authorization callback.
    • Store user specific tokens securely in your app’s data.
    • Add token refresh logic if the provider uses expiring tokens.

FAQs

You can connect your Base44 app to Gmail, Google Workspace tools (Drive, Docs, Sheets, Slides), Google Calendar, Google BigQuery, Google Analytics, Slack User, Slack Bot, Discord, GitHub, Notion, ClickUp, Wrike, Box, Salesforce, HubSpot, LinkedIn, and TikTok, with more tools coming.To see the most up-to-date list, go to your app’s dashboard and click IntegrationsBrowse.
  • Slack User connects as a user in your Slack workspace and allows your app to read and interact with workspace data.
  • Slack Bot connects as a bot in your Slack workspace and allows your app to send messages as a configurable bot in Slack channels and power bot-based workflows.
Yes. You can connect multiple tools to the same app.
Each app uses one account per connector type, for example a single Gmail account for a Gmail connector or a single Slack account for a Slack connector. To connect to a different account, click the More actions icon and choose Switch account.
When you connect a tool, the Required permissions list shows the OAuth scopes and capabilities that your app will be able to use, such as reading or writing data. The connector can only perform actions that match the permissions you approved for that tool in this specific app.To see the exact scopes and permissions for each connector, review the Connector permissions section above.
If you build a flow that requires additional permissions from a connector you already connected, Base44 prompts you to review and approve the updated permissions for that tool before the flow can run.
Any teammate who can edit the app can connect an external tool. Each app uses one connected account per tool. Once connected, all teammates who can edit the app can use the shared connector in that app. People who use your published app interact with data and actions powered by that connector; they do not connect their own accounts.
Yes. You can still create custom integrations and use manual integrations for custom APIs or advanced workflows. Connectors focus on managed, OAuth-based connections to popular tools.
  • Connectors are managed, OAuth-based connections to popular tools that you can set up from the AI chat without handling API keys. They are designed for quick, no-code connections to external tools.
  • Integrations include custom and manual integrations, where you configure API keys and credentials yourself. Use integrations when you need fine-grained control over a specific API or a tool that does not yet have a connector.