Dialogflow: Fulfillment Webhook Request

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 IS-Messenger 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
    }

Facebook

"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"
      }
    }
  }
}

Twitter

"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": "IS-Messenger",
          "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
    }
  }
}

WeChat

"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 IS-Messenger

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 IS-Messenger

Last updated