Skip to main content
Start with the question that narrows it fastest: does the agent answer in the Playground? Choose Chat bubble for that test. The Email Playground is a formatting preview with no message composer; test its answers by sending a real email. If it answers there and nowhere else, the problem is the surface, and you want Nothing comes back on a channel or the widget. If it fails in the Playground too, the problem is the agent, and you want The answer is wrong or empty.

Your workspace role does not allow an action

Ask a workspace Owner to review your role under Workspace settings → Members. Viewers can read resources and use Playground and Compare, but cannot change agents or handle tickets. Support Associates can work in Helpdesk, but cannot configure agents or use Playground. Role changes and revoked access take effect on the next server request. See workspace roles.

Nothing comes back on a channel or the widget

Visitors and app users never see why: the widget and the mobile SDK show “This agent is temporarily unavailable. Try again later.” whenever the reason is meant for you, such as a plan or credit limit or a missing model key. Send the same message in Playground to read the reason.

It says the agent reached its monthly credit limit

You set a monthly cap and the agent has spent it. Credits depend on the selected model, each model request during a tool action, and any attached images or PDF pages. Playground and Compare also consume message credits. Usage resets on the first calendar day of each month in UTC. Raise the number or turn the cap off under Settings → General. On a messaging channel, the waiting messages are marked Needs review rather than lost, so your team can still answer them by hand. The cap is off unless you turned it on. If the message says the workspace has run out of credits, an Owner can upgrade or recharge in Workspace settings → Plans. Purchased credits do not expire. If a feature became unavailable after a plan change, check its plan requirements.

It says too many messages in a row

The rate limit. It ships at 20 messages every 240 seconds for each visitor, counted per browser across every conversation on your site. The visitor who reaches it waits until the window moves on, and everyone else keeps chatting. If every visitor sees it at once, your site sent ten times the limit in one window, the agent’s safety net against scripted traffic. Only website conversations count toward it; traffic on your other channels does not. Change it under Guardrails, up to 1000 messages over a window of your choosing.

It says the agent is unavailable on this domain

The embed allowlist is on and the site is not on it. Open Channels → Install, then Website widget or Website iframe, add the domain under Specific domains, one per line, and save the list. See Restricting which sites can load your agent.

The widget is hidden for some visitors

Open Playground → Chat bubble or Center Stage, then Display → A/B testing. When Show to a percentage of visitors is on, excluded browsers see no launcher or conversation. Their assignment persists across visits, so reloading or calling open() keeps the widget hidden. Set 100% or turn testing off, choose Save changes, and reload your site to check the installation. Browsers that block storage also stay hidden during a partial rollout if they cannot save an assignment. Help page and the Playground preview remain visible. See A/B testing.

The widget’s microphone does nothing or the call will not start

The call needs Voice to text (Dictation) on in Display settings, and voice on for the agent. If the visitor blocked microphone access, the widget says so; they have to allow it in the browser and try again. An inline chat whose iframe lost allow="microphone" cannot reach the microphone at all. See Voice calls in the widget.

The agent does not recognise a signed-in customer

The widget treats a visitor as signed in only when their signature checks out, and otherwise lets them chat anonymously without an error. Check that Settings, Identity is on, that your server signs with the current secret (rotating it invalidates every older signature), that a user hash is computed over exactly the user id you pass beside it, and that a token has not expired. The snippet must use embed.js?v=2 or later. See Identity verification.

The embed address shows a page not found

Either the agent ID in your snippet is wrong, or website chat was never one of this agent’s surfaces. Copy the snippet again from Channels → Install, which fixes the first. For the second, see Installing the chat on your website.

A messaging channel answers nothing at all

