Test and troubleshoot webhooks
Use a test webhook to check that your endpoint can receive a request from Makeform. You can inspect the test result through MCP.
Send a test
Webhooks are managed in the dashboard or through MCP; there are no REST webhook endpoints. In MCP, call list_webhooks to get the webhook ID, then call test_webhook with the form and webhook IDs:
{
"form_id": "FORM_ID",
"webhook_id": "WEBHOOK_ID"
}Makeform sends one signed webhook.test event from its servers. It has no submission data, and the test request times out after 10 seconds. The test sends an outbound request but does not change stored data.
Read the test result
The MCP result includes ok, status, duration_ms, signed, and message. It may include error, whose value is target_blocked, timeout, or network_error. The receiver’s response body is discarded.
A test request uses the same headers and signature as a real delivery. Its body includes event: "webhook.test", test: true, delivery and form IDs, the form name, a send timestamp, and an empty formData object. It does not contain submission data.
Common failures
target_blocked: The test target was blocked.timeout: The test did not complete within its 10-second timeout.network_error: The test encountered a network error.
Real submission deliveries have a 30-second timeout. Makeform sends a completed submission once and does not retry if the receiver returns an error, including 5xx or 429. Partial saves do not trigger a delivery. A delivery fires when a submission is completed for the first time or when a previously partial submission is completed.
For a real delivery, verify the signature against the exact raw request body before parsing JSON. The signature is sha256=<hex> in X-MakeForm-Signature, computed with HMAC-SHA256 and the signing secret. A GET webhook has no request body or signature.