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: from form to first request
An inbound webhook always belongs to a workflow whose trigger is a form. The form defines the payload contract, the workflow defines what happens when data arrives. Setting one up is a three-part flow: build a form → wire up the workflow → send matching data.Step 1 — Create the form
Before you can enable an inbound webhook, you need a form whose fields describe the data you’ll send:- Go to Forms and create a new form
- Add a field for every piece of data your external system will send — e.g. an email field, a first-name field, a company field
- Note each field’s name (not its label) — the webhook payload is keyed by field name, and names must match exactly
- Mark fields required if your sender must always include them
Step 2 — Create the workflow and enable the webhook
- Go to Workflows and create a new workflow
- Add a Form Submission trigger and select the form you just created
- In the trigger panel, toggle on Inbound Webhook
- Copy the Webhook URL and Signing Secret — the secret is shown once, so store it like a password
- Add the actions the workflow should run when data arrives (create a contact, send an email, push to your CRM, etc.)
- Activate the workflow — the endpoint rejects requests with
409while the workflow is still a draft
name (not label).
Step 3 — Send data that matches the form
Build a JSON object whose keys are the form’s field names. If your form looks like this:
…then a valid payload looks like this:
Endpoint
{token} when you enable the inbound webhook.
Required headers
Payload structure
Send a flat JSON object where each key is a form fieldname:
Field types
Custom fields
You can send data that isn’t part of the form — a lead score, a qualification flag, an external ID — by declaring custom fields on the trigger:- Open the workflow trigger panel with the inbound webhook enabled
- Under Custom fields, add a field name (e.g.
qualified) and choose its type — Text (string) or List (string[]) - Save the workflow
qualified equals yes), and are available to later workflow steps and field mappings.
- Custom fields are always optional — a payload that omits them is still valid
- Names must start with a letter and contain only letters, numbers, and underscores (max 64 characters, up to 20 custom fields)
- A custom field cannot reuse a form field’s name — the form’s definition wins
- Undeclared fields are still rejected with
422, so typos fail loudly instead of silently dropping data - Like form-field edits, custom-field changes take effect as soon as the workflow is saved (the editor auto-saves) — they do not wait for a publish, so update your sender before removing or renaming a field the sender still uses
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
Example validation 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