> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Phone Support in Salesforce

> Route phone conversations from OpenCX into the Salesforce console with full transcript and handoff context.

Phone conversations route through <Tooltip tip="Salesforce's real-time messaging layer. Conversations appear in the console as live chats routed through Omni-Channel.">Messaging for In-App and Web</Tooltip>. When the AI phone agent hands off a call, your rep picks it up as a conversation in the Salesforce console — with the full transcript attached and a clear handoff reason.

## Pre-requisites

<Warning>
  **Create your AI Phone agent first.** No calls can hand off until the agent exists and a number is bound to it — start with [Create Phone Agent](/phone/create-agent) and come back here.
</Warning>

* **AI Phone agent created and reachable on a number** — see [Create Phone Agent](/phone/create-agent) and [Inbound calls](/phone/inbound-calls).
* **Salesforce Live Messaging credentials saved** — see [Live Messaging setup](/integrations/salesforce/live-messaging).

## How conversations land in Salesforce

```mermaid theme={"dark"}
flowchart LR
  A[Caller dials your number] --> B[AI voice agent answers]
  B --> C{AI can resolve?}
  C -- Yes --> D[Call ends]
  C -- No --> E[Handoff]
  E --> F[Conversation + transcript in Salesforce]
  F --> G[Rep follows up on preferred channel]
```

## Setting up

<Steps>
  <Step title="Confirm the phone agent is live">
    Open [**Channels → Phone**](https://platform.open.cx/channels/phone) in the OpenCX dashboard. Your AI Phone agent should appear with an active number. Test a call to confirm the agent answers.
  </Step>

  <Step title="Confirm Live Messaging is connected">
    In [**Settings → Integrations**](https://platform.open.cx/settings/integrations), open **Salesforce → MIAW**. All six fields should be filled and saved.
  </Step>

  <Step title="Trigger a test handoff">
    Call the agent's number and say something like *"I need to speak with a person."* The AI should hand off.
  </Step>

  <Step title="Verify in the Salesforce console">
    The conversation should appear with the **full call transcript** attached. Confirm that routing attributes including `OpencxSessionId` are present, and that the handoff reason summary is visible.
  </Step>
</Steps>

## What the rep sees

* A **conversation in the Salesforce console** routed through Omni-Channel.
* The **full call transcript** (AI and caller, with timestamps) attached as messages on the conversation.
* `OpencxSessionId` routing attribute — the trace key to the recording and full debug view in OpenCX.
* The handoff reason (what the caller asked for, what the AI couldn't resolve) in the conversation summary.

## Channel-specific details

<AccordionGroup>
  <Accordion title="Transcript timing" icon="clock">
    The transcript is attached at handoff time, not live during the call. Reps see the conversation appear within a few seconds of the transfer or escalation flag.
  </Accordion>

  <Accordion title="Live transfer vs logged escalation" icon="arrow-right-arrow-left">
    Two handoff modes:

    * **Live transfer** — the AI bridges the caller to a configured phone number. The caller stays on the line. A Salesforce conversation still gets created with the transcript so your rep has context.
    * **Logged escalation** — the AI ends the call and creates the Salesforce conversation for a rep to follow up on a channel the caller prefers (email, SMS, callback).

    Configure the handoff phone number per agent at [**Channels → Phone**](https://platform.open.cx/channels/phone) → select the agent → **Agent Configuration**.
  </Accordion>

  <Accordion title="Caller identity" icon="id-card">
    When the caller is already a known OpenCX contact (matched by phone number), the identity token is authenticated. Unknown callers get an unauthenticated token with just the phone number until they identify further.
  </Accordion>

  <Accordion title="Recordings and OpenCX-side debug" icon="volume-high">
    Audio recordings and per-turn AI reasoning live on the OpenCX side. The session detail in the [Inbox](https://platform.open.cx/inbox) opens the full playback, reasoning trace, and any tool calls the AI made during the call.
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="AI Phone Support" icon="phone" href="/phone/introduction">
    The channel itself — create the agent, configure, inbound and outbound.
  </Card>

  <Card title="Live Messaging setup" icon="plug" href="/integrations/salesforce/live-messaging">
    JWT credentials, routing attributes, and connection.
  </Card>

  <Card title="Salesforce overview" icon="cloud" href="/integrations/salesforce/overview">
    What Salesforce lights up across every channel.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/integrations/salesforce/troubleshooting">
    Transcript missing, handoff not creating conversation.
  </Card>
</CardGroup>
