Send any HTML form submission to a webhook.
Use one form action endpoint for email, dashboard storage, and webhook delivery. Forward submissions to Slack, Discord, Zapier, Make, n8n, Google Sheets, Notion, Airtable, HubSpot, or your own API.

The form stays simple. The routing lives in the dashboard.
Keep your website HTML clean. Add, rotate, test, and replay webhook destinations from splitforms without redeploying the site.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input name="email" type="email" required />
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>
<!-- In splitforms dashboard:
Webhooks -> Add URL -> https://your-app.com/webhooks/contact -->Slack
Send every lead to a sales or support channel.
Google Sheets
Append every submission as a spreadsheet row.
Notion
Create a page in a database for each lead.
Zapier
Use Webhooks by Zapier as universal glue.
Make
Trigger low-cost automation scenarios instantly.
n8n
Run self-hosted workflows from signed webhooks.
How do I send an HTML form to a webhook?
Point the HTML form at splitforms, then add your webhook destination in the dashboard. splitforms receives the submission, stores it, sends the email notification, and POSTs a signed JSON payload to your webhook URL.
Can I send the same form submission to multiple webhooks?
Yes. Add multiple webhook URLs to the same form. Each destination is delivered independently, so a Slack failure does not block your CRM webhook or your email notification.
Are splitforms webhooks signed?
Yes. Every outbound webhook includes an HMAC-SHA256 signature in the X-Splitforms-Signature header so your receiving endpoint can verify the payload really came from splitforms.
What happens if my webhook endpoint is down?
The submission still lands in email and the splitforms dashboard. Failed webhook deliveries are retried with exponential backoff, and failed deliveries can be replayed later.