Skip to main content
Embed the inbox into your own application via iframe. Useful for CRM integrations, customer portals, or internal tools.

Setup

  1. Go to Project → Inbox Embeds
  2. Create an access token with a name and scope
  3. Copy the embed URL or iframe snippet

Embed code

<iframe
  src="https://inbox.kapso.ai/embed/{token}"
  style="width: 100%; height: 100%; border: 0;"
></iframe>
Real-time message updates work automatically via WebSocket.

Scopes

Control which conversations are visible:
ScopeConversations shown
projectAll conversations in the project
whatsapp_configConversations for a specific WhatsApp number
customerConversations for a specific customer

Filter by assignee

Optionally set assigned_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

ParameterValuesDefaultDescription
statusactive, ended, allactiveConversation status filter
searchstring""Pre-fill the search box
whatsapp_config_idUUID or allallFilter by a specific WhatsApp number
unread1, true, or omitallShow only unread conversations
handoff1, true, or omitallShow only conversations waiting for human handoff
Example — open the inbox pre-filtered to unread handoff conversations:
https://inbox.kapso.ai/embed/{token}?status=active&unread=1&handoff=1

Theme

Set the default theme when creating the token: system, light, or dark. Override the theme via the mode parameter:
https://inbox.kapso.ai/embed/{token}?mode=dark
The user’s choice is persisted in localStorage for subsequent visits.

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