Integrations
Create Webhook Integration
Create a new webhook integration for a form. Requires manage-integrations ability.
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 themanage-integrations ability.
Request
The ID of the form to which the webhook will be added.
Must be set to
"webhook" for webhook integrations.The initial status of the webhook. Allowed values:
"active", "inactive".Configuration object containing webhook details.
Optional conditional logic to trigger the webhook only when specific
conditions are met.
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 awebhook_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-Signatureheader: Contains the signature in formatsha256=HEXADECIMAL_VALUE- Custom headers: Any headers you specified in
webhook_headers(except blocked headers) - JSON body metadata: The payload includes
form_idandsubmission_idso you can correlate webhook deliveries with OpnForm API submission management endpoints
Blocked Headers
For security reasons, the following headers cannot be customized:AuthorizationX-Webhook-SignatureContent-TypeContent-LengthHostCookieX-CSRF-TokenX-Forwarded-ForX-Forwarded-ProtoX-Real-IP
Authorizations
Personal Access Token
Path Parameters
The ID of the form.
Body
application/json