Open Widgets in the dashboard
Everything on this page starts here.
The Three Modes In One Flow
A chat widget is not one bot style. You mix three, card by card, in the same conversation:Scripted
Buttons, questions, branches. The visitor walks exactly the paths you drew.
Nothing is improvised, so nothing goes off-script.
AI
An AI assistant card hands the conversation to a model for as long as it
takes — with your prompt, your functions and your data.
Human
A handoff card gives the conversation to a teammate, who replies from
Contacts in the same window.
This is not the same thing as a WhatsApp or Instagram chat agent, which is
prompt-driven end to end. A chat widget uses an agent in flow mode, and flow
mode is only supported on the widget channel.
What We Support
What The Visitor Gets
The panel opens on a home screen with your greeting, your knowledge base, and two things to do:Chat with us
Starts a new conversation, or picks up the one they left.
Conversations
Their own past conversations, readable in full.
uid — see
Variables and identity.
How It Works
1
Build a chat agent in flow mode
Create a chat agent on the widget channel with mode Flow, then draw
the conversation on the canvas.
Chat agents →
2
Publish it
A flow only goes live when you publish the version. The builder blocks
publishing while anything is unwired, so a half-built flow cannot reach a
visitor.
3
Create a chat widget
In Widgets, create a widget of type Chat pointing at that agent. You
get a widget id.
Widgets →
4
Put it in your site or app
One URL, one script tag, or a few lines of Swift, Kotlin or JS.
Install →
5
Watch it in Contacts
Every conversation becomes a contact with a full transcript, and a teammate
can reply from there.
Contacts →
Where Conversations Appear
Everything a chat widget produces lands in Contacts, not Call History.- A contact row is created for every conversation, even an anonymous one. Filter the channel to Widget to see only these.
- Opening a contact shows the full transcript, the variables the flow collected, any functions the AI card ran, and — if a human is involved — who it is assigned to.
- A teammate can reply straight into that transcript and the visitor sees it immediately, without refreshing.
- The timeline also carries private notes and lifecycle events (transferred, ticket raised, chat ended) that the visitor never sees.
The flow’s variables are shown alongside the transcript. If your flow asked for
an order id, you can read it there without scrolling the conversation.
Limits Worth Designing Around
There is no idle timer: nothing is ever sent to a visitor unprompted, so there
is no “still there?” nudge and no auto-close.
Next Steps
Create a chat widget
Agent, flow, publish, widget
Card types
All fourteen cards and every field
The AI card
Prompt, model, functions, attachments, billing
Variables and identity
Templating,
uid, vars, contact keysAppearance and hours
Branding, business-hours notice, rich text
Human handoff
Availability, replying, notes, voice notes
Chat routing
Hours, away, no-reply, end-of-chat
Raise a ticket
Your own Python, run when nobody is free
Install in your app
Web, iOS, Android, React Native, Flutter
Build a flow with Claude
Describe the bot, import the JSON
Troubleshooting
When it will not load, or will not reply