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 Orbit AI 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 Orbit AI 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:
{
  "event": "submission.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "form_id": "550e8400-e29b-41d4-a716-446655440000",
    "form_title": "Contact Form",
    "form_slug": "contact",
    "submission_id": "660e8400-e29b-41d4-a716-446655440001",
    "submission_data": {
      "email": "[email protected]",
      "name": "John Doe",
      "message": "Hello, I have a question..."
    },
    "submitted_at": "2024-01-15T10:30:00Z",
    "metadata": {
      "referrer": "https://yoursite.com/contact",
      "device_type": "desktop",
      "utm_source": "google"
    }
  }
}
The submission_data object contains all form fields exactly as submitted. Field names match your form field labels.

Authentication

Secure your webhook endpoint by adding authentication headers. We recommend using at least one of these methods:

Bearer Token

Authorization: Bearer your-secret-token

API Key Header

X-API-Key: your-api-key

Webhook Signature

Each webhook includes a signature header you can use to verify the request came from Orbit:
X-Orbit-Signature: sha256=...

Retry Logic

If your webhook endpoint returns an error or doesn’t respond, Orbit AI automatically retries:

Retry Schedule

RetryTiming
1st retry1 minute after initial failure
2nd retry1 minute after 1st retry
3rd retry1 minute after 2nd retry
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).
  • 4xx and 5xx responses will trigger retries.
  • Check your server logs for errors processing the request.
  • Webhooks timeout after 30 seconds.
  • Return a quick response, then process data asynchronously.
  • Avoid slow database queries or external API calls during the request.

Response Status Codes

CodeMeaning
200Success - submission delivered
400Bad request - will not retry
500Server error - will retry