Shared SMS inbox
Work inbound and outbound conversations with humans and agents without duplicate replies.
Open Messages in the dashboard to search organization-scoped conversations by remote number, inspect delivery state and segment charges, assign work, add internal notes, and reply. The API mirrors the same model under /v1/sms/conversations.
One conversation exists per workspace, local number, and remote number. It snapshots the active campaign while retaining the selected sender. Inbound messages remain visible even if the campaign later drifts or is unassigned; outbound sending stays blocked until readiness is restored.
Human workflow
PATCH /v1/sms/conversations/{id}changesstatus(open,closed, orspam),assigned_user_id,assigned_agent_id,recipient_timezone, orautomation_status.POST /v1/sms/conversations/{id}/readclears unread state.POST /v1/sms/conversations/{id}/notesadds an internal note that is never sent to the recipient.POST /v1/sms/conversations/{id}/messagesqueues a reply using the conversation's sender and recipient.DELETE /v1/sms/conversations/{id}immediately redacts message and note content. It is owner/admin-only and retains minimal billing/compliance facts.
A dashboard human reply pauses automation. New inbound messages do not resume it. Use an explicit automation_status: "enabled" update when handing the thread back to the agent.
Agent automation
Automation is off by default and must be enabled for the organization defaults, the receiving number, and the conversation. Initial routing uses the number's assigned agent; assigned_agent_id can override it for one conversation.
Speko coalesces short inbound bursts, serializes turns with a conversation lease, supplies recent SMS history, and instructs the agent to answer in concise plain text. Failed model turns are not retried automatically, preventing duplicate replies and duplicate LLM charges.
STOP/START/HELP processing always runs before customer webhooks or agent execution. Suppression pauses automation and cannot be bypassed by assigning another sender.