Communication

Threaded Conversations for AI Agents

Every outbound and inbound email is organized into conversation threads automatically. Your agent gets full context for every interaction — with human override when needed.

How it works

1

Send with a mailbox ID

Include mailboxId in your send request. A thread is automatically created (or matched to an existing one) for the mailbox + recipient pair.

2

Replies are linked automatically

When the recipient replies, the inbound email is matched to the same thread using In-Reply-To headers or sender-recipient matching. The thread status transitions from waiting to open.

3

Track the full conversation

GET /v1/threads/:id returns all outbound and inbound messages in chronological order. Your agent has full context for every interaction.

4

Status lifecycle

Threads follow a status lifecycle: open (has unread inbound), waiting (awaiting reply after outbound), resolved, and escalated. Status transitions happen automatically.

5

Human override when needed

Threads that need human attention enter override queues. Operators can approve, reject, edit, or escalate — with a full audit trail for every action.

Send into a thread

POST /v1/outbound/send

POST /v1/outbound/send
{
  "recipientEmail": "alice@example.com",
  "templateId": "intro-outreach",
  "dedupeKey": "intro-alice-001",
  "payload": { "firstName": "Alice" },
  "sendReason": "initial outreach",
  "mailboxId": "mbx_abc123"
}

Built-in capabilities

Automatic Threading

Threads are created and matched automatically. No manual thread management required.

Reply Linking

Inbound replies are linked via In-Reply-To headers with fallback to sender-recipient matching.

Per-Mailbox Organization

Each mailbox has its own threads, sent view, inbox, and approval queue in the portal.

Override Queues

Three review queues — needs approval, blocked by policy, high risk — with approve, reject, edit, and escalate actions.

Status Lifecycle

Automatic transitions between open, waiting, resolved, and escalated with SLA tracking.

Audit Trail

Every override action produces an immutable audit event. Full traceability for compliance.

Full conversation context

Retrieve any thread with all messages in chronological order. Your agent sees every outbound send and inbound reply — complete context for informed decisions.

GET /v1/threads/:id

{
  "id": "thread-uuid",
  "contactEmail": "alice@example.com",
  "status": "open",
  "messageCount": 4,
  "messages": [
    {
      "direction": "outbound",
      "subject": "Intro",
      "bodyText": "Hi Alice...",
      "createdAt": "2026-02-24T10:00:00Z"
    },
    {
      "direction": "inbound",
      "subject": "Re: Intro",
      "bodyText": "Thanks, interested...",
      "createdAt": "2026-02-25T14:00:00Z"
    }
  ]
}

Give your agents full context

Automatic threading, reply linking, and human override queues. Every conversation is organized and auditable.