Book a demo

Guides

Connect your apps

Connect the apps you use with OAuth, and, as an org admin, add your own APIs and OAuth providers without a secret ever entering the chat.

Keyboard can only reach apps that have been connected. There are two kinds of connection:

  • Your accounts. Apps you sign in to yourself (Slack, GitHub, Google, Notion, and thousands more). Any member can connect these.
  • Org connectors. APIs and OAuth providers an org admin adds for the whole organization: your internal APIs, or a service Keyboard doesn't cover out of the box.

Either way, credentials are stored by Keyboard and attached to requests at execution time. They never appear in code, logs, or the model's context.

Connect your own accounts

The easiest way is to ask your AI client:

  • "Connect my Slack and GitHub accounts to Keyboard."
  • "I want to work with Google Docs. Connect it."

Keyboard opens its connector, already filtered to the apps you named. Pick the app and sign in through its usual OAuth page (or enter an API key where the app uses one). In clients that support interactive widgets, such as Claude desktop and ChatGPT, the connector appears inline in the chat. Elsewhere, including Claude Code, you get a link to open in your browser.

You can also manage connections directly on Keyboard's connect page.

You don't have to connect everything up front. When a task needs an app you haven't connected, Keyboard prompts you to connect it before it continues.

See what's connected

  • "Which apps do I have connected through Keyboard?"

Reconnect or disconnect

If an app's sign-in expires or you revoke access on the app's side, tasks that use it fail with a missing-account or authorization error. Ask your client to reconnect it, for example "Reconnect my Google account." The same connector lets you disconnect an app you no longer want Keyboard to reach.

Add org connectors (admins)

When your organization needs an API or OAuth provider that isn't in the catalog, an org admin can add it as a connector. You can describe the connectors in plain language, and the agent sets up to 20 at a time:

  • "Add our internal billing API as a connector. Here's its base URL. It uses an API key in the X-API-Key header."
  • "Set up Acme as an OAuth provider. Here are its authorize and token URLs."
Warning

Never paste an API key, token, client ID or client secret into the chat. The agent creates each connector without its credential and gives you a setup link to the Keyboard dashboard, where an admin types the secret in. Requests that include a secret are refused.

There are two kinds of org connector:

For REST APIs called with an API key or bearer token, including your own services.

  • Base URL and auth style. Either a key sent in a named header, or Authorization: Bearer <token>.
  • Allowed hosts. The credential is only ever sent to these hostnames. This defaults to the host of the base URL.
  • Endpoints. Declare the methods and paths that may be called. Nothing can be called through the connector until it has endpoints, either declared by the agent when it's created or added later on the dashboard.

For services that use OAuth 2.0.

  • OAuth URLs. Authorize and token URLs, plus optional refresh and revoke URLs.
  • Scopes. The scopes requested when a member connects.
  • Allowed hosts. The hostnames the access token may be sent to.

The setup page shows the redirect URI to register with the provider. Once an admin saves the client ID and secret, members connect the provider like any other app.

Changing a connector

Ask the agent to change a connector's settings, for example "Rename the billing connector to Billing API." Once a connector has its credential, the settings that decide where that credential is sent (OAuth URLs and allowed hosts) can only be changed on the dashboard. This keeps a secret from being redirected to a new host from chat.

Troubleshooting

  • "Missing account" or "not connected" errors. The task needs an app you haven't connected. Ask your client to connect it, then retry.
  • An org connector was created but nothing works. An admin still needs to enter its credential at the setup link. For API-key connectors, check that endpoints have been declared.
  • I don't see a connector my team uses. Org connectors are added by org admins. Ask one to set it up, or to make you an admin.