Platform events are events triggered by actions users take on platforms Dialogflow interacts with, like the Google Assistant, Slack, and Facebook Messenger. These events give you a way to respond to the user's action in your Dialogflow agent and in fulfillment.
Welcome events
Welcome events are triggered when a user starts a conversation with your action, bot, skill, or interface. When you create a new agent, a Default Welcome Intent is automatically added. Such intents have a pre-defined WELCOME
event and text responses. The WELCOME
event is a generic event for supported one-click integrations. It's a short way to set all welcome events.
When the end-user triggers a welcome intent from a supported messaging platform, the relevant event is sent to Dialogflow. If there is no other intent with a defined event specific to a particular messaging platform, the Default Welcome Intent is triggered.
For example, if a user clicks the "Get started" button to indicate they'd like to chat with your Facebook Messenger bot, the Facebook welcome event is triggered. First, Dialogflow checks for intents containing the FACEBOOK_WELCOME
event. If no such intent is found, the Default Welcome Intent is triggered.
Platform | Event | Description |
---|---|---|
Multiple | WELCOME |
Generic welcome event for any platform. Triggered when any welcome event is triggered. |
Telephony | TELEPHONY_WELCOME |
Triggered when someone calls the phone number associated with your Dialogflow agent. |
Actions on Google | GOOGLE_ASSISTANT_WELCOME |
Triggered when a user starts a conversation with your action. |
Alexa | ALEXA_WELCOME |
Triggered when a user starts a conversation with your skill. |
FACEBOOK_WELCOME |
Triggered when a user starts a conversation with your Facebook Messenger bot. | |
Kik | KIK_WELCOME |
Triggered when a user starts a conversation with your Kik bot. |
Skype | SKYPE_WELCOME |
Triggered when a user starts a conversation with your Skype bot. |
Slack | SLACK_WELCOME |
Triggered when a user starts a conversation with your Slack bot. |
Telegram | TELEGRAM_WELCOME |
Triggered when a user starts a conversation with your Telegram bot or types /start . |
Viber | VIBER_WELCOME |
Triggered when a user starts a conversation with your Viber bot. |
Actions on Google events
If a user is communicating with your Action in ways other than through speech or text, these interactions are sent to Dialogflow via events. These events can indicate things like user's input (such as which list item was selected by the user, confirmations, and getting delivery addresses), get permission for user information (such as the user's location name), or perform a transaction (like scheduling appointments or buying goods).
Actions on Google calls these events "Actions on Google intents". You can find the documentation for Action on Google's intents here.
User input
Dialogflow uses events to communicate non-text and non-voice user input from Actions on Google:
Event name | Description |
---|---|
actions_intent_CANCEL |
Triggered when the user indicates that they wish to stop conversing with your Action so you can send a final reply. |
actions_intent_NO_INPUT |
Triggered when a user doesn't provide any input (timed out while waiting for user response). |
actions_intent_MEDIA_STATUS |
Triggered when the media your Action is playing has completed playing. |
actions_intent_CONFIRMATION |
Triggered when the user confirms a request (for example, an answer to a yes or no question). |
actions_intent_DATETIME |
Triggered when a user responds to your request for a date and/or time. |
actions_intent_DELIVERY_ADDRESS |
Triggered when a user responds to your request for a delivery address. |
actions_intent_PLACE |
Triggered when a user responds to your request to obtain an address or saved location. |
actions_intent_OPTION |
Triggered when a user selects an item from a list or carousel (Note: this only occurs immediately after the list or carousel is sent to the user. If an item is selected after the conversation has continued, the input will be interpreted as dialog based on the title of the item). |
Built-in intents
Dialogflow supports Actions on Google's built-in intents through events. Please see Actions on Google's built-in intents page for more information.
Dialogflow Event for Actions on Google built-in intent |
---|
actions_intent_PLAY_GAME |
actions_intent_RESERVE_TAXI |
actions_intent_HEAR_JOKE |
actions_intent_HEAR_QUOTE |
actions_intent_HEAR_FACT |
actions_intent_TAKE_QUIZ |
actions_intent_GET_FORTUNE |
actions_intent_GET_HOROSCOPE |
actions_intent_GET_JOKE |
actions_intent_GET_QUOTATION |
actions_intent_GET_CREDIT_SCORE |
actions_intent_GET_CRYPTOCURRENCY_PRICE |
actions_intent_CHECK_WATERSPORTS_CONDITIONS |
actions_intent_CHECK_AIR_QUALITY |
actions_intent_CHECK_WATER_CONDITIONS |
actions_intent_START_CALMING_ACTIVITY |
Permission request
Dialogflow uses events to communicate Action on Google permission events, like requesting a user location, deep linking, account linking, and configuring updates to proactively notify a user.
Event | Description |
---|---|
actions_intent_PERMISSION |
Triggered when the user responds to a request by your Action to access the user's full name, coarse location, precise location, or all three. |
actions_intent_LINK |
Triggered if a user rejects your request to deep link into your Android app. |
actions_intent_SIGN_IN |
Triggered during the account linking flow to link a user's account to your service. |
actions_intent_REGISTER_UPDATE |
Triggered after the user confirms or rejects a request for notifications. |
actions_intent_CONFIGURE_UPDATES |
Triggered when the user indicates they want to set up notifications. |
actions_intent_NEW_SURFACE |
Triggered when the user responds to a request to handoff to another Assistant surface/device on the same user's account. |
Transaction
Dialogflow uses events to communicate Actions on Google transaction steps, such as checking that transaction requirements are met and communicating a user's decision to confirm or reject a specific transaction. For more information, see Actions on Google's transaction documentation.
Event | Description |
---|---|
actions_intent_TRANSACTION_REQUIREMENTS_CHECK |
Triggered after a request to get information about if the user meets the requirements to make a transaction. |
actions_intent_TRANSACTION_DECISION |
Triggered when a user confirms or rejects a transaction request. |
Other platform events
Dialogflow also supports events from other platforms, such as Facebook location request, Telegram slash commands, and notifications when Twilio MMS messages are received.
Platform | Event | Description |
---|---|---|
FACEBOOK_LOCATION |
Triggered when a user accepts/rejects your request for the user's location. | |
Telegram | TELEGRAM_HELP |
Triggered when a user inputs /help while conversing with your Telegram bot. |
Telegram | TELEGRAM_SETTINGS |
Triggered when a user inputs /settings while conversing with your Telegram bot. |
Twilio | TWILIO_MMS_RECEIVED |
Triggered when Dialogflow's Twilio integration receives an MMS message for your agent. |
Facebook location
The FACEBOOK_LOCATION
event allows you to get a location from Facebook Messenger. Create an intent to request the location using a custom payload:
{
"facebook": {
"text": "give me your location please",
"quick_replies": [
{
"content_type": "location"
}
]
}
}
Create another intent to process the location and set the event to FACEBOOK_LOCATION
. In the webhook, you'll receive the latitude and longitude from the originalRequest
field:
{
"originalDetectIntentRequest": {
"source": "facebook",
"payload": {
"postback": {
"data": {
"lat": 14.556761479425,
"long": 121.05444780425
},
"payload": "FACEBOOK_LOCATION"
},
"sender": {
"id": "1588949991188331"
}
}
}
}
For more information, see Facebook Messenger's API documentation for sending location.