Work down this list. Are automatic replies on? Every connection is saved paused and stays that way until you turn it on. This is the most common cause by a distance. Does the connection say Needs attention? Provider access expires and gets revoked. Reconnect the account and grant the same permissions. Has the reply window closed? WhatsApp, Messenger and Instagram only allow a free-form reply within 24 hours of the customer’s last message, and that is the provider’s rule rather than ours. Past it, the agent cannot answer at all. On WhatsApp you can send an approved template from the ticket instead. Did someone take the conversation over? A teammate who took over, a customer who asked for a person, or a reply your team sent from the WhatsApp Business app or as your Facebook Page all pause that one conversation. For a Helpdesk live chat, open its ticket and choose Allow AI replies when your team is done. Resume other paused conversations from Channels. Did the customer reply STOP? On WhatsApp that opts them out until they send START. Is it a public comment? Comments on Messenger and Instagram posts never get an automatic reply, by design. Whether they become tickets depends on comment monitoring, which is off by default: with it on, a new public comment becomes a ticket for a person; with it off, the comment is discarded and nothing appears anywhere. Turn it on in the connection’s settings. Does the message say Needs review? Open it, the reason is written on it. The usual ones are an unconfirmed delivery, the hourly cap of about 200 automatic replies per connection, or an attachment the agent cannot read.

Everything is queued and nothing moves

Messages sitting on Queued across every connection, not just one, points at the background worker rather than at any channel. That is a deployment problem rather than a setting you can reach. Contact support.

Email arrives but no reply reaches the customer

Open the email conversation and check whether it is blocked, held as spam, waiting for the reply delay, or paused for a person. An unreadable attachment, including a scanned PDF without text, can hold the answer for review. Check forwarding and domain status in Settings → Email, then review the selected sender in the channel settings. Delivery receipts and errors appear on the conversation. Follow Email settings to test the complete route, or DNS authentication when the sender is not ready. If the conversation was handed to Zendesk, automatic replies stay paused until the ticket is Solved or Closed. A later manual takeover also keeps it paused. Check the connection’s webhook and trigger using the Zendesk handoff guide.

The answer is wrong or empty

It says it does not have that information

Usually true rather than broken. The agent answers from its knowledge and is told to admit it when the knowledge does not cover something. Has automatic training finished? Saving or importing a source queues training in the background. Check the status on Data sources and the individual source’s progress. Updated content becomes searchable when training finishes; a failed source retains its error so you can retry. Did the source import at all? A source on Needs import was never fetched. Use Refresh source. A source on Error failed, and opening it says which page or file. Is the content actually in there? Open the source and read what was extracted. A PDF made of scans yields nothing, and a page built by JavaScript sometimes yields very little.

It answers, but the answer is wrong

The agent writes from the six passages it judged most relevant. Wrong answers almost always mean it found the wrong six. Look for a contradiction. Two pages that disagree, an old policy page still on your site next to the new one. The agent has no way to know which is current. Remove the old source or exclude the outdated page. It stops being used immediately, and the remaining knowledge trains automatically. Pin the answer with a Q&A entry. For anything where the wording matters, a matched Q&A entry is used ahead of any searching. Add the question the way your customers actually phrase it, and the variants. On a surface with no actions configured it is sent word for word; with actions on that surface the model writes the reply from it instead. Files attached to the latest message also go through the model when AI is available, so the reply can address the files even when the question matches a saved answer. Trim rather than add. Every extra page competes for the same six slots. There is no relevance floor, so an agent with one good page and two hundred irrelevant ones can surface the irrelevant ones.

It will not hand over to a person

A customer asks for a human and the agent keeps trying to answer. Check the following under Tools:
  • Centillion Helpdesk is enabled for this agent. An Owner or Member can enable it in the tool setup or in Helpdesk inbox.
  • The right tool is enabled. Use Escalations for a follow-up ticket or Centillion live chat for a person to join now. A draft saved with Save does not run; choose Save & enable when it is ready.
  • The tool covers this channel. Live chat supports Chat bubble, Help page, Center Stage, the iOS and Android SDKs, email, Instagram direct messages, Messenger direct messages and WhatsApp. Only its three website channels are selected by default. Escalations defaults to Chat bubble, Help page and API, so check each action separately.
  • The trigger matches the request. Review When to use. If Only use in procedures is on, an active procedure available on this channel must reference and invoke the action.
