Skip to main content
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.
What this does:
  • Creates a destination for your form data.
  • Your server can then process, store, or forward the data as needed.
Your endpoint must respond with a 2xx status code (like 200) to confirm receipt. If it doesn’t, we’ll retry the webhook.

Step 2: Add the Webhook in Orbit

Now configure OrbitForms to send data to your endpoint. What to do in Orbit:
  1. Go to your form and click the Integrations tab.
  2. Click Add Integration and select Webhook.
  3. Enter your Webhook URL (must be HTTPS).
  4. Optionally add authentication headers (see Authentication section below).
  5. Click Test Webhook to verify it works.
  6. 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 the submission.created event:
The submission_data object contains all form fields exactly as submitted. Field names match your form field labels.

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 the Retry-After header, 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).
If all retries fail, check your endpoint logs for errors. Common issues include timeouts, invalid responses, or authentication problems.

Common Issues and Fixes

  • 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).
  • 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.
  • 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


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