FAQ use-case

Tier 1 customer service FAQs using question / answer pairs

Answering frequently asked questions is a very common and powerful use-case for bots. Bot CMS makes this easy.

Steps to complete

  1. Create a CMS space. Call it faq for example
  2. For each FAQ, enter 3-5 example questions as CMS inputs
  3. Add an answer for each FAQ as CMS outputs
  4. For each language, attach the space to a new dialogflow agent or wit.ai app

🚧

Do not use the api.ai NLU provider.

Dialogflow is shutting down V1 of their API on October 23, 2019, which will cause the api.ai NLU provider to no longer work. Create a Dialogflow V2 agent and use the dialogflow NLU provider instead.

  1. Create a flow that is connected to this space
    a) use the cms_nlu intent (set the space to match faq)
    b) use a single state with a cms_text component
  2. Test and verify that it works to your standards

Space input and output data entry

1258

Example FAQ input/output pairs

Connecting space to NLU provider

Each language used in the space is required to be connected to a 3rd party NLU provider (wit.ai or Dialogflow). Any changes made to the CMS input content, will automatically retrain the underlying NLU model.

🚧

NLU model will be overwritten

Any time you make changes to Bot CMS inputs, the attached NLU model will be overwritten. Do not re-use an existing NLU app or agent.

822

Connecting an api.ai agent to a Meya Bot CMS space

1099

Connecting the space to NLU providers

Create the FAQ trigger + flow

The last step is to connect the NLU-backed space to a simple flow that outputs text using the meya.cms_text component and is triggered by the cms_nlu trigger.

FAQ trigger

797

FAQ flow

The meya.cms_text component is designed for the FAQ use-case. It will simply output the corresponding CMS entity matching the incoming intent. If you have an output entity faq.pricing, and the incoming intent is pricing, then the pricing answer will be displayed.

👍

Tip: Inspect the flow context

To better understand what is happening, inspect the debug logs or output the {{flow}} object as a debug message.

states:
    answer:
        component: meya.cms_text

Use test chat to try it out

As with any machine-learned software, you'll need to test that it works sufficiently for your use-case. If there are missed user intents (recall - false negatives) or misfired triggers (precision - false positives), you'll need add/modify your CMS inputs.

355

The FAQ bot working.

Advanced usage

It is possible to construct more complicated flows to support more advanced use-cases:

  1. Segue certain Q&A pairs into longer flows (lead-gen for example)
  2. Output multiple messages for long answers
  3. Use cards, images, and other message UI elements.