Events are system triggers a user does not visibly notice. You can use events to specifically trigger flows. This is useful for example to automatically show a welcome message or trigger a flow from cloud code or webhooks.
Events also allow you to design complex apps that reuses flows.
Note:
You can only use events as the starting trigger of a flow.
Trigger event using code action action
async payload => {
trigger( 'EVENT_NAME' )
}
Whenever the system receives a trigger it cannot match the Unknown will be triggered. You can use this for fallback scenarios.
Our NLP engine learns based on the examples you provide for each intent. If there are specific queries the NLP should not match, you can add these as examples to the Uknown intent. This is especially useful in delicate situations like customer support.
Unknown triggers can be placed within the context of a flow. That way you can easily differentiate the reply actions based on the context of a flow.
Note that the unknown is also triggered when a user for example shares an image and you do not have a flow handling this specific situation.
Image, audio and video triggers allow to create responses whenever a user shares one of these types. Just like the location trigger the shared resource is available inside the params of a query and can be used within the context of a Flow.
You can expect any shared media to be available through a URL.
Note: The shared file is only available for a limited time.
If a user decides to share his or her location you can respond to that. The system automatically adds the latitude and longitude values to the params of the query. Location triggers can also be placed within the context of flows so it also allows.
A basic form of reply that translates into spoken word or text bubbles, depending on the channel.
String Templates
String templates are variables that can be used within Any text trigger. They can be used also in text replies, titles and subtitles of a card and in button labels. For example:
Param selection
Multiple params render as a list within string templates. You can select the elements that will be rendered. For example to access the last element of the list use param.last.match :
First element of the list can be accessed by param.first.match or param.0.match . It also works with value : param.first.value , param.last.value , param.*any_digit*.value .
Within text replies you can use variables that are matched by the AI.
If you trained the AI to match entities they can be used with a template syntax. For example if you trained the AI with a entity called country, you will be able use it like so:
I am going to check the weather for {{country}}
This would result in a response like:
I am going to check the weather for France
Entity matches could be fuzzy and by default templates print the value of a matched parameter.
You can also access the match by using {{param.match}}
Text variants
It's also possible to send different replies to make your dialog less repetitive
Send images, videos and audio replies.
Requirements
Any image or video file should remotely accessible and hosted on a secure (https) environment.
Send an image. Depending on the Channel your solution integrates with, an image is cropped. We advice you to maintain a 1.91:1 or 1:1 (square) aspect ratio.
Recommended file formats are:
Media
Format
image
.png , .jpeg , .gif
video
.m4v
audio
.m4a , .mp3 , .wav
Note: Unfortunately it's not possible to share YouTube videos.
List messages are a vertically scrollable set of list items that may each contain text, an image, and button. Not all messaging channels fully support list messages. To check the level of support across Flow messaging channels see integration capabilities .
Quick replies are a great way to walk the user through a specific flow, by suggesting various courses of action. A quick reply, once tapped, will insert a reply on behalf of the user. Quick replies are invaluable when building a bot or automated conversation flow, because they keep your user focused and provide clear instructions on how to proceed.
Each quick reply button has an associated action, which should uniquely identify the intent of the action. When the user answers with one of the suggested quick replies.
Quick replies can complete the following action:
Trigger an event
Send text as the user
Unlike buttons, quick replies disappear after the user taps on one or if a new inbound or outbound message arrives.
Location reply actions allow you to quickly send a location to your users. Depending on the capabilities of the channel used by the user, location messages will be rendered either as a map image or as a Google Maps link. The user can then open that location in the mapping application built into their OS or in Google Maps.
Cards are a compound message consisting out of text, an image or buttons. Depending on the connected messaging channel, cards are rendered differently.
Carousel messages are a horizontally scrollable set of cards that may each contain text, an image, and buttons. Not all messaging channels fully support carousel messages; to check the level of support across Flow messaging channels see integration capabilities .
Enhance your bot with buttons to make it easier for customer to choose an action.
Buttons can complete the following action:
Trigger an event
Send text as the user
Open a URL
Open a URL in a webview
The button does not disappear after the user taps on it, and therefore it can be clicked many times.
Note: Support varies per channel. Not all channels support opening URLs or webviews.
Apply tags or remove them within a flow. Tags can be used to measure flow conversion or building up segments of contacts.
Tags are also supported by conditions.
Adding tag
You can add new tags and specify both a name and a value.
Removing tags
It's also possible to remove one or multiple tags within a flow.
Resetting a flow will drop any conversational context and parameters.
Everything
Reset all flows, parameters, and context. Basically, clear the memory or your bot.
Unexpected behaviour: Resetting all context at the wrong place will prevent the AI engine to find matches. Make sure to use it wisely
All parameters
Only reset the parameters of your bot. All the collected values will be reset. The context, however, will be remembered as the conversation flow.
Specific parameters
This will reset only specific parameters within your flow. Use this for example when you want to replace parameters with new values.
Resolve your conversations automatically without having to archive them manually. The resolve action works like the handover but instead of moving a conversation into a handover state, it resolves it.
Conversation can be resolved with:
Reason (fixed): bot, agent
Resolution (free text): ‘ABC’, ‘spam’ etc
Note: Both the reason and resolution can be used for analytics purposes.
Automatic resolves
Instead of adding a resolve action inside a flow, you can also resolve all conversations that are older than a certain date or remove all data that was last updated before a certain date.
Note: To enable this feature within your project settings you'll have to upgrade to an enterprise plan.
You can read more about automatic resolves here.
Indicate a conversation is in need of human assistance. Optionally you can specify the bot should cease to reply to a user while in handover state.
Integrations
Builtin integrations like Khoros and Front require the handover action to let agents within those systems pick up conversations.
Hand back
Handing back a conversation to the bot is done within a customer service solution or the Flow Chat app.