Custom Webhook workflow action
The Custom Webhook action sends a tailored HTTP request from JourneyCARE to any URL you specify, with your choice of HTTP method, authorization, headers, query parameters, and request body. It enables real-time data exchange between JourneyCARE and third-party services. This article covers configuring the action, the five authorization options, building the request data, and how the step behaves when the receiving API fails.
Configure a Custom Webhook action
Add the action by clicking the + button in a workflow line and searching the action picker for Custom Webhook; it is listed under Send data actions in the Workflow actions catalog. For how triggers and actions fit together, see Workflows Overview.
In the action modal, ACTION NAME defaults to Custom Webhook and EVENT is set to CUSTOM. Then configure the request:
In URL, enter the endpoint that should receive the request. The field's placeholder is
https://sample-url.com.In METHOD, select POST, GET, DELETE, or PUT.
In AUTHORIZATION, select one of the five options described below.
Under HEADERS, click + Add item for each header you want to send. Under QUERY PARAMETERS, click + Add item for each parameter.
In the body field (labeled RAW BODY / Custom Values), enter your payload as JSON. As you type, autocomplete suggests custom values and inbound webhook variables.
Click Save Action.
Authorization options
The AUTHORIZATION dropdown offers five options: None, Basic Auth, Bearer Token, API Key, and Oauth2.
None: the request is sent without authorization.
Basic Auth
Bearer Token
API Key
Oauth2: uses an existing token or requests a new one. Manage saved tokens from Global Workflow Settings > Manage Tokens; see OAuth2 for custom webhooks for the steps.
Request data
The action sends three kinds of request data: headers, query parameters, and the request body.
Headers provide additional information about the request, such as authentication credentials, content type, and cache control. Add them under HEADERS with + Add item.
Query parameters pass parameters to the webhook endpoint so the receiving endpoint can filter or modify the response data. Add them under QUERY PARAMETERS with + Add item.
Body: the body field (labeled RAW BODY / Custom Values) accepts custom values and inbound webhook variables, with autocomplete suggestions as you type. This example fills the id, name, email, and phone keys with values from the contact's record:
{"id": "{{contact.id}}", "name": "{{contact.name}}", "email": "{{contact.email}}", "phone": "{{contact.phone}}"}
When the webhook fails
Execution of a Custom Webhook action depends on a successful response from the receiving API. If the API returns an error, the error appears in the contact's workflow execution; the action can become Failed and then be skipped, or retry with exponential backoff.
The action fires as soon as the contact reaches the step. Add contacts with the receiving server's limits in mind — if the server cannot handle the number of executions you target, its limits cause errors.