> ## 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.

# Conversations

> How OpenCX processes Intercom conversations, hands off to your team, syncs tags, and tracks resolution.

Once your Intercom workspace is [connected](/integrations/intercom/connect), OpenCX listens for conversation events via webhook and processes them in real time. This page covers the shared flow that applies to every channel — see [Web](/integrations/intercom/channels/web) and [Email](/integrations/intercom/channels/email) for per-channel specifics.

## How conversations flow

```mermaid theme={"dark"}
flowchart LR
  A[Customer messages] --> B[Intercom webhook]
  B --> C[OpenCX AI]
  C --> D{Can resolve?}
  D -- Yes --> E[AI replies in Intercom]
  D -- No --> F[Handoff note + unassign]
  F --> G[Rep picks up in Intercom]
```

## What the AI listens for

OpenCX processes five types of Intercom webhook events:

| Event                    | What OpenCX does                                                                                                                         |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **New customer message** | Creates a session and generates an AI reply. Skips outbound automations and bot-initiated conversations.                                 |
| **Customer reply**       | Continues AI processing on the existing session.                                                                                         |
| **Admin reply**          | Stores the reply in the conversation history for context. Does not trigger AI processing.                                                |
| **Assignment change**    | If the conversation is assigned to the AI admin and **Process on assignment** is enabled, the AI picks up and processes the full thread. |
| **Conversation closed**  | If closed while assigned to the AI admin, the session is marked as resolved with a summary and sentiment.                                |

<Note>
  Intercom classifies conversations as either **web** (Messenger) or **email** based on how the customer initiated contact. OpenCX maps these to its own channel types automatically.
</Note>

## Handoff to your team

When the AI decides it cannot resolve a conversation, it hands off in four steps:

<Steps>
  <Step title="Post an internal note">
    OpenCX posts an internal note to the Intercom conversation containing a summary of what the customer asked, the detected sentiment, and the conversation language. Your rep sees this immediately when they open the conversation.
  </Step>

  <Step title="Tag the conversation">
    The conversation is tagged `opencx_handed_off` so you can filter handoffs in your Intercom views and reports.
  </Step>

  <Step title="Unassign or reassign">
    Based on your [handoff assignment setting](/integrations/intercom/connect#settings-reference):

    * **Unassigned**: the AI admin is removed and the conversation enters your team's unassigned queue.
    * **Specific admin**: the conversation is assigned to the admin you configured.
    * **Specific team**: the conversation is assigned to the team you configured.
  </Step>

  <Step title="Session stays open">
    The OpenCX session remains open so the human rep's replies are tracked. The conversation history stays intact for reporting and audit.
  </Step>
</Steps>

## Tags OpenCX applies

| Tag                  | When it appears                                                                                                                                                                    |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `opencx_handed_off`  | AI decided to escalate the conversation.                                                                                                                                           |
| `opencx_ai_assisted` | Assist Mode posted a draft as an internal note. Assist is a [discouraged fallback](/integrations/intercom/troubleshooting#assist-mode-not-posting-suggestions) — prefer autopilot. |
| Session-level tags   | Any tags you define on the OpenCX session sync to the Intercom conversation automatically.                                                                                         |

## Full conversation sync

When **Full conversation sync** is enabled in [settings](/integrations/intercom/connect#settings-reference), OpenCX stores all conversation messages — even from conversations the AI never touched. No AI processing runs; messages are recorded as-is for reporting, analytics, and supervision.

<AccordionGroup>
  <Accordion title="When to enable full sync" icon="arrows-rotate">
    Enable this when you want OpenCX to be the single source of truth for all customer conversations. Useful for teams that use OpenCX reporting and insights but don't want the AI actively participating in every conversation.
  </Accordion>
</AccordionGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Connect Intercom" icon="plug" href="/integrations/intercom/connect">
    Credentials, webhook, admin selection, and settings.
  </Card>

  <Card title="Channels" icon="grid-2" href="/integrations/intercom/channels/web">
    Per-channel details for Web and Email.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/integrations/intercom/troubleshooting">
    Handoff not firing, AI not replying, duplicate messages.
  </Card>
</CardGroup>
