Home/Help Center/How keyword matching works

Automation

How Keyword Matching Works in WhatsApp Flows

Which messages a keyword flow answers and which flow wins when several match. Whole words, longer forms, short keywords, and the longest keyword rule, with examples.

By Chirag Darji · Updated 17 Oct 2026 · 5 min read

On this page
  1. Before you start
  2. How does a keyword match a message?
  3. Which flow answers when several match?
  4. Steps to set keywords that behave
  5. What you will see
  6. Settings and options
  7. Troubleshooting
VGraple CRM flow builder canvas showing the trigger node of a keyword flow

A keyword flow answers a message when one of its keywords appears in it as a word. When more than one flow matches, exactly one answers: the one with the most specific keyword. This page explains both rules with examples, so you can predict which flow replies before a customer writes in.

Before you start

  • You need a flow with the Keyword / Inbound Message trigger. If you have not built one yet, start with building your first flow.
  • You need permission to edit flows.
  • The same rules apply to the keyword rules for comments, so one habit works in both places.

How does a keyword match a message?

A keyword matches words, never letters inside a word. The flow looks at each word the customer typed and asks whether your keyword starts at the beginning of one. The length of the keyword decides how much extra it may match.

Keyword lengthWhat it matchesExample keywordAnswersDoes not answer
1 or 2 lettersOnly as a whole wordhi"Hi!", "hi there, are you open""children", "high price", "his"
3 lettersThe word and its pluraltoy"toys available?""toyota"
4 letters or moreThe word and longer forms of itdeliver"do you deliver", "delivery time?"
A phraseThe whole phrase, in orderbank transfer"can I pay by bank transfer""transfer to my bank"

Capital letters do not matter, and neither do extra spaces. "MENU" matches the keyword menu, and a curly apostrophe matches a straight one.

Example

A salon uses the keyword "price" for its price list flow. The message "what is the pricelist" matches, because a four letter keyword also matches longer forms. The keyword "pay" does not match "payment link", because a three letter keyword only adds a plural. If the salon wants "payment" messages answered, it adds the keyword payment.

Which flow answers when several match?

Only one flow answers a message. VGraple CRM picks it in this order:

  1. A keyword that is the customer's whole message beats a keyword found inside a longer message. "Hi!" on its own matches the greeting keyword hi ahead of a longer sentence flow.
  2. The longest matching keyword wins, counted in letters and digits. "bank transfer" beats "bank", and "children" beats "hi".
  3. The older flow wins a tie.

Tip

You never have to delete a general keyword to make a specific one work. Add the specific keyword to its own flow and it takes priority over the short one on the messages it matches.

Steps to set keywords that behave

  1. Open Flow Builder and open your flow, or choose New Flow.
  2. Click the trigger node and set Trigger Type to Keyword / Inbound Message.
  3. In Keywords (comma-separated), type each keyword or phrase separated by commas, for example hello, start, hi.
  4. Read the line under the field. It repeats the two rules on this page, so anyone on your team can check them while editing.
  5. Save and activate the flow, then test it by sending the keyword from your own WhatsApp number.

Automation flows in VGraple CRM with their trigger type, status and how many times each one has run

What you will see

When a message matches, the matching flow starts and replies. When several flows match, only the winner starts, and the others stay quiet for that message. A message that matches no keyword goes to your catch-all flow if you have one, and otherwise to your team inbox.

Settings and options

SettingWhat it doesDefault
Keywords (comma-separated)The words or phrases that start the flowEmpty
Blank keyword fieldMakes the flow a catch-all for any message no other flow claimedOff
Several flows with the same keywordThe older flow answers a tieOlder flow
Languages without spaces between wordsThe keyword only has to appear in the messageAutomatic

Troubleshooting

SymptomLikely causeFix
A short keyword stopped answering words that contain itKeywords of one or two letters now match whole words onlyAdd the longer words you want as their own keywords
"payment" does not trigger my "pay" flowThree letter keywords match only the word and its pluralAdd payment as a keyword
The wrong flow answersA different flow has a longer matching keywordGive the right flow a longer, more specific keyword, or remove the competing one
Two flows keep competingTwo flows use the same keywordKeep keywords distinct, or deactivate the older flow
A phrase never matchesThe words are out of order in the customer's messageAdd the words as separate keywords as well

For the other ways a flow can start, such as a new lead, a form or a customer going quiet, see flow triggers. To plan replies for customers who stay silent, see following up when a customer goes quiet.

Frequently asked questions

Why did my keyword "hi" stop answering "children"?
Keywords now match words, not letters inside a word. A one or two letter keyword such as hi matches only when it stands alone as a word, so it answers 'Hi there' and 'hi!' but never 'children', 'high' or 'his'. If you want a flow for 'children', give it its own keyword.
Does the keyword "deliver" answer the message "delivery"?
Yes. A keyword of four letters or more also matches longer forms of the same word, so deliver answers deliver, delivers, delivery and delivered. Three letter keywords only match themselves and their plural, so pay answers 'pay' and 'pays' but not 'payment'.
Two of my flows match the same message. Which one replies?
One flow replies. A keyword that is the customer's whole message wins first. Otherwise the flow whose matching keyword has the most letters wins, so 'bank transfer' beats 'bank'. If two flows tie, the older flow replies.
Do capital letters, accents or punctuation change the match?
No. Matching ignores capital letters and treats curly and straight apostrophes as the same, so 'MENU' matches the keyword menu. A message that is only the keyword plus punctuation, like 'Hi!', counts as the whole message.
What if I leave the keyword field blank?
The flow becomes a catch-all. It answers any inbound message that no keyword flow claimed. Use it for a default reply or a hand-off to your team, and keep it to one active catch-all flow.
Does this work for languages written without spaces, like Chinese or Thai?
Yes, with a different rule. For scripts that do not separate words with spaces, such as Chinese, Japanese and Thai, the keyword only has to appear in the message. The same applies to a keyword with no letters or digits, such as an emoji.

Run your WhatsApp on VGraple CRM

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