Special Events


We’ve seen how bots control conversation flow by moving between behavior locations. At any given point in time the bot is in one location from which it will transition to other locations in behavior-specific ways. However, there are some special events that can occur on a conversation regardless of the current location. We call these ‘Special Events’ and they represent important events in the conversation lifecycle that you may want to recognize and handle globally.

Special events can be accessed from the Special Events item on the bot toolbar:


In general, you can react to special events by either changing locations or by sending a message. If you send a message, the bot remains in its previous location. If a special event has been fully configured, it will appear in the flow pane. Double-clicking the special event in the flow pane will open the configuration for that event in the configuration pane.


Customer upset handler configured to change location to the Default Queue behavior

Customer Unresponsive

The customer unresponsive event fires whenever the customer has failed to respond for a period of time and may be ignoring the conversation. This event will fire according to the value of the Inactive Timer configuration for the contact point on which the conversation is occurring.

  • This event is analogous to when a conversation is automatically moved from the active to inactive list in a live agent’s Quiq window. Bot authors may wish to react to this event by sending a follow-up message or escalating to a live agent queue.

  • Sending a message resets the inactive timer, meaning the event may fire again if the customer is still unresponsive. Bots will fire this event no more than 3 times while the conversation is assigned to the bot.

Customer Upset

The customer upset event occurs whenever sentiment analysis detects angry customer sentiment.


Bot authors typically react to this event by automatically escalating the conversation to live agents, which is achieved by adding a Change Location action. This event will fire at most once while the conversation is assigned to the bot, and fires at the time the customer sentiment becomes angry. It will not continue to fire while the customer remains angry.


The customer upset event will only fire on English conversations.

Human Agent Requested

The human agent requested event fires whenever the customer sends a message with the intent of gaining access to a live agent/representative.


You define the intent in a manner similar to how intents are defined within an intent behavior: you provide example customer messages and keywords that you want to match this intent. Quiq replies aren’t a part of the Human Agent Requested intent definition because this intent is always running in the background.

Keywords Matched

The keywords matched event fires whenever the customer sends a message with the defined keywords.


This event is similar to the Human Agent Requested event. For example, the event may be defined with a Change Location action to the main intent behavior if the customer sends a message containing the keyword “main menu”.


Considering Location when Handling a Special Event

You may want to conditionally react to special events. This is easily achieved by adding decisions steps (see Making Decisions). However, there’s a special field on which you can make a decision that’s very useful when reacting to special events, and that is the bot’s current location:

By making a decision on the bot.location field, you can choose different reactions based on the conversations current location in the bot’s flow.