Skip to main content
The embed system renders the full Recover dashboard inside your application via an iframe. Authentication is handled via short-lived tokens — your end users never need to create a Recover account or log in.

Generate Embed Token

POST /accounts/:id/embed-token
integer
default:"28800"
Token lifetime in seconds. Default: 28800 (8 hours). Max: 86400 (24 hours).
string
default:"full"
Which view to show: full, conversations, leads, sequences, settings
string
Display name for the embedded user (shown in manual messages)
string
default:"admin"
Permission level: owner, admin, member
Response: 200 OK

Iframe Setup

Drop a single iframe tag into your page:

View Modes

Control which part of the dashboard is visible: Append &view=conversations to the embed URL, or set it when generating the token.

White-Labeling

Branding is configured at the account level (see Create Account). The embed automatically applies:
  • Logo: Your logo replaces the default logo in the sidebar and header
  • Accent color: Buttons, links, and active states use your color
  • Company name: All AI references use the account’s company_name
The embed never shows Recover branding to your end users. It’s fully white-labeled.

Responsive Sizing

The embed is fully responsive. Set the iframe width to 100% and provide a minimum height of 500px. For best results, use height: calc(100vh - 64px) to fill the available viewport.

Cross-Frame Events (postMessage API)

The embed communicates events to your parent window via postMessage. Listen for events to react to user actions inside the embed.

Token Refresh

Tokens expire after the configured expires_in period. The embed emits a recover:token_expiring event 5 minutes before expiry. To refresh without a page reload: