Preventing Bot Conflicts and Duplicate Replies
Why a bot answers twice, why it interrupts live agents, and how the no-match reply floods a chat. The webhook cause, the keyword cause, and the settings that fix each.
A customer sends one message and gets two identical replies. Or the bot answers over an agent who is mid-conversation. Or someone asks three off-topic questions and gets the same fallback three times.
Three different causes, each fixed in a different place. Work through them in this order.
Cause one: every single message is duplicated
If every message gets exactly two replies — not just some — stop looking at your flows. The same message is reaching Scope Wiser twice, before it decides anything.
If you connected WhatsApp through Scope Wiser's sign-up, this is not your cause. Skip to cause two.
If you set up your own Meta app (developers)
This happens when a business creates a separate Meta app for each phone number and configures the same webhook URL in all of them. One inbound message then fires the webhook once per app. Two apps, two replies. Three apps, three.
The fix is structural: the WhatsApp Business API supports several phone numbers under a single Meta app. Use one app, with one webhook URL, and add each number to it.
Go to developers.facebook.com → My Apps and list every app you have created.
Open each one at your app → WhatsApp → Configuration → Webhook and note which of them share a webhook URL.
Choose one app as your primary.
Remove the webhook URL from all the others.
Message the bot again, with a keyword you know works, and confirm you get one reply.
If duplicates stop there, you are done — do not change any keyword settings you were about to change.
Cause two: two of your flows match the same message
If duplicates are selective — one message triggers two answers, another triggers one — the cause is keyword overlap.
Go to Chatbot Manager → Automation → Keyword Replies and open each reply. Click the Start Bot Flow node to see its Configure Reference panel, which shows the Trigger Keywords and the Keyword matching type.
String match is where overlaps come from. It matches when the keyword appears anywhere in the message, so a reply triggered by hi also fires on shipping and this. A second reply triggered by ship fires on the same message, and now the customer has two answers.
The repairs, in order of how often they work:
Switch short or common triggers to
Exact keyword match.Reserve
String matchfor distinctive words —refund,warranty,invoice.Merge two flows that genuinely serve the same intent rather than trying to make their keywords differ.
Give one flow the keyword and have it branch, using a Condition block, instead of running two flows in parallel.
The node counters make this quick to confirm. Every message node in the Flow Builder shows Sent · Delivered · Subscribers · Errors on its card. After one test message, the Sent counter on the first node of both flows moves — that pair is your overlap. The counters are lifetime totals for the node, so on a bot carrying live traffic, note the numbers before you send.

Cause three: the bot talks over your agents
Different problem, same symptom from the customer's side — two voices in one conversation.
Three controls decide this, all under Bot Settings. Remember that nothing here applies until you click Publish Changes.
BOT REPLIES WHILE AGENT ON MOBILE APP on the General tab. Turn it off if your team answers from a phone; otherwise automation keeps firing underneath them.
CHAT WITH HUMAN SESSION EXPIRY TIME (IN MINUTE) on the Shared Inbox tab. This is how long the bot stays quiet after a handover. A value of 0 and a value of 5 produce very different conversations. Set it to comfortably longer than your team's typical reply time.
Business Hour, for the times nobody is there at all. Set TIMEZONE first, then the seven-day START / END table, then OFF DAY. The Special Bot during business off hours section, with its ENABLE SPECIAL BOT toggle, lets a different reply run when you are closed — so an out-of-hours customer hears "we open at nine" rather than being handed to a sales flow that expects a person.
For a single conversation right now, the Shared Inbox has a Pause Bot action in the Chat Actions rail — faster than changing a setting, and scoped to that one thread.
The no-match reply, and why it floods
The no-match reply answers messages that match no keyword at all. Without it, a customer asking something you did not anticipate gets silence. With it configured badly, they get the same apology after every message they send.
The reply itself is a flow. Go to Automation → Quick Actions — headed Action Buttons, "Manage system action buttons, get started, no match and quick actions." — and open the No Match card, described as "Reply when no keywords match the message." It opens in the Flow Builder like any other flow: an Actions node with a No Match Template chip, a Start Bot Flow node, and an editable message node. Rewrite it, add blocks, save.
A good no-match reply does three things: acknowledges the message, offers two or three things the bot can do, and offers a way to reach a person.
Switching it on and controlling its frequency happens in Bot Settings → General:
NO MATCH REPLY— the toggle, marked Enabled.NO MATCH RESPONSE FREQUENCY LIMIT—Every TimeorOnce a day.
Every Time means every unmatched message gets the fallback. A customer typing three sentences in a row receives it three times, which reads as a malfunction. Once a day sends it once per subscriber per day, no matter how many unmatched messages arrive after it. For most businesses that is the right choice, and it is the single setting that turns a fallback from irritating into helpful.
Click Publish Changes.

When flows overlap by design
Some collisions are not keyword accidents: a broadcast lands while a comment-reply automation is running, or a sequence message arrives mid-conversation. Two rules keep them apart.
Keep broadcast and auto-reply logic in separate flows, rather than one flow that tries to do both.
On WhatsApp, do not schedule a free-form message where the 24-hour window will have closed. Outside it only an approved template is delivered, and a rejected send looks exactly like a bot that ignored somebody.
A quick diagnostic
Every message duplicated? → multiple Meta apps sharing a webhook URL.
Some messages duplicated? → overlapping keywords; check matching types.
Bot replying during an agent conversation? → General and Shared Inbox tabs of Bot Settings.
Same fallback repeatedly? →
NO MATCH RESPONSE FREQUENCY LIMITset toEvery Time.Nothing arriving at all? → a different problem; start at Why Your WhatsApp Bot Is Not Responding.
What to do next
Bot Settings Explained: All Eight Tabs documents every tab used above, including what each toggle changes and the order worth configuring them in. If replies are failing rather than duplicating, Bot Error Logs and Custom Fields covers the error counters and where failures surface.
