Action
Last updated
Last updated
Often, at the end of a flow, an API backend call will be configured to, for example, save a train ticket in the ticket ordering system. Afterwards users should be able to book a new ticket to a different location.
You can achieve this with the 'clear session' action. This action removes the values of set session variables. This is useful when a user asks to correct a value, or to start over and delete all variables.
Mail report and Send email are very similar options but with a slight difference.
Mail report sends two things:
an email with a message
the bot conversation at the time where the message was send
Send email sends one thing:
an email with a message
All you need to do is to define the email title, recipients and body. Here you can also use variables between curly braces if you need to.
A user that reaches this action will be offloaded to a human customer support agent. For this to work, you need to enable offloading.
Depending on your selected offloading provider, additional configuration may be required.
This action can be used to integrate back-end services into your bot. These are the contents of the API widget:
HTTPS methods and API endpoint URL:
Query parameters
Authorization
Headers
Body
Configuration (link to API SSL/HMAC settings)
The plugin supports 5 HTTPS methods:
ยท GET
ยท POST
ยท DELETE
ยท PUT
ยท PATCH
Add query parameters by defining key value combinations. Each key can have three possible value types:
text: static text
variable: a user session variable. The value of the variable will be stored as value for the key. Dot and array notation are supported, for example: users[0].firstname
dialogstate: select a dialog state from the dropdown. The dialog state id will be stored as value for the key. This id can be used to redirect the user to a certain dialog state based on your business logic when sending back the API response.
3.1 Basic Auth: will display the fields to fill username and password.
3.2 Bearer Token: will display the Token field to be filled in.
You can define a request body request in all HTTPS methods.
If you have an API configuration in Settings>API, you will see them here:
More details can be found in our tutorial.
The code editor allows developers to quickly build custom logic on top of the bot by writing their own Javascript code blocks. Typically, the code editor is used to perform requests to external systems, or to do operations with variables.
You can find more information about the code editor here:
There are also two tutorials in which we show you how the code editor can be used:
An iframe is a custom element that can be used to show a different web page in the chat conversation. It can also be used to communicate with the parent window using the postMessage API.
Have a look at this basic example:
If this block of code is hosted and embedded within our iframe plugin, it will send the user a chat message when they click the button.
The postMessage API can also handle UPDATE_SESSION
and GO_TO_DIALOGSTATE
events.
Sometimes you want to create a slight delay between bot messages, either to create a natural pause between them or because you need a few seconds to make an API call and don't want the bot to just be silent. Either way, slight pauses can improve the user experience a lot.
You will find the Delay widget in Action dialog states. This feature allows you to create from 1-20 seconds of delay by dragging the green circle to the right or left:
If your bot is published on the Webhook API channel, you can use the JSON Builder action to send messages to the conversation that don't need to result in an actual message to the user. Typically, it's used to send information about the user or bot conversation to the website the bot is published on.
You can use the JSON builder action in combination with the webwidget channel to receive window events on your webpage. These events will contain the data as configured in your JSON builder action.
Here's an example: Configure your JSON builder action to send a language key, with a variable retrieved from the session, and the "Send config to parent window" toggled on.
Your widget will trigger an event for that configuration to its parent window as a MessageEvent. The MessageEvent will contain a `data` field which contains the stringified result of the JSON builder configuration. Here's an example on how to listen to these events: