luiza jurczyk

dariusz zabrzenski

Last update:

When you expect your client to use a specific word or a phrase, use Keywords. This query matching system is excellent when you want an interaction to be triggered precisely by a word or phrase, without considering the whole query.

Quick overview

  • Keywords is never set as the default matching system.
  • The matching system is configured individually for every user message.
  • The system searches only for keywords, and ignores the rest of the query.
  • If there are more matching systems available, keywords won’t be prioritized. Please, check the exceptions.
  • The maximum distance between two keywords is one word.

Keywords is not the default matching engine. Go to the interaction settings to apply it to the interaction.

How keywords works

Keywords matching system doesn’t analyze the whole user input but focuses on searching words on phrases defined in the user says. The confidence score error margin isn’t applied to this system so only precisely the same words are matched. The system accepts punctuation at the end of the word and maximum one word between keywords.

How to select the keywords

All interactions you add to your story use the default machine learning system. To apply keywords to an interaction you have to choose this option in the settings.

  1. Create a new interaction or use an existing one.
  2. Go to the User Says section.
  3. Add words to the user says field and assign the keywords to them.
  4. Click save to keep your changes.


The best way to explain the behavior of keywords is to use an example. Imagine that you own a small food truck business, and your bot takes food orders. One of your most famous menu options is a hot dog.

With the updated keywords system we can take orders in a more precise way. Let’s check out some of the cases!

Now let’s see if the marching is successful using various user input:

  • The client types: I would like to have a hot dog?
    ✅ This is perfect matching as our bot could find bot keywords.

  • The client types: Can I have dog hot?
    ✅ That’s pretty clumsy way to make an order but yes, our bot understands queries in reverse order.

  • The client types: Can I have hot a dog?
    ✅ The bot accepts maximum one word between our keywords. The bot takes the order.

  • The client types: Can I get dog jdhgf hot?
    ✅ Probably a cat run through the keyboard. The bot will understand the query as there’s one allowed word between keywords and the bot accepts reversed order.

  • The client types: Can I get a hut dog?
    ❌ The order won’t be taken. There’s a typo in the word hot.

  • The client types: Can I come with my dog. It’s really hot outside.
    ❌ Too many words between our keywords. The bot won’t recognize the query.

  • The client types: Can I have a hot dog, I’m so hungry.
    ✅ The bot will take the order. The punctuation at the end of the keyword is accepted.

  • The client says: Can I have a hot-dog?
    ❌ The bot won’t recognize these keywords. Two words with a punctuation mark in the middle are considered as one word.

When to use Keywords

  • When you expect the user to say a specific word or a phrase.
  • When you’re interested in one very specific word.

Go to next article arrow_forward