”This chat is not available.”
One message covers several causes on purpose: telling an anonymous visitor which one it is only helps somebody enumerate widget ids. Check them in this order.Your Widgets subscription is not active
Your Widgets subscription is not active
The widget is paused or deleted
The widget is paused or deleted
The widget id is wrong
The widget id is wrong
wgt_… id from the widget’s Integration tab. A voice
widget’s id will not work on chat.html — they are different widget types.The agent has never been published
The agent has never been published
The agent is not on the widget channel
The agent is not on the widget channel
The agent is in AI mode instead of flow mode
The agent is in AI mode instead of flow mode
The agent has no flow, or no start step
The agent has no flow, or no start step
”This conversation has expired. Please start again.”
The conversation could not be resumed. Normally this is simply true — a session resumes for 12 hours of inactivity and then starts fresh. It also appears when the flow was republished and the card the visitor was sitting on no longer exists. Sending them back to the start is the only coherent move; the alternative is a dead conversation with no explanation.The Bot Does Not Reply
It replies once and then stops
It replies once and then stops
An API or Run code card always takes the error exit
An API or Run code card always takes the error exit
The AI card never calls my function
The AI card never calls my function
- The code must define a tool decorated with
@tool. Without the decorator there is nothing to call. - The Description field is read as when to use this. If it only repeats what the function does, the model has no cue to call it.
- Some smaller models are weak at tool-calling. Try the card on a stronger model before concluding the function is wrong.
The AI card ends the conversation too early
The AI card ends the conversation too early
Nothing Appears In Contacts
- Filter the channel to Widget. Widget conversations are not in Call History and never will be.
- A conversation with no
uidand no phone number is keyed by a browser-minted visitor id — it is there, under a generated name like Visitor 7K2QM. - If replies appear only after a refresh, the live push is not reaching the dashboard. That is a server-side connection, not a browser setting.
In A Mobile App
Android WebView forgets the conversation every time
Android WebView forgets the conversation every time
domStorageEnabled is off by default in WebView, and the failure is
silent — the chat works, it just cannot remember anything, so every open
starts from the greeting.The visitor is a stranger on every device
The visitor is a stranger on every device
uid. Pass one if your app knows who they are —
Variables and identity.The microphone does not work
The microphone does not work
WebView you must also grant the page’s permission request
— a Custom Tab handles this for you.It Does Not Look Right
My logo is cropped
My logo is cropped
Business hours are never shown
Business hours are never shown
My bold shows as literal asterisks
My bold shows as literal asterisks
My FAQs do not appear
My FAQs do not appear
An image card shows a broken image
An image card shows a broken image
Still Stuck
Have these ready and it will be a much shorter conversation:- The widget id (
wgt_…) - The session id if you have it, or the contact in Contacts
- Roughly when it happened, with your timezone
- What you expected, and what happened instead