Last updated: 13 April 2021 

Triggers and transitions are key building blocks for creating conversations. Whether starting a new conversation or determining where the user will be taken next, having well-planned triggers and transitions will allow you to create a seamless chat experience.

Before we dive into the available events, let’s summarise the purpose of both triggers and transitions.

Triggers

Triggers determine how a conversation starts.

Every single conversation needs a trigger. It is the (or the set of) event(s) that need to happen for a user to start into this specific conversation. The trigger sits at the very top of the conversation tree.

Conversation can have one, multiple, combined, or mutually exclusive triggers.

For example, a conversation might trigger when a specific message is sent to the bot (e.g. “hello”).

Triggers are not to be confused with step triggers. Step triggers are optional. They allow users to jump to a particular step in the conversation where required.

Transitions

Transitions are the set of events needed to happen to take a user from the step they’re currently on to the following step.

Each step (except the very last one) within a conversation has to have a transition to the next. You can define them by clicking on a step’s Options, then Transitions.

Much like triggers, you can add one, multiple, combined, or mutually exclusive transitions. Adding multiple transitions is ideal if you have a conversation that has multiple paths. Users can be taken down specific paths by applying specific conditionals on each transition.

For example, a user might move to the next step of the conversation when they click a button.

Events glossary

Events

Description

Subject

Message

A match on a message sent by a user.

Page URL

A match on the page URL user is currently on.

User’s IP address

A match on the user’s IP address.

User’s language

A match on the user’s language. (Must be one of the activated languages within the client)

User’s location

A match on the user’s location. (Must be one of the existing locations within the client)

Making an API request

A match on the result of an API request.

Looking up

A match on the result of a spreadsheet lookup.

Variable

A match on a stored dynamic piece of data.

Imported content

A match on content imported from the chatbot’s knowledge base.

Payment

A match on the result of a payment taken within the chatbot.

Event

A message is sent

Any message is sent by a user, regardless of the message content.

User first uses chatbot

A user interacts with the chatbot for the very first time. Will trigger again if the user clears their local storage or hits the reset button in the chatbot widget.

Live chat is successful

A user marks a live chat experience as successful.

Live chat is not successful

A user marks a live chat experience as not successful.

Subscriber is active

A user has spoken to the chatbot within the last day.

Subscriber is inactive

A user has not spoken to the chatbot within the last day.

Message is explicit

A message contains a word or phrase that exists in the block list.

Subscriber is stuck

Triggered when the chatbot provides the same response three times in a row.

Subscriber returns to the bot

An existing user returns to interact with the chatbot.

Subscriber talks to the bot for the first time today

An existing user returns to the chatbot for the first time today.

Subscriber talks to the bot for the first time this week

An existing user returns to the chatbot for the first time this week.

Subscriber talks to the bot for the first time this month

An existing user returns to the chatbot for the first time this month.

Subscriber talks to the bot for the first time this quarter

An existing user returns to the chatbot for the first time this quarter.

Subscriber talks to the bot for the first time this year

An existing user returns to the chatbot for the first time this year.

Live chat is available

Live chat is enabled and currently within the availability hours.

Live chat follow up is enabled

Live chat follow-up is enabled.

Subscriber returns on weekday

An existing user returns to interact with the chatbot between Monday and Friday.

Subscriber returns on weekend

An existing user returns to interact with the chatbot between Saturday and Sunday.

Subscriber returns between 9am and 5pm

An existing user returns to interact with the chatbot between 9am and 5pm.

All the time

Always valid. (This option is most suitable for call-to-action triggers)

NLP event

Small talk is triggered

The chatbot recognises a small talk message.

FAQ is triggered

The chatbot recognises an FAQ message.

FAQ is triggered (with follow up enabled)

The chatbot recognises an FAQ message, and follow-up is enabled.

Error

Widget can't reply

There are not conversations to handle the user’s message.

Something went wrong

The chatbot is unable to reply due to a technical error.

Integration fails to return a response

An integration times out and fails to return a response.

Integration returns an invalid response

An integration returns an invalid response.

There was a problem responding to an FAQ

The NLP failed to reach the FAQ service.

There was a problem responding to small talk

The NLP failed to reach the small talk service.

There was a problem with NLP

The chatbot is unable to reply due to an NLP service error.

Message event

Live chat is triggered

A user requests a live chat conversation.

Event date time check

Subscriber returns in the morning

An existing user returns to interact with the chatbot between 12:00am - 11:59am.

Subscriber returns in the afternoon

An existing user returns to interact with the chatbot between 12:00pm - 16:59pm

Subscriber returns in the evening

An existing user returns to interact with the chatbot between 17:00pm - 23:59pm

Event date time check

Subscriber returns before date and time

An existing user returns to interact with the chatbot before a specified date and time.

Subscriber returns after date and time

An existing user returns to interact with the chatbot after a specified date and time.

Time message check

Subscriber returns after time

An existing user returns to interact with the chatbot before a specified time.

Subscriber returns before time

An existing user returns to interact with the chatbot after a specified time.

Conditionals glossary

Conditionals

Description

Message type

Is an email

The message sent is a valid email format (e.g. hello@company.com).

Is a number

The message sent is a number (e.g. 1).

Is a phone number

The message sent is a valid UK phone number (e.g. 08003688885).

Is a confirmation

The message sent is one of: ok, I agree, yes, sounds good, sure.

Is a yes or no

The message sent is either yes or no.

Is a name

The message sent is a name (e.g. John Smith).

Is a percentage

The message sent is a percentage (e.g. 10%).

Is a decimal

The message sent is a decimal number (e.g. 1.25).

Is true

The message sent is a boolean value of ‘true’. (Commonly used to verify values returned from an API integration)

Is false

The message sent is a boolean value of ‘false’. (Commonly used to verify values returned from an API integration)

Is a URL

The message sent is a valid URL (e.g. https://google.com).

Is an image URL

The message sent is a valid image URL (e.g. https://google.com/dog.jpg).

Is a business email

The message sent is a valid email format and not from a public email provider (e.g. @gmail.com).

Is a time

The message sent is in time format (HH:MM:SS).

Is a date and time

The message sent is in date time format (DD:MM:YYYY HH:MM:SS).

Is a date

The message sent is in date format (DD:MM:YYYY).

Is an emoji

The message sent is an emoji.

Message check

Equals

The message sent exactly equals the value.

Matches regex

The message sent matches a regular expression (e.g. "(A-Z)\w+").

Starts with

The message sent starts with a value.

Ends with

The message sent ends with the value.

Contains

The message sent contains the value.

Message number check

Is greater than

The message sent is a number greater than the value.

Is less than

The message sent is a number less than the value.

Contains number of words

The message sent contains an exact number of words.

Contains number of letters

The message sent contains an exact number of letters.

Has less words than

The message sent has less words than the value.

Has more words than

The message sent has more words than the value.

Has less letters than

The message sent has less letters than the value.

Has more letters than

The message sent has more letters than the value.

Message group check

Is one of

The message sent matches any of the given words or phrases.

Is between

The message sent is a number between two values.

Contains all

The message sent matches all of the given words or phrases.

Message intent check

Triggers specific intent

The message sent triggers a specific intent. (Applies to FAQ and small talk)