Setup
- Go to Project → Inbox Embeds
- Create an access token with a name and scope
- Copy the embed URL or iframe snippet
Embed code
Scopes
Control which conversations are visible:| Scope | Conversations shown |
|---|---|
project | All conversations in the project |
whatsapp_config | Conversations for a specific WhatsApp number |
customer | Conversations for a specific customer |
Filter by assignee
Optionally setassigned_user_id on the token to only show conversations assigned to a specific team member. The token will only return conversations with an active assignment to that user.
Security
Allowed origins
Whitelist domains that can embed the inbox. Supports wildcards (*.example.com). Leave empty to allow any origin.
Allowed origins are enforced via both CORS validation on API requests and Content-Security-Policy: frame-ancestors on the iframe page.
Token expiration
Optionally set an expiration date on the token. Expired tokens return a 401 error.Query parameters
Pre-set filters and theme by passing query parameters to the embed URL. These apply as initial state when the iframe loads.Filters
| Parameter | Values | Default | Description |
|---|---|---|---|
status | active, ended, all | active | Conversation status filter |
search | string | "" | Pre-fill the search box |
whatsapp_config_id | UUID or all | all | Filter by a specific WhatsApp number |
unread | 1, true, or omit | all | Show only unread conversations |
handoff | 1, true, or omit | all | Show only conversations waiting for human handoff |
Theme
Set the default theme when creating the token:system, light, or dark.
Override the theme via the mode parameter:
Feature differences
Disabled in embedded inbox
- Assignments
- Starting new conversations
- Browser notifications
- Contact notes (hidden entirely)
Available in embedded inbox
- Status, WhatsApp number, and search filters
- Send text, media, and interactive messages
- Workflow handoff (Handoff button works)
- Contact display name editing
- Real-time WebSocket updates

