Help Center

Trigger an automation from another service (incoming webhook)

An automation with a Webhook trigger has its own URL. When another service sends a POST request to that URL, the automation runs with the data that was sent. Use it to react to things that happen outside Unstack, such as a form submission or a new booking in another tool.

Get the webhook URL

  1. Open Tools in the sidebar and choose Automations.
  2. Create an automation and tell the assistant it should run from a webhook, or open an existing automation, click Edit in the header and set the trigger to Webhook.
  3. Open the automation. The Webhook URL panel shows the URL. Click the eye icon to reveal it in full, or click Copy.
  4. Paste the URL into the service that should trigger the automation.

The automation must be Active to run from its URL. A request to a draft or paused automation is refused.

Keep the URL secret

The part of the URL after ?s= is a secret. Anyone who has the full URL can run the automation, so treat it like a password. Do not post it in a public place or commit it to a shared repository.

If the sending service lets you set custom headers, you can remove ?s=... from the URL and send the same value in an x-webhook-secret header instead.

What to send

Send a POST request with a JSON body. The fields of the body become the data the automation's steps can use, together with a source field set to webhook.

```bash

curl -X POST "PASTE_YOUR_WEBHOOK_URL_HERE" \

-H "Content-Type: application/json" \

-d '{"name": "Dana Reyes", "email": "dana@example.com", "service": "Weekly cleaning"}'

```

What comes back

The automation runs while the request waits, and the response is JSON with the automation's id and name, an ok flag and the run's result. A sender that needs a quick answer may time out on a long automation, so keep webhook automations short or have the sender ignore the response.

Build the steps

Tell the assistant what the sender will post and what should happen. For example: "When the webhook is called, create a lead from the name, email and service fields, then email me." If you can, paste a sample of the JSON the service sends so the steps use the right field names.

You cannot dry-run a real request from another service, but you can test the steps: use Dry run (test) to check the flow, then send one real request with the curl command above and look at Run History.

Errors you may see

Plan

Automations need the Starter plan or above. To call an automation from your own code with an API key instead of a secret URL, see Run an automation from your own code.