Table of Contents
Dialogflow: Fulfillment Webhook Request
Updated by Susan Swier
If you are building a Dialogflow Agent that uses Dialogflow Fulfillment extensively, you will find the data passed by the channel provider useful for your application. This data is passed from the respond.io platform to Dialogflow using the originalDetectIntentRequest field.
Contact Object
To allow for more advanced use cases of the API, the Contact object is appended to the request by the platform. The cId item in the Contact object reflects the same value used in the Contacts API.
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
}
"originalDetectIntentRequest": {
"payload": {
"source": "facebook",
"contact": {
"cId": "3854977680200098",
"contactId": "123456",
"channelId": "7890"
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"entry": [
{
"messaging": [
{
"recipient": {
"id": "177689475607202"
},
"message": {
"text": "hi",
"mid": "D3DJuA0YlOgDgOybFG1M2ZHoJg9hq9IAjMQE2ps6RIN4QJ25rNPMi"
},
"timestamp": 1564743055901,
"sender": {
"id": "2254108171328398"
}
}
],
"id": "177689475607202",
"time": 1564743056313
}
],
"object": "page"
}
}
}
LINE
"originalDetectIntentRequest": {
"payload": {
"source": "line",
"contact": {
"cId": "U905251b5f5759acde5e4788681c04269",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"events": [
{
"type": "message",
"replyToken": "16a59224c65b4c5cbecedc4f3504599b",
"source": {
"userId": "U905251b5f5759bbde5e4788681c04170",
"type": "user"
},
"timestamp": 1593146060317,
"mode": "active",
"message": {
"type": "text",
"id": "12211455206333",
"text": "Hi"
}
}
],
"destination": "U5698920083824716136c04633a9e1710"
}
}
}
SMS Twilio
"originalDetectIntentRequest": {
"payload": {
"source": "twilio",
"contact": {
"cId": "+12262120005",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"ToCountry": "CA",
"ToState": "Ontario",
"SmsMessageSid": "SM1f1c9a30ff67cf5b1a89d5b1e0735a2b",
"NumMedia": "0",
"ToCity": "",
"FromZip": "",
"SmsSid": "SM1f1c9a30ff67cf5b1a89d5b1e0735a2b",
"FromState": "Ontario",
"SmsStatus": "received",
"FromCity": "St Thomas",
"Body": "Hi",
"FromCountry": "CA",
"To": "+12267022870",
"ToZip": "",
"NumSegments": "1",
"MessageSid": "SM1f1c9a30ff67cf5b1a89d5b1e0735a2b",
"AccountSid": "AC75bcf6cd15a35c46c6e5fa6d6dde6028",
"From": "+12262121015",
"ApiVersion": "2010-04-01"
}
}
}
SMS MessageBird
"originalDetectIntentRequest": {
"payload": {
"source": "message_bird",
"contact": {
"cId": "16364923690"
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"body": "Hi",
"createdDatetime": "2020-06-26T07:51:30+00:00",
"date": "1593186690",
"date_utc": "1593157890",
"id": "6c4c8c58eb204e69ae7d07e309c5a11c",
"invocationId": "477a8bc9-a4ec-45db-98e0-3b982898945a",
"message": "Hi",
"message_id": "026a4c0e38954e5684757ba1de645130",
"originator": "12267022870",
"payload": "Hi",
"receiver": "12262121015",
"recipient": "12262121015",
"reference": "88003423322",
"sender": "12267022870"
}
}
}
SMS Vonage
"originalDetectIntentRequest": {
"payload": {
"source": "nexmo",
"contact": {
"cId": "60133386712"
},
"body": {
"msisdn": "12012938397",
"to": "12012938397",
"messageId": "16000002AB5DBF42",
"text": "Hi",
"type": "text",
"keyword": "HI",
"api-key": "2787fb30",
"message-timestamp": "2020-04-27 09:00:08"
}
}
}
Telegram
"originalDetectIntentRequest": {
"payload": {
"source": "telegram",
"contact": {
"cId": "928825753",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"update_id": 68062810,
"message": {
"message_id": 358,
"from": {
"id": 921815852,
"is_bot": false,
"first_name": "Leo",
"language_code": "en"
},
"chat": {
"id": 921815852,
"first_name": "Leo",
"type": "private"
},
"date": 1593415824,
"text": "Hi"
}
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "twitter",
"contact": {
"cId": "800244779787258095",
"contactId": 123456,
"channelId": 7890
},
"body": {
"for_user_id": "800244779786258096",
"direct_message_events": [
{
"type": "message_create",
"id": "1277881813680091140",
"created_timestamp": "1593505740934",
"message_create": {
"target": {
"recipient_id": "800244779786258096"
},
"sender_id": "1236829623670812661",
"message_data": {
"text": "Hi",
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [],
"urls": []
}
}
}
}
],
"users": {
"1236829623670812661": {
"id": "1236829623670812661",
"created_timestamp": "1583718145786",
"name": "leoawesome",
"screen_name": "leoawesome21",
"protected": false,
"verified": false,
"followers_count": 0,
"friends_count": 1,
"statuses_count": 0,
"profile_image_url": "http://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png",
"profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png"
},
"800244779786258096": {
"id": "800244779786258096",
"created_timestamp": "1479628198125",
"name": "respond.io",
"screen_name": "respond_io",
"description": "https://t.co/8AN2CVzhwJ is a business messaging platform that connects customers from any channel to every team.",
"url": "https://t.co/vE593YRZwo",
"protected": false,
"verified": false,
"followers_count": 246,
"friends_count": 23,
"statuses_count": 1527,
"profile_image_url": "http://pbs.twimg.com/profile_images/1250330944067653632/3KiCeUhc_normal.jpg",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1250330944067653632/3KiCeUhc_normal.jpg"
}
}
}
}
}
Viber
"originalDetectIntentRequest": {
"payload": {
"source": "viber",
"contact": {
"cId": "T1yTBK3PQTHAFchsDh1skA==",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"event": "message",
"timestamp": 1593420787910,
"chat_hostname": "BN-CHAT-14_",
"message_token": 5458312086267550000,
"sender": {
"id": "T1yTBK3PQFGAGdhsDh1skA==",
"name": "Leo",
"avatar": "https://media-direct.cdn.viber.com/download_photo?dlid=tHBOJafTJ8WSwoFLCQ0x1lmS8RXeDXXyUVoAoLmmOGPIMprwqNCUO6BH3cG-VoAYd3WetLrBK4nP7C86ZN3MxG5T40A1lduzChAts-ULz0oO9l7FjW3bAYljiLyTGkYbaCRjcQ&fltp=jpg&imsz=0000",
"language": "en",
"country": "MY",
"api_version": 8
},
"message": {
"text": "Hi",
"type": "text"
},
"silent": false
}
}
}
"originalDetectIntentRequest": {
"payload": {
"source": "wechat",
"contact": {
"cId": "ovYOJv8eZlJ5efKToATGeOk5hBQM",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"xml": {
"ToUserName": [
"gh_5b17802cd972"
],
"FromUserName": [
"ovYOJv8eZlJ5evMToATGePk5hAQM"
],
"CreateTime": [
"1593421765"
],
"MsgType": [
"text"
],
"Content": [
"Hi"
],
"MsgId": [
"22812312807562437"
]
}
}
}
}
Webchat
"originalDetectIntentRequest": {
"payload": {
"source": "webchat",
"contact": {
"cId": "e6507476-e507-4503-9652-bcde24e8ea88",
"contactId": 123456,
"channelId": 7890
},
"body": {
"sender": {
"id": "07f1e397-12a8-485b-a417-14d7e3837608",
"locale": "en_US"
},
"recipient": {
"id": "4db00a5db70efbb51a0cd6a6635918390dd1945a89ce77898ab66b82d5c15344"
},
"query": [
{
"type": "query",
"text": "Hi"
}
]
}
}
}
WhatsApp Business API
"originalDetectIntentRequest": {
"payload": {
"body": {
"object": "whatsapp_business_account",
"entry": [
{
"changes": [
{
"value": {
"contacts": [
{
"wa_id": "60124438291",
"profile": {
"name": "Shahzad"
}
}
],
"metadata": {
"display_phone_number": "15550468615",
"phone_number_id": "106875742284151"
},
"messaging_product": "whatsapp",
"messages": [
{
"id": "wamid.HBgLNjAxMjQ0MzgyOTEVAgASGBYzRUIwOTA1ODAxRUQ5MDAxOTI1QTcxAA==",
"type": "text",
"from": "60124438291",
"timestamp": "1680061817",
"text": {
"body": "Tell me a joke"
}
}
]
},
"field": "messages"
}
],
"id": "106024152370383"
}
]
},
"source": "whatsapp_business",
"contact": {
"cId": "60124438291",
"contactId": 38,
"channelId": 59
}
}
}
WhatsApp Cloud API
"originalDetectIntentRequest": {
"payload": {
"body": {
"entry": [
{
"id": "106024152370383",
"changes": [
{
"field": "messages",
"value": {
"messaging_product": "whatsapp",
"messages": [
{
"id": "wamid.HBgLNjAxMjQ0MzgyOTEVAgASGBYzRUIwMjM1OUQ4NkE4MUJDRDY1QkE0AA==",
"timestamp": "1680063507",
"text": {
"body": "Tell me a joke"
},
"from": "60124438291",
"type": "text"
}
],
"metadata": {
"display_phone_number": "15550468615",
"phone_number_id": "106875742284151"
},
"contacts": [
{
"wa_id": "60124438291",
"profile": {
"name": "Shahzad"
}
}
]
}
}
]
}
],
"object": "whatsapp_business_account"
},
"contact": {
"cId": "60124438291",
"channelId": 45,
"contactId": 43
},
"source": "whatsapp_cloud"
}
}
WhatsApp Twilio
"originalDetectIntentRequest": {
"payload": {
"source": "twilio_whatsapp",
"contact": {
"cId": "whatsapp:+60133385703",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"SmsMessageSid": "SMb16231017683857d42ca62aafabcf205",
"NumMedia": "0",
"SmsSid": "SMb16231017683857d42ca62aafabcf205",
"SmsStatus": "received",
"Body": "Hi",
"To": "whatsapp:+14155238886",
"NumSegments": "1",
"MessageSid": "SMb16231017683857d42ca62aafabcf205",
"AccountSid": "AC75bcf6cd15a35c46c6e5fa6d6dde6028",
"From": "whatsapp:+60144486813",
"ApiVersion": "2010-04-01"
}
}
}
WhatsApp MessageBird
"originalDetectIntentRequest": {
"payload": {
"source": "message_bird_whatsapp",
"contact": {
"cId": "60133385712",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"contact": {
"attributes": {},
"createdDatetime": "2020-05-18T03:02:01Z",
"customDetails": {},
"displayName": "60123376813",
"firstName": "",
"href": "https://contacts.messagebird.com/v2/contacts/32845951f19c43d0b4e3371df0da941a",
"id": "32845951f19c43d0b4e3371df0da941a",
"lastName": "",
"msisdn": 60123376813,
"updatedDatetime": "2020-05-18T03:02:01Z"
},
"conversation": {
"contactId": "32845951f19c43d0b4e3371df0da941a",
"createdDatetime": "2020-05-18T03:02:01Z",
"id": "64d59ed4cb4f419ca39114c292c1a597",
"lastReceivedDatetime": "2020-06-26T08:58:55.7451283Z",
"status": "active",
"updatedDatetime": "2020-06-25T08:59:30.877791342Z"
},
"message": {
"channelId": "f4b115e89415407ab2b97fe85ad3d191",
"content": {
"text": "Hi"
},
"conversationId": "64d59ed4cb4f419ca39114c292c1a597",
"createdDatetime": "2020-06-26T08:58:55Z",
"direction": "received",
"from": "+60123376813",
"id": "91c8268bb72b412cab3b4080a974c5dc",
"platform": "whatsapp",
"status": "received",
"to": "+6531290788",
"type": "text",
"updatedDatetime": "2020-06-26T08:58:55.750324338Z"
},
"type": "message.created"
}
}
}
WhatsApp Vonage
"originalDetectIntentRequest": {
"payload": {
"source": "nexmo_whatsapp",
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"message_uuid": "2b53f909-1640-471f-a44d-e4cb9bd00c44",
"to": {
"type": "whatsapp",
"number": "12012938397"
},
"from": {
"type": "whatsapp",
"number": "60133285813"
},
"timestamp": "2020-06-29T04:37:21.876Z",
"message": {
"content": {
"type": "text",
"text": "Hi"
}
},
"direction": "inbound"
}
}
}
WhatsApp 360dialog v1
"originalDetectIntentRequest": {
"payload": {
"source": "message_pipe_whatsapp",
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"environment": {
"app_id": "476"
},
"events": [
{
"name": "d360_whatsapp_message_in",
"properties": {
"stack_id": "85256128299",
"message_id": "IY2Cx8lhx0E0M",
"conversation_id": "K7SWYeCmed07C",
"type": "text",
"content": {
"body": "Hi"
}
},
"timestamp": "1593502341000",
"id": "7a104e27-d4d2-4e5d-8c8a-c74f3ba8e6c1"
}
],
"device": {
"mdn": "60133286713",
"profile_name": "Leo"
},
"recipient_id": "64f0699c-e005-409d-b177-6a975c61ba60"
}
}
}
WhatsApp 360dialog v2
"originalDetectIntentRequest": {
"payload": {
"source": "360dialog_whatsapp",
"contact": {
"cId": "60133386712",
"contactId": 123456,
"channelId": 7890
},
"attachments": [
{
"type": "location",
"payload": {
"lat": 3.146642,
"long": 101.695847,
"address": "Kuala Lumpur City Center"
}
}
],
"body": {
"contacts": [
{
"profile": {
"name": "John Don"
},
"wa_id": "923339883320"
}
],
"messages": [
{
"from": "923339885509",
"id": "ABEGkjM5iFUJAhDGiqsifkiyZkH6HzvBfO2m",
"text": {
"body": "Hi"
},
"timestamp": "1595240228",
"type": "text"
}
]
}
}
}
FAQ and Troubleshooting
Payload is not supported
Any unsupported payloads, e.g., Google Assistant cards, will not appear on the platform and will be ignored by respond.io.
Incorrect payload format
Payload formats are strict and any missing key values would result in undesirable results, i.e., not appearing on the platform, appearing incorrectly, etc.
Time latency more than 5 seconds
If you have a complex fulfillment criteria, e.g., connecting to some third-party service that does queries before returning a response, then you must consider the time latency as described in the Dialogflow documentation here. The response needs to be returned within 5 seconds or else the webhook fails and no response will be returned to DialogFlow and respond.io.