Test on the selected customer channel; these helpdesk actions do not run in the Playground. Choosing a third-party helpdesk logo opens a contact dialog, so arrange that connection with the Centillion team before expecting tickets there. A follow-up ticket normally lets AI continue. To pause on ticket creation, enable Pause AI when a ticket is created under Helpdesk settings → Human handoff. Human-first conversations opens tickets before AI replies on website and mobile SDK conversations that do not already have a ticket.

The customer is waiting for live support

After a successful live-chat handoff, AI replies pause while your team handles the conversation. Open the Live chat ticket in Helpdesk, check its assignment and reply there. The customer can keep sending messages while waiting. For website requests, check Live alerts if your team did not receive a notification. Only enable live chat when someone can respond. If Resume AI when all tickets close is off, closing the ticket intentionally leaves AI paused; choose Allow AI replies when you want to hand the conversation back. A handoff on WhatsApp, Messenger, Instagram or email alerts your team in Slack only, and only while the same alerts are on and a Slack channel is chosen.

A reply in the Slack thread was not sent

When a reply in a handoff thread does not go to the customer, Centillion answers in the thread. Most answers start with Not sent and give the reason.
  • “This handoff has ended, so replies here no longer reach the customer.” Someone chose Allow AI replies on the ticket, or the agent handed the conversation over again and opened a newer thread. Open the ticket in Helpdesk, or reply in the newer thread.
  • “Your Slack email does not match an active Helpdesk member of this agent.” Centillion recognises you by the email on your Slack profile. Ask a workspace Owner to add you to the Centillion workspace with that address, or reply from Helpdesk.
  • “The reply window for this channel has closed, because the customer has not written for a day.” WhatsApp, Messenger and Instagram accept a free-form reply only within 24 hours of the customer’s last message. On WhatsApp, send an approved template from the ticket.
  • “Slack has to be reconnected before replies from this thread can be delivered.” Slack did not let Centillion look up who replied. A workspace Owner or Member chooses Allow replies from Slack under Settings → Notifications.
  • “Slack has to be reconnected before files in this thread can reach the customer.” The workspace allowed replies before Centillion sent files. A workspace Owner or Member chooses Allow files from Slack under Settings → Notifications. Until then, reply with text only, or send the file from the ticket in Helpdesk.
  • “A file on this reply could not be read from Slack.” The file was deleted, a free Slack workspace hides it, or it is a link to a file kept outside Slack. Add the file again, or send it from the ticket in Helpdesk.
  • “Each attachment must be 10 MB or smaller.”, ”… is not a supported file type.”, “Add up to 5 attachments per message.” and “Attachments can total up to 25 MB per message.” The file breaks the same limit a file added in Helpdesk would. Reply again with a smaller or different file.
  • “A file added in this thread cannot be forwarded to the customer.” Slack sent the reply without naming its files, so Centillion could not fetch them. Add the files to a new reply, or send them from the ticket in Helpdesk.
  • “This alert was posted before replies from Slack were allowed.” The handoff message itself says to answer from the Helpdesk, and replies in its thread are never sent. Handoffs posted after replies were allowed are answered from their thread.
“Centillion could not confirm that this reply reached the customer.” Centillion tried to deliver the reply for several minutes without getting as far as sending it. Open the ticket in Helpdesk: a reply that was sent appears there. If it is missing, send it from the ticket. An answer that ends with “Open the ticket in the Helpdesk before you reply again.” and does not start with Not sent is the message Helpdesk gives for the same reply. “Reconnect the originating channel before replying.” means the customer’s channel, such as the WhatsApp number, has lost its connection: reconnect it under Channels. A file the customer’s channel cannot take is named in this message, such as “IMG_2439.png is too large for WhatsApp, which takes images up to 5 MB.” Text messages (SMS) and Instagram take no files at all. In these cases nothing of the reply was sent, so send it again without the file or with one the channel takes. Otherwise either the channel’s provider rejected the reply, or its delivery could not be confirmed or recorded. In that last case the customer may have received it, so check the ticket before sending it again. If the thread says nothing, check the ticket: a reply that was sent appears there. A message that does not tag the agent’s app is not sent, because it is meant for the team: reply again and tag the app, as the handoff message shows. An edit of an earlier message is ignored. While the workspace has not allowed replies from Slack, Slack does not send Centillion the replies at all, and the handoff message says to answer from the Helpdesk. A handoff message followed by “This alert could not be recorded” is one Centillion could post and could not save. Replies in that thread are not sent: answer from the ticket.

