Platform events

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 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 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.