Skip to main content
Available on all Cloud plans; Self-Hosted requires Business or higher.
When an app or an automation calls an external service, it uses your credential. Credentials belong to you, not to the app or automation, and come in two kinds:
  • Connections: third-party accounts you authorize to Teable, such as Slack, Airtable, or Google Sheets.
  • Secrets: strings you store yourself, such as an API key or an access token.
You manage credentials in Settings → Integrations and grant them to individual apps and automations. Once granted, everyone who runs that app or automation uses the granting person’s credential. The value is never shown to anyone, and automation test results mask it.

Manage Your Connections and Secrets

Click your avatar in the lower left, then open Settings → Integrations. The page has three sections: My connections, My secrets, and Third-party apps you authorized. Integrations page in Settings with connections grouped by service and each account's usage, followed by My secrets and third-party apps you authorized Add secret asks for: Add secret dialog with Key, Value, and Description filled in Add a connection with Connect new account. Type a service name in the search box: the services Teable integrates itself are pinned at the top, and the Managed by Composio group below holds several hundred more that Composio authorizes. Both kinds are granted to apps and automations the same way, and neither exposes its value; they differ only in how app code reads them, covered under “Read a Credential in Code” below. Most services take a single OAuth round trip. A service marked with a key icon (Connects with an API key) opens a connect dialog instead and asks for the key that service issued you; Composio keeps that value and signs each request with it, and Teable never stores it. Stripe supports both. Its OAuth connects only live-mode accounts, so to test an app in test mode, choose Stripe with API key in the Connect new account list, or click Add API key on your existing Stripe group, and enter a key that starts with sk_test_. After you switch the app’s grant to this account, the app code does not need to change. You can connect more than one account to the same service, such as a work and a personal Gmail address. My connections groups accounts by service and shows the account count next to each group. A service you have already connected no longer appears in the Connect new account list; to connect another account, click Add account on that service’s group. Each account is shown by its email or username on that service, and you pick it by that name when granting it to an app or automation. Authorizing the same account again updates the existing connection instead of adding a new row. If the service doesn’t return a recognizable name, click Rename in the account’s menu to give it a name you can tell apart. When an authorization expires, the account shows Needs reconnecting. Click Reconnect in the account’s menu. Under each credential, a line reads Used by N resources, followed by tags for up to three apps or automations; click a tag to open that resource in a new tab. Any others sit behind +N, which opens a Where it is used list showing when each grant was made. To stop a resource from using the credential, click the × (Remove grant) on its tag or in the list and confirm. The resource keeps a Not bound yet placeholder.

Grant a Credential to an App or Automation

Open the resource’s credential panel:
  • Apps: in the App Builder chat panel, open + → More → Credentials & config.
  • Automations: open the workflow and click Credentials & config on the Edit workflow tab.
Grant offers three routes: Grant existing credential picks one of your secrets or connections; Add secret creates one and grants it right away; or pick a third-party service from the Services list, which runs an OAuth flow for a service you have not connected and grants directly for one marked Connected. Credentials & config panel of an automation with a placeholder that is not bound yet, a granted Gmail connection, and the Grant menu open Every grant needs a Variable name, the alias this credential has inside that app or automation. It follows the same naming rules as a secret key, and it is the name the code reads. The panel can also list Not bound yet placeholders. Copying an app, duplicating a workflow, and importing or duplicating a project carry over the aliases the code expects but none of the credentials. In the placeholder’s ⋯ menu, click Bind mine to supply your own credential so the app or automation can run. When an alias currently holds someone else’s credential, click Replace with mine in the row’s ⋯ menu to switch it to yours. To unbind a credential, click Remove in the ⋯ menu. The confirmation dialog has an Only remove the grant (keep placeholder) checkbox: when checked, it unbinds the credential and keeps the placeholder, so the code needs no change; when unchecked, the alias is removed as well. It is checked by default for someone else’s credential and unchecked for your own. When a project still has integrations that are not connected, a strip at the top of the page reads N integrations are not connected. Click Connect to open the integrations panel and connect an account or enter a key row by row. Closing the strip only silences the integrations that are empty right now; it comes back when a new one is left open. The panel only connects and authorizes; whether an automation runs is still decided by its own switch.
Editing a resource’s credential grants requires edit permission on that app or automation. You can only grant credentials you own.

Read a Credential in Code

Paste something that looks like a key into an automation input field and Teable stores it as your secret, leaving a reference in place, so the plaintext never lands in the workflow configuration. Click Undo in the notice if you would rather keep the text as typed.

Credits for Third-Party App Calls

Calling a third-party app through a connection consumes the space’s credits, whether the call comes from AI chat, an app, or an automation. These charges are listed under type Third-party apps in Credit usage summary on the billing page. Most apps cost very little per call. Apps that bill Teable per returned resource or per request, such as X, cost noticeably more for a single call. Failed calls are not charged, and neither is looking up available tools. Once the space runs out of credits, these calls are refused.

Authorization Cards in AI Chat

When AI needs an external account, it pins a card headed Authorization required for this task to the conversation and waits for you before the turn goes on. Which card you get depends on who needs the credential. Connect card: appears when Cuppy itself has to read or write a service to finish the task, such as fetching mail from Gmail or writing to Notion. The card names the service; click Connect to run an OAuth flow or enter that service’s key. The turn resumes once the connection is made, and the connection is saved under My connections in Settings → Integrations. Services Teable integrates itself and services managed by Composio are both connected from this card, so there is no need to visit the settings page first. Skip withholds the connection, and Cuppy continues with the parts that do not depend on it. If connecting fails, the card shows the error: click Retry to try again, or Give up to end the request. Authorization card above the AI chat input asking to connect Gmail, with Skip and Connect Credential request card: appears when an app or automation you are building needs the credential at run time, naming the service it wants a connection for, or the alias it wants a secret for. The buttons depend on what you already have:
  • Connect …: appears when you have no account for that service yet. It runs an OAuth flow, and the new connection is granted to the resource automatically. Services that connect with a key show Enter … key instead.
  • A value field with Save & grant: appears when you have no secret for that alias yet. The value is saved as your secret and granted to the resource.
  • Grant mine: grants a connection or secret you already have. If the alias is already taken by another credential, the button reads Add mine and adds yours under a new variable name; if you asked to use your own credential instead, it reads Replace with mine.
  • Use …’s: appears when the alias already holds another member’s credential, to keep using theirs.
  • Skip: withhold the credential. AI continues with the parts that do not depend on it.
Sending a message in the composer while a card waits also closes the card and records it as Skipped; your message becomes the next instruction for that turn. If the credential is still needed later, ask Cuppy to request it again. For examples of this feature in use, read AI workflow examples across connected apps.

Replace, Delete, and Leaving a Space

Before you replace a secret value, delete a secret, or disconnect a connection, Teable lists the apps and automations still using it. Deleting and disconnecting break those resources immediately, so grant them a different credential first if they need to keep running. The old secret value cannot be recovered. After a new value is saved, an automation picks it up on its next run; an app picks it up when its preview environment restarts, and a published app when you republish it. When you leave a space where an app or automation still uses your credential, its tag on the Integrations page carries a warning icon; hover over it for an explanation. To stop providing the credential, click the × (Remove grant) on the tag.
Last modified on October 21, 2026