Skip to main content
POST

Create Webhook Integration

Add a new webhook integration to send form submissions to an external endpoint.

Authentication & Scope

This endpoint requires a Personal Access Token with the manage-integrations ability.

Request

number
required
The ID of the form to which the webhook will be added.
string
required
Use "webhook" for a generic webhook integration or "make" for the official OpnForm app on Make. Both values are registered integration handlers exposed by this endpoint.
string
required
The initial status of the webhook. Allowed values: "active", "inactive".
object
required
Configuration object containing webhook details.
object
Optional conditional logic to trigger the webhook only when specific conditions are met.
For the official OpnForm app on Make, the attach request uses the same endpoint with the provider-specific integration identifier:

Response

200 OK – Webhook created successfully.
403 Forbidden – The token does not have manage-integrations ability or insufficient form permissions. 404 Not Found – Form not found. 422 Unprocessable Entity – Validation error (e.g., invalid or non-public webhook URL, webhook_secret too short, blocked header).

Security

If you provide a webhook_secret when creating the webhook, OpnForm will sign each webhook request with an HMAC-SHA256 signature. This allows you to verify that the webhook came from OpnForm and hasn’t been tampered with. Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment. Each webhook request will include:
  • X-Webhook-Signature header: Contains the signature in format sha256=HEXADECIMAL_VALUE
  • Custom headers: Any headers you specified in webhook_headers (except blocked headers)
  • JSON body metadata: The payload includes form_id and submission_id so you can correlate webhook deliveries with OpnForm API submission management endpoints

Blocked Headers

For security reasons, the following headers cannot be customized:
  • Authorization
  • X-Webhook-Signature
  • Content-Type
  • Content-Length
  • Host
  • Cookie
  • X-CSRF-Token
  • X-Forwarded-For
  • X-Forwarded-Proto
  • X-Real-IP
See Validating Webhook Signatures for implementation examples.

Make payload

The "make" handler sends a provider-specific payload matching the output interface of the OpnForm Make app:
edit_link is present only when editable submissions are enabled. Unlike the generic webhook payload, the Make payload omits the deprecated submission and message properties.
Do not commit webhook secrets to version control. Use environment variables or secure vaults to manage them.

Authorizations

Authorization
string
header
required

Personal Access Token

Path Parameters

form
number
required

The ID of the form.

Body

application/json
integration_id
enum<string>
required

Use "webhook" for a generic webhook or "make" for the official OpnForm app on Make

Available options:
webhook,
make
data
object
required
status
enum<string>
default:active

The initial status of the webhook

Available options:
active,
inactive

Response

Webhook created successfully

message
string
Example:

"Form Integration was created."

form_integration
object