> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.phonic.co/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.phonic.co/_mcp/server.

# Integrations

> Native integrations with Google Calendar, Notion, Salesforce, Zendesk, and Braintrust, and how to configure them through the API and MCP server.

Integrations are native connections between Phonic and third-party apps. You connect an app's account to a project once, then enable it on the agents that should use it. Phonic runs the integration for you, so there is no webhook endpoint or server to host.

# Available integrations

Action integrations give an agent tools that act in the connected app during a conversation:

| Integration     | `app_slug`            | What it does                                                      |
| --------------- | --------------------- | ----------------------------------------------------------------- |
| Google Calendar | `google_calendar`     | Create and update events in your Google Calendar during calls.    |
| Notion          | `notion`              | Search, read, and update pages or databases during conversations. |
| Salesforce      | `salesforce_rest_api` | Access and update customer records in real time during calls.     |
| Zendesk         | `zendesk`             | Create and update support tickets directly from conversations.    |

Observability integrations export an agent's logs:

| Integration | Name         | What it does                           |
| ----------- | ------------ | -------------------------------------- |
| Braintrust  | `braintrust` | Export the agent's logs to Braintrust. |

Each selected action becomes a tool the agent can call. Integration actions run in async mode: the agent keeps talking while the action runs. See [Sync vs Async Tools](/docs/build/tools/tools_overview#sync-vs-async-tools).

# Connect an account

Connecting or authorizing an account happens only in the dashboard, on the [Integrations page](https://phonic.ai/integrations). The API and MCP server cannot create, authorize, or remove a connection. A connection belongs to the project, and each app can have one connected account per project.

# Configure integrations through the API

Once an account is connected, you can choose which agents use it through the API.

**Action integrations.** The agent's `integrations` array lists the enabled integrations and their allowed actions. Read it with [`agents.get`](/api-reference/agents/get) and set it with [`agents.update`](/api-reference/agents/update). It is not accepted by `agents.create` or `agents.upsert`, so create the agent first and then update it. Setting `integrations` replaces the agent's whole list. Each entry has:

| Field          | Description                                     |
| -------------- | ----------------------------------------------- |
| `app_slug`     | One of the `app_slug` values above.             |
| `account_id`   | The ID of the account connected to the project. |
| `account_name` | The connected account's name, or `null`.        |
| `action_names` | The actions the agent may use.                  |

The API has no endpoint that lists a project's connected accounts or an app's available actions. To get valid `account_id` and `action_names` values, add the integration to one agent on the agent's page in the dashboard, then read that agent with `agents.get`. You can copy those values to other agents in the same project with `agents.update`. If an action in `action_names` is not available from the connected app, the conversation fails to start.

**Observability integrations.** Add the Braintrust key on the Integrations page, then set `observability_integrations: ["braintrust"]` with [`agents.create`](/api-reference/agents/create), `agents.update`, or `agents.upsert`.

# Configure integrations through the MCP server

Phonic's [MCP server](/docs/get-started/installation/mcp_server) exposes the same agent endpoints as the API, with the same limits. An MCP client can read an agent's integrations with the `get_agent` tool, set `integrations` with the `update_agent` tool, and set `observability_integrations` with `create_agent`, `update_agent`, or `upsert_agent`. It cannot connect or authorize an account, or list connected accounts or available actions. Do that on the [Integrations page](https://phonic.ai/integrations).