On this page

An AI chatbot that looks fully set up but never answers a real customer almost always fails at one specific, checkable point in the pipeline. This article walks through all eight gates a message passes on the way to a reply, in the order the platform actually checks them, so you can find the real cause instead of guessing.
AI not replying: first 5 of 8 steps
- 1Gate 1: channel toggle
- 2Gate 2: AI provider key
- 3Gate 3: plan gate and grandfathering
- 4Gate 4: takeover pause
- 5Gate 5: contact blocked or opted out
Before you start
- Work through the gates in order. Later gates never run if an earlier one already stopped the message, so checking gate 6 first when gate 2 is the actual problem wastes time.
- Have the specific conversation open in the inbox while you check; several gates are visible directly in the conversation header or the flow's own configuration.
- Know which channel is affected. WhatsApp, Instagram/Messenger, and the website widget share some gates and differ on others, most importantly the plan gate.
Steps
- Gate 1: channel toggle (bot availability). Open the conversation header. If the AI indicator shows as plain text rather than a clickable chip, no bot is bound to this channel at all: on WhatsApp, no active flow has a matching keyword or catch-all trigger; on Instagram, Messenger or web chat, no bot is configured or connected. Fix this before checking anything else.

- Gate 2: AI provider key. In Settings, then AI & Flows, confirm at least one of Anthropic, OpenAI or Groq has a working key. The AI Response node falls back automatically to any other configured key, but at least one must exist; with none, WhatsApp gets a generic apology reply instead of silence, which can look like the bot is "on" but broken rather than unconfigured.
- Gate 3: plan gate and grandfathering. This gate applies to the website chat widget's AI, AI reply suggestions, conversation summaries, and the AI debugger, all of which need the Growth plan or above, or grandfathered access from before the gate shipped. It does not apply to the AI Response flow node used on WhatsApp, Instagram or Messenger, which only needs a key. A silent website widget on a Free or Starter plan is very likely this gate.
- Gate 4: takeover pause. Check the conversation header again for "Paused" instead of "AI On." Any manual reply a human agent sent in this conversation pauses the bot for the rest of it until someone resumes it. See AI takeover pause for the full mechanism.
- Gate 5: contact blocked or opted out. The flow executor checks
opted_out_atandis_blockedon the contact before running any node, including the AI Response node, every single time, not just at the start of a run. A contact who has sent STOP, or been manually blocked, gets no automated reply by design; this is correct behavior, not a defect. - Gate 6: debounce and supersession. WhatsApp holds up to 4 seconds after the last message in a burst before generating a reply, then re-checks for an even newer message immediately before sending. Combined with 10 to 15 seconds of generation time, a real reply can take 15 to 20 seconds to arrive after a burst; this is working correctly, not stalled.
- Gate 7: matching trigger (WhatsApp specifically). Confirm the flow's trigger actually matches what the customer sent. A keyword flow only fires on its exact keyword list; if no keyword flow matches, a catch-all (any-message) flow only fires if one exists and is active, and is suppressed entirely while the same contact has an active sequence running.
- Gate 8: knowledge base scope and relevance. If the bot answered but generically, or admitted it does not have the detail, this is not silence, it is the knowledge base gate: no source is attached to this specific node or widget, the attached source is scoped to a different bot, or nothing in it cleared the retrieval relevance threshold for this specific question. See knowledge base sources.
What you will see
Working through these gates in order almost always lands on exactly one cause, since each gate either stops the message outright (1 through 5) or delays and then answers it (6), or produces a reply that is technically present but unhelpful (8). A conversation that fails gate 1 never reaches gate 2 in the code, so if the toggle in step 1 already shows as plain informational text, nothing further down the list is relevant yet.
Settings and options
| Gate | Where it lives | What passes it |
|---|---|---|
| 1. Channel toggle | Conversation header | An active flow (WhatsApp) or a configured, connected bot (Instagram, Messenger, website) exists for this channel |
| 2. AI provider key | Settings, AI & Flows | At least one of Anthropic, OpenAI or Groq has a valid key |
| 3. Plan gate | Org plan / billing | Growth plan or above, or ai_grandfathered setting, for widget AI, suggestions, summaries and the debugger only |
| 4. Takeover pause | Conversation header | ai_paused is false for this specific conversation |
| 5. Blocked / opted out | Contact record | opted_out_at is null and is_blocked is false |
| 6. Debounce | Automatic, per message burst | The hold period (default 4 seconds) has elapsed with no newer message |
| 7. Matching trigger | Flow Builder (WhatsApp) | An active flow's keyword matches, or an active catch-all exists with no competing sequence |
| 8. Knowledge base | Node or widget settings | A relevant source is attached and scoped to this bot |
Troubleshooting
| Symptom | Likely gate | Fix |
|---|---|---|
| AI toggle shows as text, not a clickable chip | Gate 1 | Set up an active flow with a trigger (WhatsApp) or connect a bot for that channel (Instagram, Messenger, website) |
| WhatsApp bot gives a generic apology instead of a real answer | Gate 2 | Add or repair an AI provider key in Settings, then AI & Flows |
| Website widget silent, WhatsApp flow bot works fine | Gate 3 | Upgrade to Growth or confirm grandfathered status; the plan gate does not affect the WhatsApp flow node |
| Conversation header shows "Paused" | Gate 4 | Click it to resume, or leave it paused if a human is intentionally handling this conversation |
| No automated reply, and the contact recently sent STOP | Gate 5 | Correct behavior; do not attempt to route around it |
| Reply arrives 15 to 20 seconds after a message burst | Gate 6 | Correct behavior; only investigate further if replies never arrive at all |
| WhatsApp bot silent even though the flow is active | Gate 7 | Confirm the trigger's keyword actually matches what was sent, and that a catch-all flow exists if the flow is meant to be general-purpose |
| Bot replies but gives a vague or generic answer to a specific question | Gate 8 | Attach or correct the knowledge base scope; see knowledge base sources |
Related reading
Once you know which gate is failing, the deeper articles cover the fix in full: AI takeover pause for gate 4, and knowledge base sources for gate 8.