Webhook actions
The webhook action allows you to send and receive attributes to/from a webhook URL.
Developing a Webhook action
Webhook request structure
Webhook response structure
Successful
Unsuccessful
Handling different attribute types
In OpenDialog we support a number of different attribute types and webhook action can be used with more than just key:value pairs.
Composite Attributes
You can provide information as a JSON object in a reply to an OpenDialog Action. The attribute type within OpenDialog needs to be defined as JSON Inferred Composite
. This indicates to the OpenDialog engine that it should attempt to infer all the different properties of the JSON object and map them to appropriate attributes.
So for example you can provide the following payload as a response
OpenDialog will make this attribute available as a composite and you can access specific properties with the syntax user.policy_info[number_of_policies]
or user.policy_info[policy2][type]
, from within messages, etc.
Attribute Collections
Attribute collections are lists of items. For lists you can declare that the attribute is of a collection type and then present the information as an array within the payload response to the action.
You can then access collection data using the index - for the above it would be collection_example[0]
for retrieving item1
, and so on.
Examples
Populating attributes
This example models an action which takes first & last name attributes and uses them to populate a full name attribute. As the action response specified that it was successful, this will also automatically populate the action_success
attribute with true
.
Request
Response
Unsetting attributes
This example models a successful action which takes feedback attributes and then returns null
values for some of them, causing OpenDialog to unset those attributes. It is possible for an action response to both unset and populate attributes, they are not mutually exclusive. As the action response specified that it was successful, this will also automatically populate the action_success
attribute with true
.
Request
Response
Errors
This example models an unsuccessful action which has returned an error. As the action response specified that it was unsuccessful, this will also automatically populate the action_success
attribute with false
. The error message(s) will be automatically added to the logs.
Request
Response
Last updated