Home/Help Center/AI not replying

Automation

AI Is On But Not Replying: the 8-Gate Checklist

Eight code-level checks, in order, for why an AI chatbot that looks fully configured is not answering a customer on WhatsApp, Instagram, Messenger or your website.

By Chirag Darji · Updated 11 Oct 2026 · 7 min read

On this page
  1. Before you start
  2. Steps
  3. What you will see
  4. Settings and options
  5. Troubleshooting
  6. Related reading
Chat widget setup in VGraple CRM: appearance, welcome message, position and AI settings

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

  1. 1Gate 1: channel toggle
  2. 2Gate 2: a usable AI connection
  3. 3Gate 3: AI credits
  4. 4Gate 4: takeover pause
  5. 5Gate 5: contact blocked or opted out
The steps on this page, in order.

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

  1. 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.

AI and flows settings in VGraple CRM with provider keys and the Cron secret

  1. 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.
  2. 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.
  3. 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.
  4. Gate 5: contact blocked or opted out. The flow executor checks opted_out_at and is_blocked on 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.
  5. 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.
  6. 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.
  7. 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

GateWhere it livesWhat passes it
1. Channel toggleConversation headerAn active flow (WhatsApp) or a configured, connected bot (Instagram, Messenger, website) exists for this channel
2. AI connectionSettings, AIVGraple AI (the default, no key needed) or your own Anthropic, OpenAI or Groq key is usable
3. AI creditsWorkspace AI credits balanceThe workspace has AI credits left; 1,000 free credits arrive on the 1st of each month on every plan
4. Takeover pauseConversation headerai_paused is false for this specific conversation
5. Blocked / opted outContact recordopted_out_at is null and is_blocked is false
6. DebounceAutomatic, per message burstThe hold period (default 4 seconds) has elapsed with no newer message
7. Matching triggerFlow Builder (WhatsApp)An active flow's keyword matches, or an active catch-all exists with no competing sequence
8. Knowledge baseNode or widget settingsA relevant source is attached and scoped to this bot

Troubleshooting

SymptomLikely gateFix
AI toggle shows as text, not a clickable chipGate 1Set 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 answerGate 2Repair 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 upGate 3Wait for the free credits to renew on the 1st, or buy a credit pack; see AI credits
Conversation header shows "Paused"Gate 4Click it to resume, or leave it paused if a human is intentionally handling this conversation
No automated reply, and the contact recently sent STOPGate 5Correct behavior; do not attempt to route around it
Reply arrives 15 to 20 seconds after a message burstGate 6Correct behavior; only investigate further if replies never arrive at all
WhatsApp bot silent even though the flow is activeGate 7Confirm 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 questionGate 8Attach or correct the knowledge base scope; see knowledge base sources

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.

Frequently asked questions

My conversation header shows "AI On" but the bot never answered. What is the first thing to check?
Whether a bot is actually bound to that channel at all: on WhatsApp, an active flow with a matching keyword or catch-all trigger; on Instagram, Messenger, or the website, a configured and connected bot. The "AI On" chip only appears as a real control once a bot exists to control, so if it is showing, move to the next gate rather than assuming the channel itself is the problem.
Does a broken AI provider key look different from an empty AI credits balance?
They are separate checks. A key problem can produce a generic apology reply on WhatsApp rather than silence, since the AI Response node has a hardcoded fallback message. An empty AI credits balance makes the bot send the fallback message you set, alerts the account owner, and shows as zero under Settings, then AI, which is quicker to confirm than a vague AI reply.
Why would the bot answer on WhatsApp but not on the website widget for the same organisation?
Not because of the plan, since every AI feature, the website widget's AI included, is on every plan. The widget and the flow-based bot are configured separately, so check the widget's own bot settings and knowledge base.
Can a debounce delay look like the bot is not replying?
Yes, briefly. The default debounce holds up to 4 seconds after the last message in a burst before generating a reply, and generation itself can take another 10 to 15 seconds. A reply that takes 15 to 20 seconds to arrive after a burst of messages is working correctly, not stalled.
Does an opted-out contact ever get a silent bot as the actual, correct behavior?
Yes. A contact with opted_out_at set, or marked blocked, is skipped by the flow executor before any node runs, including the AI Response node. This is intentional: the bot must never message someone who has opted out, so a silent reply here is correct, not a bug to fix.
How do I tell a knowledge base gap from every other cause?
The bot still answers, just generically or with an admitted "I don't have that detail," rather than staying silent. If the customer got any reply at all, even an unhelpful one, the earlier gates (trigger, connection, credits, pause, blocked) all passed; the remaining gap is in what the knowledge base actually contains.
Is there a single place that shows all eight gates at once?
No single dashboard covers all eight; they live across the conversation header (pause and channel toggle), Settings then AI (your own keys and the AI credits balance), and the flow or widget configuration itself (trigger, knowledge base). This checklist exists because the causes are spread across several places by design, not one screen.

Run your WhatsApp on VGraple CRM

Free forever plan, official Meta WhatsApp Business API, set up in 15 minutes. No card needed.