Skip to main content
A webhook is a web address that another app sends information to, such as an order form, a booking tool or your shop. When it does, your workflow starts and can use what arrived: a name, an order, an amount. This guide builds a Northwind workflow that turns each wholesale order from an outside order form into a packing task for the team. A command typed in a terminal stands in for the order form.

Add the webhook

1

Create a blank workflow

Click Workflows in the left rail, then New Workflow. Type a name, then click Create Blank Workflow. It starts switched off.
2

Add the Inbound Webhook trigger

Click the gear at the top right, then Browse All Nodes. Type “webhook” and click Inbound Webhook, the one that reads “Run the workflow when a form or external service POSTs to its webhook URL”.
3

Give it a path and a secret

In the trigger’s settings, type a Path, such as wholesale-orders. It goes on the end of the address, so you can tell your webhooks apart.Under Authentication, choose a Type. Bearer Token is the simplest: the other app sends a secret with every delivery, and anything sent without it is refused. With None, anyone who finds the address can start your workflow.
The trigger's settings: Path wholesale-orders, outlined, and Authentication Type Bearer Token, outlined, with the line Callers send an Authorization: Bearer header

The path, and a Bearer Token

4

Create the address

Click Create Webhook URL. The Production URL is the address the other app sends to. Copy it, and copy the token in the yellow box: it is shown only once. Then click I have saved it.
Webhook URL: the Production URL ending in wholesale-orders, outlined, the Test URL, Apply authentication and Rotate token, and the box Save this bearer token now. It will not be shown again, outlined. The address and token are blurred

The address and the token (both blurred here)

Lost the token? Click Rotate token for a new one, and give it to the other app.
Under What arrives here, Deliveries are is set to Leads and form submissions: each delivery is also saved in Forms as a lead, and your team gets the usual new-submission email. If the app sends data for a dashboard rather than leads, choose one of your Your data tables there instead.

Use what arrives

Add the next step the same way (gear, Browse All Nodes). Here it is Create CRM Task. What the other app sends arrives under the webhook’s payload. The button next to a field lists payload, but not the fields inside it, so add those yourself:
  1. Click and Insert next to payload. A chip appears in the field.
  2. Click the chip. Its box shows the whole variable, such as {{af07ac56-….output.payload}}.
  3. Type that variable with the field’s name added before the closing braces, such as {{af07ac56-….output.payload.cafe}}, then remove the chip.
Create CRM Task's Subject, outlined: Pack, then Inbound Webhook payload.bags, bags of, Inbound Webhook payload.coffee, for, Inbound Webhook payload.cafe

The task's subject, filled in from each order

Connect the trigger to the step (drag from the dot on the right of the trigger to the dot on the left of the step), then click Save Workflow.

Switch it on

A webhook runs your workflow only while it is switched on. Click the switch at the top so it reads Enabled.
The workflow header with the switch reading Enabled, outlined, beside Runs

Switched on

Send to it from the other app

In the other app’s webhook settings, paste the Production URL, choose POST, send the body as JSON, and add a header named Authorization whose value is Bearer followed by a space and your token. Most apps have a box for each. Here is the same delivery sent from a terminal, with the address and token left out:
The answer starts with "success":true. A delivery without the right token is refused.

See what arrived

1

Open the run

In the workflow, click Runs. Each delivery is a run marked Webhook. Click it, then click a step. Its Output shows what the other app sent, under body.
Run History with a Completed Webhook run, outlined, and the Create CRM Task step, Completed, with its Output: body with bags 12, cafe Fernwood Bakery, email ava.larsen@example.com, coffee Alberta Street Espresso and contact Ava Larsen, outlined

The delivery, and what the task step received

2

Check the result

The task is on the team’s list: CRM, then Tasks.
The Task Queue with the new task Pack 12 bags of Alberta Street Espresso for Fernwood Bakery, No due date, outlined

The packing task the order made

Good to know

  • Switched off, it still answers. While the workflow is off, a delivery gets a success answer and is saved with your form submissions, but the steps do not run, and nothing is run later when you switch it back on.
  • Keep the token secret. Anyone with the address and the token can start the workflow. If it leaks, click Rotate token and give the new one to the other app.
  • A failed delivery never pauses the workflow, so a flaky step cannot stop your orders coming in. To hear about failures, see Get Told When a Workflow Fails, and Fix It.
  • More: Workflows and See What a Workflow Did.