Overview
An inbound workflow webhook lets external systems (your backend, Zapier, Make, custom scripts) POST data into OrbitForms and run a specific workflow — without using the public form embed.Inbound webhooks are always tied to a Form trigger. You must select a form on the workflow trigger first; the webhook accepts data in the exact same structure as that form’s fields.
What happens when data arrives
- OrbitForms validates the HMAC signature and payload structure
- A form submission is created (visible in your submissions list)
- Only that workflow runs — other form integrations (outbound webhooks, Slack, Zapier, etc.) are not triggered
Setup in the workflow builder
- Open your workflow and add a Form Submission trigger
- Select the form whose field structure you want to mirror
- In the trigger panel, enable Inbound Webhook
- Copy the Webhook URL and Signing Secret (the secret is shown once — save it securely)
name (not label).
Endpoint
{token} when you enable the inbound webhook.
Required headers
| Header | Description |
|---|---|
Content-Type | application/json |
X-Orbit-Signature | HMAC-SHA256 signature of the raw request body: sha256=<hex> |
X-Orbit-Timestamp | (Optional) Unix timestamp in milliseconds — rejected if older than 5 minutes |
Payload structure
Send a flat JSON object where each key is a form fieldname:
Field types
| Form field type | JSON type | Example |
|---|---|---|
| Text, email, phone, URL, textarea, number, date, time, dropdown, multiple choice | string | "[email protected]" |
| Multi-select | string[] | ["Option 1", "Option 2"] |
Signing requests
Compute the signature over the exact raw JSON body (before parsing):The signing algorithm matches outbound webhook verification. Use the same HMAC-SHA256 approach with your inbound webhook secret.
cURL example
Replace{token}, {secret}, and field values with your workflow’s values:
Responses
Success (200)
Error codes
| Status | Meaning |
|---|---|
401 | Missing or invalid X-Orbit-Signature |
404 | Webhook token not found or disabled |
413 | Request body exceeds 1 MB |
422 | Payload validation failed — see details array |
429 | Rate limit exceeded (100 requests/minute per team) |
500 | Server error |
Rotating the signing secret
In the workflow trigger panel, use Rotate secret to generate a new signing secret. Update your external system immediately — requests signed with the old secret will fail.Disabling the webhook
Toggle off Inbound Webhook in the trigger panel, or delete the workflow. The URL becomes invalid immediately.Related
Outbound Webhooks
Receive events when forms are submitted (Orbit → your server)
Webhook Security
HMAC signature verification details
Workflows Guide
Build and manage automation workflows
Form Fields
Understand field names and types