RoosterDocs
Rooster Docs
Installation
Integrations
OverviewEmailWebhooksSlackDiscordTelegramGoogle Sheets
Examples
Troubleshooting
HomeApp
Rooster Docs
RoosterDocs
Rooster Docs
Installation
Integrations
OverviewEmailWebhooksSlackDiscordTelegramGoogle Sheets
Examples
Troubleshooting
HomeApp
Docs/Webhook Integration

Webhook Integration

Send signed submission.created events to your own endpoint after Rooster saves a submission.

Attributes

DestinationOne HTTPS endpoint URL that receives JSON POST requests.
Eventsubmission.created after a linked website or hosted form submission is persisted.
DetailsSubmitted field values are optional. Metadata-only payloads are supported.
SecurityDeliveries include HMAC-SHA256 signatures and one-time signing secret visibility after creation.
HealthFailures are recorded, retryable failures back off, and repeated failures mark the endpoint unhealthy.

Setup

Use the Webhook integration when you want Rooster to notify another system with a signed HTTP request after a form submission is saved.

  1. Open Integrations in the dashboard.
  2. Find Webhook in Available.
  3. Click Connect.
  4. Enter the endpoint URL that should receive events.
  5. Choose whether webhook payloads should include submitted field values.
  6. Click Save integration.
  7. Save the one-time signing secret shown after creation.
  8. Send a test event to confirm your endpoint can receive Rooster webhooks.

Production endpoints must use HTTPS and cannot point to localhost, private network addresses, link-local addresses, or cloud metadata services.

After Webhook is saved, it appears in your account's connected integrations, but it only receives submissions from websites or hosted forms where you link it.

Link Webhook To A Website Or Hosted Form

To send website submissions to Webhook:

  1. Open Websites.
  2. Open the website action menu.
  3. Choose Link integration or View integration.
  4. Click Add integration if you are viewing existing links.
  5. Choose Webhook from the dropdown.
  6. Review whether this website link should include submission details.
  7. Click Link integration.

The website must have a valid connected domain before Webhook can be linked.

To send hosted form submissions to Webhook:

  1. Open Form builder.
  2. Open the hosted form action menu.
  3. Choose Link integration or View integration.
  4. Click Add integration if you are viewing existing links.
  5. Choose Webhook from the dropdown.
  6. Review whether this hosted form link should include submission details.
  7. Click Link integration.

The hosted form must be published before Webhook can be linked.

Manage Or Remove Webhook

Open Integrations, then click Manage Webhook to change the account-level endpoint, rotate the signing secret, send a test event, review deliveries, disable delivery, or disconnect Webhook from your account.

From a website or hosted form's View integration modal, use the edit icon to change Webhook settings only for that source. Use the delete icon to remove Webhook from that source only.

Events

Rooster currently sends one submission event:

  • submission.created

The event is sent after the submission has been persisted. A webhook delivery failure does not block the visitor's form submission.

When Include submission details in webhook payload is off, Rooster sends metadata only. When it is on, Rooster includes submitted field values and ignored file-field metadata when available.

Example payload:

{
  "id": "evt_...",
  "type": "submission.created",
  "api_version": "2026-07-02",
  "created_at": "2026-07-02T12:00:00.000Z",
  "livemode": true,
  "data": {
    "submission": {
      "id": "...",
      "submitted_at": "2026-07-02T12:00:00.000Z",
      "form_id": "...",
      "form_name": "Contact",
      "form_key": "default",
      "website_id": "...",
      "website_name": "Rooster",
      "source_page": "https://example.com/contact",
      "fields": {
        "email": "person@example.com",
        "message": "Hello"
      }
    }
  }
}

Signatures

Webhook deliveries include these headers:

  • Content-Type: application/json
  • User-Agent: Rooster-Webhooks/1.0
  • X-Rooster-Event
  • X-Rooster-Delivery
  • X-Rooster-Timestamp
  • X-Rooster-Signature

The signature uses HMAC-SHA256 over:

<timestamp>.<raw_json_payload>

The signature header is formatted as:

t=<timestamp>,v1=<hex_signature>

Rotate the signing secret from the Webhook settings dialog if the current secret is exposed. New deliveries use the new secret; historical delivery logs are not rewritten.

Health And Retries

Rooster records delivery attempts, response status codes, response time, short response previews, and failure reasons. Retryable failures are scheduled again with backoff. Repeated failures mark the integration unhealthy and can disable delivery until you update the endpoint or send a successful test event.

Use Send test in the Webhook settings dialog after creating, updating, or repairing an endpoint.

Compatible Apps

The Webhook integration works with systems that can receive signed inbound HTTP POST requests, including:

  • Custom apps and API servers
  • Serverless functions on AWS Lambda, Cloudflare Workers, Vercel, or Netlify
  • Automation platforms such as Zapier, Make, Pipedream, and n8n
  • CRMs or help desks that support inbound webhooks
  • Internal data pipelines and queue gateways
  • Notification relays for Slack, Discord, Telegram, or Microsoft Teams
  • Spreadsheet or database automation tools that expose webhook URLs
PreviousEmail IntegrationNextSlack Integration

On this page

AttributesSetupLink Webhook To A Website Or Hosted FormManage Or Remove WebhookEventsSignaturesHealth And RetriesCompatible Apps