Setup Guide

Set up and configure a HTTP Webhook destination in RudderStack.

This guide will help you set up a HTTP Webhook destination in the RudderStack dashboard. It also lists the configuration settings required to correctly send data from the supported sources to your HTTP Webhook destination.

Connection compatibility

Destination info
  • Status: Beta
  • Supported sources: Android, iOS , Web, Unity, AMP , Cloud, Warehouse, React Native , Flutter, Cordova, Shopify
  • Refer to it as HTTP in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportednot supportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportednot supportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportednot supportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias

Setup

In your RudderStack dashboard, add a source. Then, from the list of destinations, select HTTP Webhook.

Assign a name to uniquely identify your destination in the RudderStack dashboard and click Continue.

Connection settings

SettingDescription
API URLSpecify the endpoint where RudderStack sends the events. RudderStack supports both HTTP and HTTPS URLs.

Note that:

  • For successful event delivery in case of an HTTPS URL, you must have a valid TLS certificate.
  • To configure the path parameters for this URL, see Request URL settings.
AuthenticationSelect the authentication method used while configuring your HTTP webhook endpoint. RudderStack supports the below authentication types:

  • No Auth
  • Basic Auth
  • Bearer Token
  • API Key
Depending on the selected authentication type, configure the below settings:

Auth typeSetting
No AuthNot applicable
Basic Auth
  • Username
  • Password
Bearer TokenToken
API Key
  • Key
  • Value
MethodSelect the HTTP method of the request sent to the configured endpoint from the dropdown. By default, RudderStack uses the POST method to send the events.
Body FormatSelect the body format for your HTTP webhook endpoint. RudderStack supports the following body formats:

  • JSON
  • XML
  • FORM

Event configuration settings

Click Set up mapping to configure the event mappings, query parameters, and headers sent to the HTTP webhook endpoint.

info
RudderStack uses the in-house JSON template engine for mapping the fields.

Request Body

This setting lets you map the RudderStack event properties to a specific destination field.

HTTP request body configuration

Note that the values specified in the Key field must be strictly a JSONPath, whereas the values specified in the Value field can be either a JSONPath or constant. Some examples of valid and invalid values are shown below:

KeyValueNotes
$.messageType$.typeValid key and value
$.properties.firstName$traits.fnValid key and value
properties.value100Invalid key, valid value
$.properties.currency"EUR"Valid key, invalid value
XML Root Key setting

If you set the Body Format to XML, then you can specify the root key used as a common prefix for all the field mappings defined in this section.

HTTP request body configuration for XML body format

See the end-to-end example more information on how this setting translates into the final event payload sent to the destination.

Request URL

This setting lets you configure the Path and Query parameters that RudderStack appends to your configured HTTP URL.

HTTP request URL configuration

Note the following while specifying the path and query parameters:

  • The values specified as path parameters must be either JSONPath or constants.
  • For query parameters, the values specified in the Key field must be strictly a constant, whereas the values specified in the Value field can be either a JSONPath or constant.

Some examples of valid and invalid values for these parameters are shown below:

Path parameters

PathNotes
$.event.customerIdValid path
orderValid path
"order"Invalid path

Query parameters

KeyValueNotes
keyvalueValid key and value
name$traits.firstNameValid key and value
$.messageType100Invalid key, valid value
key"value"Valid key, invalid value
Example

Suppose the API URL configured in the RudderStack dashboard is https://example.com/ and you specify the path and query parameters, as follows:

  • Path parameters in sequence: path, $.userId
  • Query parameters: key, value

Then, the final generated URL is https://example.com/path/$.userId?key=value.

Headers

This setting lets you add custom headers to your events as per your requirement.

HTTP custom header configuration

Note that the values specified in the Key field must be strictly a constant, whereas the values specified in the Value field can be either a JSONPath or constant. Some examples of valid and invalid values are shown below:

KeyValueNotes
content-typeapplication/jsonValid key and value
"content_type"$.content_typeInvalid key, valid value
properties.value100Invalid key, valid value
Authorization"event.apiKey"Valid key, invalid value

RudderStack also adds the below header for all the requests by default:

KeyValue
user-agentRudderLabs

Configuration settings

Configure the below settings to receive your data correctly in your HTTP Webhook destination.

SettingDescription
Enable BatchingToggle on this setting to let RudderStack batch the number of requests specified in the Maximum Batch Size setting before sending them to the configured endpoint.

Note that:

  • RudderStack supports this feature for the JSON body format only. It sends the batched events in the JSON array format, for example, [{Event1},{Event2},....{EventN}].
  • The maximum batch size must not exceed 100.
  • RudderStack sends the batches to the endpoint when either the batch limit is reached or after 5 seconds (even if batch size is less than the specified limit) - whichever comes first.
Consent management settingsConfigure the consent management settings for the specified source by choosing the Consent management provider from the dropdown and entering the relevant consent category IDs. See Consent Management in RudderStack for more information on this feature.

Next steps

FAQ

How do I check for delivery failures while sending events to the HTTP Webhook destination?

Log in to your RudderStack dashboard and go to the Live Events tab of your destination to check for any delivery failures. In case there are any, you can check the Error Response by clicking the event to get more details.



Questions? Contact us by email or on Slack