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: a usable AI connection
- 3Gate 3: AI credits
- 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, such as the matching trigger, which applies to WhatsApp specifically.
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: a usable AI connection. No key is needed, because every workspace uses VGraple AI by default. If you added your own Anthropic, OpenAI or Groq key under Settings, then AI, confirm it still works. With no usable connection, WhatsApp gets a generic apology reply instead of silence, which can look like the bot is "on" but broken rather than unconfigured.
- Gate 3: AI credits. Every AI feature is on every plan, so there is no plan gate; what can stop an AI reply is an empty AI credits balance, in which case the customer gets the bot's fallback message. Check the balance under Settings, then AI: 1,000 free credits arrive on the 1st of each month, an AI reply costs 10, and a credit pack tops the balance up. See AI credits.
- 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 connection | Settings, AI | VGraple AI (the default, no key needed) or your own Anthropic, OpenAI or Groq key is usable |
| 3. AI credits | Workspace AI credits balance | The workspace has AI credits left; 1,000 free credits arrive on the 1st of each month on every plan |
| 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 | Repair or remove your own provider key under Settings, then AI; VGraple AI needs no key |
| The bot sends only its fallback message on every channel, and suggestions say credits are used up | Gate 3 | Wait for the free credits to renew on the 1st, or buy a credit pack; see AI credits |
| 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.