Skip to content

Send and track a message

Validate readiness, submit safely, and follow asynchronous delivery states.

Updated View as Markdown

Send your first message

Submit a message only after confirming the conversation and connection are ready.

Prepare the request

  1. Fetch the conversation and confirm its active connection.
  2. Query capabilities for the intended message type.
  3. Generate a stable idempotency key for this user action.
  4. Send the message from your server.

Handle acceptance

An accepted message begins in a queued or submitted state. Show a pending state until a delivery event confirms the next transition.

Understand delivery states

Delivery is asynchronous and may transition after the create-message request returns.

Normalized lifecycle

State Interpretation
queued Accepted for processing
submitted Handed to the channel provider
delivered Provider confirmed delivery
read A supported channel reported a read event
failed Processing or provider delivery ended with an error

Reconciliation

Process webhook events idempotently and periodically reconcile long-running queued or submitted messages.

Navigation

Search for a question, a feature, or a task.

↑↓ to navigate↵ to openEsc to close