Skip to main content

Webhook Trigger

A webhook lets an external system start a workflow by sending a request to a web address (URL). Use it when another system should decide when the workflow runs — for example, when an order system reports a new order.

You manage a workflow's webhooks from its Trigger step, on the Webhook tab. The same webhooks are also listed under Administration → Integrations → Webhooks; see Webhooks there.


Setting up a webhook​

  1. Open the workflow and select the Trigger step.
  2. Open the Webhook tab, next to Manual, Schedule and Event.
  3. Click Create Webhook. If the workflow already has webhooks, use + Create Webhook above the list.
  4. Enter a Webhook Name (required; it is saved in lower case) and, optionally, a Description.
  5. Click Save.

The new webhook appears in the list as Active, linked to this workflow. If the workflow has no webhooks yet, the tab shows "No webhooks configured for this workflow".

You need permission to manage webhooks to create, deactivate or delete them.


Calling the webhook​

Each webhook shows the instruction "Send a POST request to the URL below to trigger this workflow." Copy Webhook URL (with token) with the copy button and give it to the external system. The token in the URL identifies the caller.

If the external system can't send a token in the URL, click Use Basic Auth instead to show the plain Webhook URL together with a Username and Password, each with its own copy button.


Example​

An order system should start a workflow whenever an order is created.

  1. Create a webhook named new-order on the workflow's Trigger step.
  2. Copy Webhook URL (with token) and give it to the people who manage the order system.
  3. In the order system, set up a call that sends a POST request to that URL when an order is created, with the order data in the request.

Each time an order is created, the order system calls the URL and the workflow starts. The data sent with the request is available in later steps as $context.data.trigger.body, and the request headers as $context.data.trigger.header (see the $context Reference).


Managing webhooks​

For each webhook, the buttons next to the URL let you:

  • Deactivate (or Activate) it — a deactivated webhook is shown as Inactive
  • Delete it, after confirming

The Webhook tab does not change the workflow's own trigger type. A workflow keeps its Manual, Schedule or Event setting, and a webhook is an additional way to start it.


Further reading​