Automation

Inbox and automation

Use conversations, internal notes, replies, and workflow rules around customer messages.

Inbox model

A conversation belongs to a workspace, sender, and optionally a contact. It can be assigned to a team member, tagged, prioritized, and marked open, pending, resolved, or closed.

Inbox messages can be inbound, outbound, or internal notes. Outbound replies can be connected back to message records for delivery tracing.

Inbox is a customer portal feature. Use `/api/customer/inbox/*` with a customer session; use public `x-api-key` endpoints only for server-side message sending and status.

Automation rules

Automation rules run on supported triggers and execute actions such as sending a message, assigning a conversation, adding a tag, or calling a webhook.

Keep automation rules small and test them with dry runs before enabling them for production workflows.

Inbox and automation API routes

These authenticated customer routes support operator workflows. They are useful for dashboards and internal portals, not public client-side integrations.

GET/api/customer/inbox

List conversations with filters such as status, search, and assignee.

POST/api/customer/inbox/conversations

Create a conversation manually.

Create conversation
json
{
  "sender_id": "9f4b5d4c-0000-4000-9000-123456789abc",
  "phone_number": "212612345678",
  "subject": "Order follow-up",
  "priority": "normal",
  "tags": ["orders"]
}
POST/api/customer/inbox/conversations/{conversation_id}/reply

Send an operator reply and attach it to the conversation.

POST/api/customer/automations

Create an automation rule.

Create automation
json
{
  "name": "Tag failed deliveries",
  "trigger_type": "message.failed",
  "conditions": {},
  "actions": [
    {
      "type": "webhook",
      "params": {
        "url": "https://example.com/internal/message-failed"
      }
    }
  ],
  "status": "draft"
}

Need help?

Use Book Integration Help if you want setup help for OTP or automated customer messaging.

Next steps