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

# Conversations

> The thread model that unifies email, SMS, voice, and chat into a single timeline.

A **Conversation** is the data structure Custral uses to group every message between your team and one or more outside participants (across email, SMS, voice, and chat) into a single thread. The same row holds the messages, the participants, the assignment, the disposition, and any internal notes.

## Why one model for every channel

Channels differ in transport but agree on shape. Every conversation has:

* **Participants**: the outside people on the thread (identified by email or phone) plus the Custral users assigned.
* **Messages**: the ordered exchange. Each message belongs to a channel (email, SMS, voice, chat, or internal note) and carries content appropriate to that channel (an email body, SMS text, a call recording, and so on).
* **Linked records**: the records (contacts, deals, accounts) inferred from participants or set manually.
* **Assignment**: the user, queue, or pool currently responsible.
* **Disposition** and **outcome**. Set when the conversation closes; drives reporting and downstream workflows.

Treating these as one model means an email reply, a follow-up SMS, and a recorded call all land in the same place, and the agent doesn't have to context-switch.

## Threading rules

* **Email** uses standard email threading headers. Replies preserve the thread; new emails to the same recipient start a new Conversation unless explicitly linked.
* **SMS** is keyed by the participant phone number plus the Custral channel. Two messages between the same numbers within the open-conversation window thread; if all conversations are closed, a new one is opened.
* **Voice** calls always start a new Conversation (a phone call is a discrete event), but the matched participant's Conversation history is shown alongside.
* **Chat** is keyed by the visitor session; the same visitor reconnecting within the open-conversation window resumes the existing Conversation.

## Lifecycle

When a message arrives on any channel, Custral runs it through the same flow:

<Steps>
  <Step title="A message comes in">
    A visitor or sender emails, texts, calls, or starts a chat on one of your
    channels.
  </Step>

  <Step title="Custral finds or starts a Conversation">
    The message is matched to an existing thread by participant and channel, or
    a new Conversation is opened if there's no match.
  </Step>

  <Step title="Records are linked">
    Custral links the matching contacts, deals, or accounts by comparing the
    participant's email or phone to your records.
  </Step>

  <Step title="The thread is assigned">
    Your routing rules pick who's responsible. A specific user or a queue.
  </Step>

  <Step title="The assignee is notified">
    The responsible user gets a notification (push, email, or Slack) and can
    reply or set a disposition.
  </Step>

  <Step title="The reply is delivered">
    Custral sends the outbound reply back out on the original channel.
  </Step>
</Steps>

## Disposition vs outcome

* **Disposition** is the result of a single message exchange (e.g., Connected, Voicemail, Wrong Number). Set at the message level, mostly for voice.
* **Outcome** is the final result of the whole Conversation (e.g., Closed-Won, No-Reply, Resolved). Set when the Conversation is closed; feeds Reports.

Both lists are configured per-workspace under **Settings → Dispositions / Outcomes**.

## Internal notes & mentions

Internal notes appear inline in the thread but are never delivered externally. They're for your team only. `@`-mentioning a teammate in a note sends them a notification.

## See also

* [Inbox](/comms/inbox/overview): the surface for triaging conversations.
* [Channel Routing](/comms/sms/receiving): how inbound messages are assigned.
* [Workflows on conversation events](/automation/workflows/triggers): fire automations on outcome, assignment, etc.


## Related topics

- [Conversations](/dev/webhooks/events/conversations.md)
- [Conversation](/data/properties/select/conversation.md)
- [conversation.completed](/dev/webhooks/events/conversation-completed.md)
- [conversation.assigned](/dev/webhooks/events/conversation-assigned.md)
- [conversation.deleted](/dev/webhooks/events/conversation-deleted.md)
