Webhook Triggers
Webhook triggers let external systems start a workflow run via a simple HTTP POST. Use them to react to events from ticketing systems, payment processors, CI/CD pipelines, or any service that can call a URL.
Creating a Webhook
Navigate to Dashboard → Webhooks → New Webhook.
| Field | Details |
|---|---|
| Workflow | Select the target workflow from the dropdown (only published workflows appear) |
| Secret | A string you choose (e.g., my_webhook_secret_123). The calling system must send this in the X-Webhook-Secret header. |
After saving, the webhook shows:
| Field | Example |
|---|---|
| Endpoint URL | https://your-orchestrator/api/webhooks/trigger/abcd1234 |
| Secret header | X-Webhook-Secret |
Calling the Webhook
PowerShell
workflow
| 1 | Invoke-WebRequest -Uri "https://your-orchestrator/api/webhooks/trigger/abcd1234" ` |
| 2 | -Method POST ` |
| 3 | -Headers @{ |
| 4 | "X-Webhook-Secret" = "my_webhook_secret_123" |
| 5 | "Content-Type" = "application/json" |
| 6 | } ` |
| 7 | -Body '{"orderId": "12345", "customer": "Alice"}' |
cURL
workflow
| 1 | curl -X POST https://your-orchestrator/api/webhooks/trigger/abcd1234 \ |
| 2 | -H "X-Webhook-Secret: my_webhook_secret_123" \ |
| 3 | -H "Content-Type: application/json" \ |
| 4 | -d '{"orderId": "12345"}' |
Response Codes
| Status | Meaning |
|---|---|
202 Accepted | Workflow queued. Response body: {"jobId": "uuid-here", "status": "Queued"} |
401 Unauthorized | Wrong or missing X-Webhook-Secret header |
404 Not Found | Webhook ID does not exist |
422 Unprocessable | Workflow is not published or has been deleted |
Viewing Triggered Jobs
Navigate to Dashboard → Jobs → find the job with the matching jobIdfrom the 202 response. The job's Input Data column shows the JSON body you sent.
Secure Your WebhooksAlways set a strong secret and validate the
X-Webhook-Secret header. Rotate the secret if it is ever exposed. You can regenerate it from the webhook settings page.