- You invite someone to a conversation — a candidate to an interview, a customer to a follow-up. The agent greets them by name and knows why they’re there.
- The values must not be changed by the visitor. A link’s values are stored on our side; the page and the link itself contain only a random code. Nothing the visitor does can change them.
Values passed in the embed code or the page URL are part of the web page, so visitors can see and change them (Pass details to the widget). Values in a widget link are not. Use a widget link for anything that decides what someone is allowed to do.
Who speaks first
It depends on the agent’s execution mode:
An Initiator agent’s widget only opens from widget links, so its widget channel has no Install Widget button. A page that embeds it without a link shows “This assistant is only available through a personal link.”
Create a link
From the agent
- Set the agent’s execution mode to Initiator and add a Widget channel.
- Click Start Conversation in the bottom toolbar and pick the widget channel.
- Fill in the Initial Parameters. Optionally add a Name (the agent sees it) and Your reference: your own id for this person, such as a candidate id, returned in workflow events.
- Pick Link expires after: 1, 7 (default), 30 or 90 days.
- Click Create link. Copy the link to send it, or the embed code to show the conversation on your own page.
From a workflow
Add a Conversation Flow node, pick the agent and its widget channel. Instead of a recipient, set the optional Name, Your reference and Link expires after; all three accept{{ }}. When the node runs it creates the link and passes it on to the step connected to its output — for example a Send Email step:
Like any step’s output, the link is saved in the workflow’s run history. Anyone who can view this workflow’s runs can open it, so keep the expiry short when that matters.
initialParameters. A typical recruiting workflow: a candidate applies → create a link → email it → when the conversation ends, score the interview.
From your server (API)
When your own backend knows who the visitor is — it already sends interview invitations, or renders the order page — create links with the Widget Launch API. Create a widget key in Settings → API access → Widget keys, thenPOST /v1/widget/launches with the agent, its widget channel and the values. You get back the link and the embed code for that one person.
From your AI assistant (MCP)
Thestart_conversation tool of the MCP server creates a widget link when you pick a widget channel. It returns the link and the embed code.
Open the link
- The hosted link opens a full-page chat — nothing to install.
- The embed code shows the same conversation inside your page. It looks like the regular widget snippet, with the link’s code instead of the agent’s ids.
- The first open starts the conversation. Opening the link again — later, or on another device — continues the same conversation.
- Two people opening the link at the same moment land in the same conversation, not two.
- After the conversation ends, the link shows “This conversation has ended.”
- After the expiry, a link nobody opened shows “This link has expired.” A conversation that already started keeps working until it ends.
Who can pass parameters
On a Responder agent, the widget channel’s Who can pass parameters setting decides which values count:
Choose Only widget links when every value matters — for example, when an actor or instruction depends on the visitor’s role.
See where values came from
In Conversations history, the Parameters block marks values from a link as Widget link, and values the visitor could change as Embed code or Page URL.Next
Pass details to the widget
Values from the embed code or the page URL.
Start a conversation
The Start Conversation form for every channel.
