Skip to main content

Overview

Every message your team exchanges (email, SMS, voice, or chat) belongs to one running Conversation. Threading is how Custral decides what joins an existing conversation and what opens a new one, so a back-and-forth stays in a single place instead of scattering into loose messages.

The conversation lifecycle

1

A message arrives

An inbound email (or SMS, call, or chat) reaches a connected Channel.
2

It's matched to a conversation

Custral matches the message to an existing Conversation by its Message-ID / reply headers and participants. No match opens a new Conversation.
3

It's assigned and replied to

The Conversation has an owner (personal channel) or is routed to a team (shared channel). Replies go out on the same channel and stay on the thread.
4

It's resolved

A disposition or outcome wraps the Conversation up, which feeds reporting.

One conversation, every channel

Because email, SMS, voice, and chat share the same Conversation model, a thread isn’t email-specific: a call or text with the same contact links onto the record’s timeline alongside the email. Assignment, dispositions, and timeline events apply across the whole Conversation, not per message.

When a message joins vs starts a thread

Threading is automatic. There’s nothing to configure. If replies are starting new threads unexpectedly, see Troubleshooting.

See also