Experience Portal interaction with Dialogflow

Last Updated : Jun 05, 2026 |

Avaya Experience Portal interacts with Dialogflow using defined events and custom payloads.

For more information on how the defined events or custom payloads are used to deliver the bot telephony features, see the Avaya Experience Portal Dialogflow White Paper.

Events from Avaya Experience Portal to Dialogflow

Avaya Experience Portal sends the following events to Dialogflow:

AAEP to Dialogflow event

Description

Welcome

The initial event that is sent to Dialogflow containing sip-hdrs and avaya-session-telephone context.

“event_input”:{
    “name”:”Welcome”
}

Hangup

The event that is sent when AAEP detects caller hanging up.

“event_input”:{
    “name”:”Hangup”
}

TELEPHONY_DTMF

When a bot instructs Experience Portal to collect dial pad DTMF, this event is used to send the DTMF collected from Experience Portal to the bot.

“event_input”:{
    “name”:”TELEPHONY_DTMF”, 
    “parameters”:{
        “telephony_dtmf_digits”:”590227”
    }
}

Where, ”590227” is the digits collected by Experience Portal.

TELEPHONY_XFER_COMPLETE

The event that is sent when bridge transfer is finished successfully.

This event also contains one of the following reason parameter values:

  • near_end_disconnect, far_end_disconnect

  • maxtime_disconnect, network_disconnect

“event_input”:{
    “name”:”TELEPHONY_XFER_COMPLETE”, 
    “parameters”:{
        “reason”:”far_end_disconnect”
    }
}

TELEPHONY_XFER_FAILED

The event that is sent when transfer fails.

This event also contains one of the following reason parameter values:

  • busy

  • network_busy

  • noanswer

  • unknown

“event_input”:{
    “name”:”TELEPHONY_XFER_FAILED”, 
    “parameters”:{
        “reason”:”noanswer”
    }
}

NO_INPUT

The event that is sent when AAEP detects no input (silence).

This event can be used by the bot to implement number of attempts functionality.

“event_input”:{
    “name”:”NO_INPUT”
}

Custom followup_event

The event that is specified in the followup_event custom payload sent to AAEP.

This event allows AAEP to play music until the bot signals, using this event, to proceed to the next recognition.

“event_input”:{
    “name”:”eventname_of_followup”
}

Where, ”eventname_of_followup” is the followup event specified in custom payload

Custom payloads from Dialogflow to Avaya Experience Portal

Dialogflow sends the following custom payloads to Avaya Experience Portal:

  • telephony_read_dtmf: Dialogflow instructs AAEP to use this payload for local DTMF detection to detect DTMF entered using dial pad.

  • avaya_telephony: Dialogflow uses this payload for all other features such as VXML transfer, play WAV file or DTMF into call, control bargein and so on.

Dialogflow to AAEP custom payload

JSON keys

Description

telephony_read_dtmf

max_digits

The payload sent by Dialogflow to collect maximum number of digits.

This maps to VXML property: maxlength.

finish_digit

The terminating character one of DTMF_STAR, DTMF_POUND, DTMF_ONE….

This maps to VXML property: termchar.

listen_to_speech

The boolean to control whether audio will be streamed to Dialogflow.

max_duration

Ignored (no equivalent in VXML)

avaya_telephony

transfer

The payload that is used performs VXML transfer.

bargein

The boolean that is used to control bargein.

Note:

If bargein is not specified in custom payload, then the default is to have bargein enabled. However, for usability, the default is changed to disabled for the first intent. This can be overridden by specifying bargein=true in the first intent custom payload.

reply_audio_uri

The payload that overrides Dialogflow generated audio and play a single or array of wav files.

no_input_timeout

The payload that specifies the amount of silence time after a prompt is played after which a no input event is thrown in VXML.

The default is 7 seconds.

This maps to VXML property: timeout.

speech_complete_timeout

The payload that specifies the period of silence required after user speech to determine that speaker has finished talking.

The default is 0.25 seconds.

This maps to VXML property: speechtimeout.

set_language_code

The payload that is used to change the language to a supported Dialogflow language (IETF language code, en-us, es-es, es-419). This language is used for all interactions after this command.

This code needs to match with what you are using in Google Dialogflow.

private

The payload that enables or disables the VXML privacy feature for processing current responds.

This maps to VXML property: private