Webhook
This node enables you to seamlessly send and request data to and from third-party services.
You can click on the webhook module and enter the name of the webhook in the label field. This is not mandatory, but if you enter a label here, it should be something referring to the flow explaining what the API request is trying to achieve.
"Failed" - In case there's an issue with the API request you are trying to send, e.g. the request didn't go through or the agent is waiting for a response for longer than 5 seconds or you didn't receive the correct parameters, you can use the "Failed" tab for error tracking. Simply decide on the behavior you'd like to happen in such a case.

How to use the Webhook Node

There are a few different ways to send an API request

  • GET - Retrieve some data from the external codebase
  • POST - Create some data for the external codebase
  • PUT - Update some data to the external codebase
  • DELETE - Delete data at the external codebase
  • PATCH - Apply partial modifications to data at an external codebase

Headers

Some third-party services might require you to add HTTP headers (HyperText Transfer Protocol) to the request. This is a data transmission standard that defines how servers and browsers send and interpret data. Additional information is transferred along with the HTTP request for purposes such as authorization and identification.
Use Asynchronous Requests if you want the execution of the code not to be blocked regardless of the response. Check with your

Body

Insert your JSON, HTML, text, X-WWW-FORM-URLENCODED, or XML file here if your request requires it. These code formats are commonly used to send information back and forth.
Not all API Requests will require a body. It is usually only relevant if you’d like to pass more parameters along, other than the query parameter in the Request Mapping.

Query Parameters

In the Query Parameters section, enter the parameters you would like to send in your query.
You can either keep the value empty and have the caller fill it during the conversation or you can add the value if you want to predefine it. Use $PARAM_NAME if you want to either take the value from the parameters that you prepopulated in the parameter section or if you want the user to fill the parameter during the conversation

Response Mapping

Response Mapping defines the way you receive the third party’s response.
Define the Object Path and the right parameter you’d like to store the value in. We support XML as well as JSON as part of the response mapping.
The studio supports two response mapping types, xml and json.

> Example of xml

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
To get for example theTave (note.to) value from the xml response, the value of the object path needs to be "note.to" or note['to']

> Example of json

{
"data": {
"userId":1,
"id":2,
"completed":false
}
}
To get for example the 1 (data.userId) value from the json response, the value of the object path needs to be "data.userId" or data['userId']

> Arrays

[
{
"userId": 1,
"completed": false
},
{
"userId": 2,
"completed": false
}
]
To get 1, for example, the (first item userId property) value from the json response, the value of the object path needs to be "$[0].userId" or $[0]['userId']

How to test the webhook node

Once you have added all your request information, you can test if the webhook node is being executed correctly, by clicking on Test Request on the top right of the node settings.
In case your service requires whitelisting of our IPs, please use the following:
For EU-based agents Frankfurt: 18.198.250.71 18.156.30.186 18.195.173.181
For US-based agents
Virginia: 54.90.42.141 54.88.7.65 52.44.45.61
Copy link
On this page
How to use the Webhook Node
Headers
Body
Query Parameters
Response Mapping
How to test the webhook node