It ignores an instruction

Instructions shape behaviour and are not a place for facts. If you wrote your opening hours into the instructions, move them into knowledge, where they can be retrieved and cited. Check Guardrails as well. A rule there can be doing exactly what you asked and not what you meant.

A procedure does not start or stops during a task

Open Procedures and resolve the errors listed in the editor. Enable Trigger for a procedure that should start by customer intent. With Trigger off, another procedure must reference it. Check that every tool is enabled on the conversation’s channel and included in any conversation selection. A structured Ask step waits for an appropriate customer answer. A Tool step without a failure handler ends the conversation if the tool fails; exhausting Retry attempts does the same. Add a failure handler when recovery is needed. Use Preview with mock tools, then test the complete exchange on the intended channel. A published version is required for new customer conversations.

Actions do not run in the Playground

Lead collection, escalation and custom API actions are skipped when you test in the Playground. Test those on a real surface, such as the widget on a staging page. Stripe actions can run for an Owner or Member through Chat as user with Chat bubble selected and a linked contact’s external User ID. The Playground’s Actions tab lists the actions on for the channel you are testing, and their switches turn an action on or off for every channel it is set up for. The change saves straight away. Collect leads can’t be switched on until it is fully configured. Open it from Tools and finish its settings first.

A Playground chat says automated replies are paused

Open the chat under Conversations and check its state. For a Paused chat, choose Resume conversation from the conversation menu. For Taken over or Waiting for an agent, open View ticket and choose Allow AI replies in the ticket menu. The conversation’s pause control is disabled while Helpdesk owns the takeover.

Stripe actions do not show billing records

Check Integrations → Stripe for the connected account and environment. Verify the action is enabled for Chat bubble and the visitor has a valid signed identity. The Contact’s external ID must match that identity, and its stripe_account attribute must contain the customer’s cus_ ID in the same Stripe account and environment. A name or email entered in chat is not enough. In the Playground, use Chat as user as an Owner or Member. Compare and Action Preview cannot read billing data. For restricted keys, check that the requested billing resource has read permission and portal actions have Customer Portal write permission. See Stripe billing.

The model I chose does not answer

The Playground shows an error instead of a reply when the model cannot run. Choose an available model and try again. Unavailable entries explain whether the deployment, credentials or billing rate needs configuration. A saved model under Current model may no longer be supported; choose a replacement from the catalog. Voice calls have their own selection under Voice mode.

The agent does not see a photo on WhatsApp

Some models read text only. When a customer sends a photo, such a model is told there is an image it cannot see, and it asks the customer to describe it. Pick a model marked as supporting images if your customers send photos.

Shopify actions do not change the store

Check that Shopify is connected and enabled under Channels → Shopify, that the action is enabled for the current channel, and that the active theme has Centillion chat enabled and saved. Test cart changes on the storefront; the Playground has no real store session. Profile, address, and order-tag actions require a signed-in Shopify customer. If the cart badge is stale, open the store’s cart page to inspect its contents. Some themes need a listener for the cart update events. If chat reports an uncertain mutation, review its record in Channels → Shopify and check Shopify before retrying. See Shopify limitations.

Before contacting support

Have these ready:
  • The agent’s name, and its ID from Settings → General.
  • Where it happened, and roughly when.
  • What the customer asked and what came back, copied exactly.
  • Whether the same question works in the Playground.
Last modified on October 31, 2026