X-Canvas-Forms-Signature header so that the receiver can verify the request.Drupal Canvas Forms validates the URL against server-side request forgery upon save and during each delivery. Drupal Canvas Forms rejects URLs that resolve to private, loopback, or link-local addresses. Because Drupal Canvas Forms re-validates the URL at delivery time and pins the connection to the validated address, a URL cannot pass validation and then point to an internal address. Drupal Canvas Forms stores the signing secret securely on the server and never displays it again. Share the same secret with the receiver to verify deliveries.
After an administrator configures a webhook URL, the Webhooks tab provides options to send a test delivery and review recent deliveries.
To test a webhook and view deliveries:
Review Recent deliveries for the form, which lists the HTTP status, timing, and response for each delivery. This review helps administrators confirm that a receiver accepts submissions or diagnose a failure.
Delivery runs in the background and retries automatically on connection errors and server errors.
When an administrator sets a signing secret, each webhook request carries the following headers:
Header | Value |
|---|---|
|
|
|
|
|
|
|
|
To verify a request, compute the HMAC-SHA256 of the raw request body with the form signing secret and compare it to the value after sha256=.
The delivered JSON payload has this shape:
{
"event": "submission.created",
"table": "contact_form",
"submission_id": 42,
"data": { "field_name": "value", "...": "..." },
"ip": "1.2.3.4",
"timestamp": 1718000000
}The data object contains the validated submission values. File fields deliver as file metadata plus a presigned, time-limited download URL, valid for seven days, that a receiver can fetch without a Drupal session. The payload includes the ip field only if the form stores submitter IP addresses.
If this content did not answer your questions, try searching or contacting our support team for further assistance.
If this content did not answer your questions, try searching or contacting our support team for further assistance.