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.
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:1
A message comes in
A visitor or sender emails, texts, calls, or starts a chat on one of your
channels.
2
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.
3
Records are linked
Custral links the matching contacts, deals, or accounts by comparing the
participant’s email or phone to your records.
4
The thread is assigned
Your routing rules pick who’s responsible. A specific user or a queue.
5
The assignee is notified
The responsible user gets a notification (push, email, or Slack) and can
reply or set a disposition.
6
The reply is delivered
Custral sends the outbound reply back out on the original channel.
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.
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: the surface for triaging conversations.
- Channel Routing: how inbound messages are assigned.
- Workflows on conversation events: fire automations on outcome, assignment, etc.