Incoming webhook

The Incoming webhook allows creating an endpoint that receives data from external systems. This way, there is no need to send data for a particular customer separately. In the Automation module, the received data is processed and, if data contains any customer identifier, it can be transformed into customer’s data. Incoming webhook facilitates an easy integration with the external systems and allows launching an automated journey based on the received data. Data sent to the endpoint through Incoming webhook must be in the JSON format. If the data is nested, it will be flattened in accordance with the structure.

Node configuration


  1. Go to Automations > Incoming > New integration.

  2. In the Endpoint section, the endpoint URL is generated automatically. The endpoint is unique for every integration.

  3. Optionally, you can personalize the integration by adding an icon.

  4. Confirm the settings by clicking Apply.

  5. In the Incoming data, send the first request to the endpoint defined in the Endpoint section by clicking Retrieve data. The system waits for the response for 1 minute and 30 seconds. On the basis of received data, the system creates parameters which can be used in the future to filter requests.
    If the endpoint receives the data, they appear in flattened form.

    Example of use
    Example of data
  6. To see the raw JSON, click the icon.

  7. If the received data has the expected structure, confirm by clicking the Apply button.

  8. Publish the inregration by clicking Save & publish.

Example of use


Example of use
Example of a journey

Prepare a simple integration which is capable of receiving data and transforming it to a client event.

  1. Add a Business Event trigger node.

  2. Use the Incoming webhook integration by means of which the system receives data about products in the cart and the email as the identifier.

  3. Connect the Business Event trigger node with the Outgoing webhook node. The body transferred from the Incoming webhook selected in the Business Event is passed to an endpoint. In this example, the Incoming webhook uses the endpoint documented here. To pass further the values received in the Incoming webhook, you can use jinja.

    {{request.body.paramName}} for the parameters in the request body
    {{request.headers.headerName}} for the parameters in the request headers

    Below you can find an example of data received from the external service to an endpoint indicated in the Incoming webhook settings.

    {
        "body": {
        "parameter1": "value1"
    },
    "businessProfileId": 611,
    "endpointId": "XXXX-XXXX-XXXX-XXXX-XXXXXXXXXX",
    "eventId": "XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "headers": {
    "X-Request-ID": "XXXXXXXXXXXXXXXXXXX",
    "X-Forwarded-Host": "example host",
        },
    "method": "POST",
    "time": 1583206296408
    }
    • To pass the value of parameter1, in the body of the Outgoing webhook enter:
      {{request.body.parameter1}}
    • To pass the value of the X-Request-ID header, in the body of the Outgoing webhook enter:
      {{request.headers["X-Request-ID"]}}
      Result: A new event appears on the activity list on the customer card.
  4. Connect the Outgoing webhook with the End node.

😕

We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.

😉

Awesome!

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.