Point your form
at anything.
Full HTTP control. POST, GET, or PUT. JSON or form-encoded. Custom headers. Templated body. Your API, your Zapier endpoint, your CI/CD trigger, your CRM. Whatever you've got.
7-day free trial. No payment method required.
Sound familiar?
Your API needs custom headers and the simplified UI can't do it.
Authorization tokens, X-API-Key headers, specific Content-Type overrides. Every SaaS webhook tool gives you a simplified UI that falls short the moment your API has real requirements.
Zapier works, but it breaks when you rename a field.
Four steps, a filter, and a Zap that silently fails when field names change. Native webhook support eliminates the middleware. Your form fires directly to your endpoint.
You need a specific JSON payload and the schema has to be exact.
Triggering a CI/CD pipeline, a CRM intake endpoint, or an internal API requires a precise body structure. A body template with variable substitution gives you that control.
Configure the request. Runs on every real submission.
Configure the request
Set the URL, HTTP method (POST/GET/PUT/PATCH/DELETE), content type (JSON or form-encoded), and any custom headers your endpoint requires (Authorization, X-API-Key, anything).
Write the body template
Use {{field_name}} syntax to inject submitted values into any JSON structure. Nest them, combine them, shape the payload exactly as your downstream system expects.
Submit fires the request
Each real submission triggers the HTTP call. The execution log captures the full response (status code, body, headers), so you can debug integration mismatches without guessing.
Real HTTP control. Not a simplified wrapper.
Full header control
Add Authorization, Bearer tokens, X-API-Key, Content-Type, or any custom header your endpoint needs. No restrictions on which headers you can set.
POST, GET, PUT, PATCH, DELETE
Choose the HTTP method. Some CI/CD systems and legacy APIs only accept GET requests. Not locked into POST.
JSON and form-encoded
Send data as application/json or application/x-www-form-urlencoded. Both formats support the same {{field_name}} template syntax.
Templated body
Construct exactly the payload your downstream system expects. Reference any submitted field, nest them in objects, combine them in arrays. No field name mismatches.
Full response logged
Execution log captures HTTP status code, response body, and headers for every attempt. Debug your endpoint integration without tailing logs on the other side.
Spam blocked before the call
Spam submissions never reach your webhook endpoint. Your API rate limits, quotas, and processing pipelines stay clean.
Ready to connect your form to your stack?
Get started freeConfigure the template. Fires the exact request you need.
StaticForm dashboard
Click to zoom
Body template
{
"lead_name": "{{form.name}}",
"lead_email": "{{form.email}}",
"company": "{{form.company}}",
"source": "contact_form",
"message": "{{form.message}}",
"submitted": "{{timestamp:UTC}}"
} Fired request
POST https://api.yourcrm.com/leads
Authorization: Bearer sk-•••••••••
Content-Type: application/json
{
"lead_name": "Sarah Chen",
"lead_email": "sarah@example.com",
"company": "Acme Corp",
"source": "contact_form",
"message": "Interested in your pricing...",
"submitted": "2025-01-15T14:07:00Z"
}
→ 201 Created Also works with
get started
Your next real lead is
waiting to arrive.
Set up a form in 5 minutes. Spam blocked automatically. Every real submission stored, delivered, and logged.
Ready to get started?
Add forms to your site in minutes