The techniques discussed below provide solutions to common use cases and conversation challenges.

Block consumer interruptions

One bot scenario that is typical is to have the bot present several text interactions containing information, with small delays between each interaction (to aid accessibility issues). After the interactions are sent in sequence, the bot then asks the consumer a question to decide the next step in the conversation flow.

The problem that can occur in this scenario is that there's nothing to prevent the consumer from typing an utterance while the bot is sending the sequence of messages. When this happens, the utterance is processed for matching intents and patterns, which means it can "jump" the consumer to an upcoming question in the current dialog, to another dialog, or result in a fallback response.

To solve this problem where the consumer interrupts the bot with "intermediate" messages, you can use a set of specific environment variables that work together to catch and ignore all consumer utterances until the next question is reached.

To implement this solution

  1. Add an environment that stores a set of environment variables for the bot. If the bot is already linked to an existing environment, skip this step and append the variables to the existing environment.
  2. In the environment, add the following system environment variables:
    • system_handleIntermediateUserMessage
    • system_intermediateBotMessage
    • system_intermediateBotResponseTimeout

    For details on configuring these environment variables, see here.

  3. Link the environment to the bot if it isn't already linked.