Dialogflow ES
Telnyx's Dialogflow tutorial will teach you how to create and manage sophisticated voice interactions with your customers.
In this tutorial, you will learn how to integrate your instance of Dialogflow ES, so that you can send the audio from the call to it and get the response from your bot plated on the call.
Getting started
In order to do successfully integrate Dialogflow ES with Telnyx Voice API, you'll need to start by assigning the Dialogflow configuration to your Voice API application using the following update request.
Dialogflow Connections request sample
NoteDon't forget to update
YOUR_API_KEY
here.
curl -X POST \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_API_KEY" \
--data '{ \
service_account: “GOOGLE_APPLICATION_CREDENTIALS”
}' \
https://api.telnyx.com/v2/dialogflow_connections/{connection_id}
Note that GOOGLE_APPLICATION_CREDENTIALS must be provided in a form of encoded json. Google Dialogflow Setup.
When the configuration is assigned to the application users can enable the Dialogflow integration for every outbound or inbound call.
Enabling dialogflow for outbound calls
curl --location --request POST 'https://api.telnyx.com/v2/calls' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"to":"+48662211095",
"from":"+13127367481",
"connection_id":"1714376719458109299",
"enable_dialogflow": true
}'
Enabling dialogflow for inbound calls
curl -X POST \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_API_KEY" \
--data '{"enable_dialogflow": true}' \
https://api.telnyx.com/v2/calls/{call_control_id}/actions/answer
When the integration is enabled, users can expect the audio provided by Dialogflow will be played on the call, and the following webhooks will be delivered to the webhook url:
{
"data": {
"event_type": "dialogflow.detectintent.response",
"id": "22cbf929-9a87-43ab-873b-b832ccf05a05",
"occurred_at": "2022-05-23T16:01:53.301413Z",
"payload": {
"call_control_id": "v2:WE_lbN28P-h81n4xeceODATcx9J-FYci6WO4hP3Gp9Sb789WivnkMw",
"call_leg_id": "a3dc0316-dab1-11ec-aaff-02420a0d6669",
"call_session_id": "a3cf4428-dab1-11ec-84a9-02420a0d6669",
"client_state": null,
"confidence": 1,
"connection_id": "1669581837548127492",
"fulfillment_messages": [{
"text": [
"Hi! I'm the virtual car rental agent. I can help you start a new car rental reservation. How can I assist you today?"
]
}
],
"is_final": true,
"stream_id": "eb724ae3-4f93-49d0-9ab5-c821b47c4fc5",
"transcript": "hello"
},
"record_type": "event"
},
"meta": {
"attempt": 1,
"delivered_to": "https://webhook.site/e437011a-bb4a-4f34-8060-30e6604c2cf6"
}
}
Need some assistance?
If you need some help, reach out to a member of our team through our form or the portal.