# Integrations (/integrations)





Connect workflows to Gmail, Slack, GitHub, HubSpot, and other services using OAuth, a supported API token, or a service account. Select the saved connection in the block that needs it.

You can connect **multiple accounts per service**, such as separate work and personal Gmail accounts.

## The Integrations page [#the-integrations-page]

Click **Integrations** in the workspace sidebar. Search for a service or choose one from **Featured**. Saved accounts appear under **Connected**.

<Image src="/static/docs-captures/integrations.webp" alt="The current Integrations page with search, featured services, and categorized integrations" width="1640" height="1000" variant="overview" background="ridges" />

The page's second tab, **Skills**, holds your workspace's [agent skills](/agents/skills).

Open a service to see what it offers:

* **Skills** — ready-made capabilities you add with one click, like *upsert-contact* for HubSpot.
* **Templates** — starter workflows built around the service.
* **+ Add to Sim** — connects your account.

## Connecting with OAuth [#connecting-with-oauth]

1. Open the service's page and click **Add to Sim**. If a menu appears, choose **Connect with OAuth**.
2. Enter a **Display name** to identify this connection (e.g. "Work Gmail" or "Sales HubSpot"), and optionally a **Description**.
3. Review the **Permissions requested** — these are the scopes Sim will ask the provider for.
4. Click **Connect** and complete the provider's sign-in and approval flow.

<Image src="/static/docs-captures/hubspot-connect.webp" alt="The connect dialog (HubSpot shown) with display name, description, and the permissions requested" width="990" height="1070" variant="detail" background="architecture" className="mx-auto w-full max-w-xl" />

When the provider redirects you back, the connection appears under **Connected**.

For API tokens and service accounts, select the corresponding option from **Add to Sim** and follow the setup guide under that service. These connections have different fields and rotation requirements.

## Using integrations in workflows [#using-integrations-in-workflows]

Blocks that require authentication (e.g. Gmail, Slack, HubSpot) display an account selector. Select the connected account you want that block to use.

You can also connect another account directly from the block by selecting **Connect another \[service] account** at the bottom of the dropdown.

If a block requires an integration and none is selected, the workflow will fail at that step.

## Using a credential ID [#using-a-credential-id]

Use a connection's credential ID to select it dynamically, such as routing workflow runs to different Gmail accounts based on a variable.

To copy a credential ID, open the connection from the **Connected** list and use the copy control next to its name.

Click **Switch to manual ID** next to the block's account selector.

Paste or reference the credential ID in that field. You can use a `{{SECRET}}` reference or a block output variable to make it dynamic.

## Managing a connection [#managing-a-connection]

Open a connection from the **Connected** list to manage it:

* Edit the **Display name** and **Description**.
* Manage **Members** — invite teammates and assign them an **Admin** or **Member** role. Admins can edit, reconnect, disconnect, and manage access; Members can use the connection in workflows. When you connect an account, you are its Admin.
* **Reconnect** — re-authorize if the connection expired or you need updated permissions.
* **Disconnect** — remove the connection entirely.

<Callout type="warn">
  If you disconnect an integration that is used in a workflow, that workflow will fail at any block referencing it. Update blocks before disconnecting.
</Callout>

## Token renewal and connection failures [#token-renewal-and-connection-failures]

Sim attempts OAuth token renewal when a provider supports it and the connection has a usable refresh token. A revoked or expired refresh token can make a block fail even when the saved connection still appears in **Integrations**. A credential Admin can open it and select **Reconnect** to authorize again.

OAuth tokens are encrypted before storage. The account selector and credential ID reference the saved connection; they do not expose its token. API tokens and service-account secrets have provider-specific rotation rules documented in their setup guides.
