Webhooks are a Pro plan feature.
Start Here
Webhooks let you send form submission data to any URL in real-time. This is perfect for building custom integrations, connecting to internal systems, or triggering complex automation workflows. This guide shows you how to set up and secure webhooks.Overview
Here’s the idea in plain terms:- You provide a webhook URL where OrbitForms should send data.
- When someone submits a form, Orbit sends a POST request with the submission data.
- Your server receives the data and processes it however you need.
- We include authentication headers so you can verify requests are from Orbit.
Why This Matters
Webhooks give you complete flexibility. Connect to any backend, internal tool, or custom service — even systems we don’t have native integrations for. They’re perfect for developers who need full control over their data flow.Step 1: Create Your Webhook Endpoint
First, set up a URL on your server that can receive POST requests. What to do:- Create an endpoint on your server that accepts POST requests.
- The endpoint must be publicly accessible (not localhost).
- The URL must use HTTPS for security.
- Creates a destination for your form data.
- Your server can then process, store, or forward the data as needed.
Step 2: Add the Webhook in Orbit
Now configure OrbitForms to send data to your endpoint. What to do in Orbit:- Go to your form and click the Integrations tab.
- Click Add Integration and select Webhook.
- Enter your Webhook URL (must be HTTPS).
- Optionally add authentication headers (see Authentication section below).
- Click Test Webhook to verify it works.
- Click Save to enable the webhook.
Payload Format
Webhooks send a POST request with a JSON body containing the form submission data. The example below shows thesubmission.created event:
Available Events
You can subscribe a webhook to any of these events:Authentication
Secure your webhook endpoint by adding authentication headers. We recommend using at least one of these methods:Bearer Token
API Key Header
Webhook Signature
Each webhook includes a signature header you can use to verify the request came from Orbit:Retry Logic
If your webhook endpoint returns an error or doesn’t respond, OrbitForms automatically retries up to 3 times with exponential backoff and jitter:Retry Schedule
Notes on retry behavior:
- 4xx responses are not retried (except
429 Too Many Requests, which is retried honoring theRetry-Afterheader, capped at 5 minutes). - 5xx responses, network errors, and timeouts are retried.
- Retry count and delay are configurable per webhook (retries capped at 5, delay capped at 5 minutes).
Common Issues and Fixes
Webhook not receiving data
Webhook not receiving data
- Verify your endpoint URL is correct and publicly accessible.
- Check that your server is accepting POST requests.
- Make sure your URL uses HTTPS (HTTP is not supported).
Webhook keeps retrying
Webhook keeps retrying
- Your endpoint must return a 2xx status code (like 200).
- 5xx responses and timeouts trigger retries; 4xx responses (except 429) stop delivery immediately.
- Check your server logs for errors processing the request.
Request timing out
Request timing out
- Webhooks time out after 30 seconds by default (configurable up to 60 seconds per webhook).
- Return a quick response, then process data asynchronously.
- Avoid slow database queries or external API calls during the request.
Response Status Codes
Related Articles
Zapier Integration
Connect to 5,000+ apps with no code
HubSpot Integration
Connect to HubSpot CRM
Workflow Features
Automate with built-in workflows
All Integrations
Browse all available integrations