Step 1
In Slack, create an Incoming Webhook for the channel where you want submissions to land. Copy the webhook URL.
Integration · Slack
Send form submissions to Slack in real time.

splitforms connects your forms to Slack and moves every submission across the moment it's received — no manual export, no copy-paste.
Every submission is emailed to you and saved to a searchable dashboard, so the lead is captured even if Slack is unreachable.
Connecting Slack to your forms is included in your plan — no add-on charge and no per-message billing from splitforms.
Example: form markup
The form posts to https://splitforms.com/api/submit. The Slackrouting is configured in the splitforms dashboard against the form's access key — there's no client-side Slack-specific code in your HTML.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_SPLITFORMS_KEY" />
<input type="hidden" name="_route" value="slack" />
<input type="email" name="email" placeholder="you@example.com" required />
<textarea name="message" placeholder="Your message" required></textarea>
<button type="submit">Send to Slack</button>
</form>How it works
Here's how to send form submissions to Slack in 5 steps — no code required, and most teams finish in a couple of minutes.
In Slack, create an Incoming Webhook for the channel where you want submissions to land. Copy the webhook URL.
In your splitforms dashboard, open the form's Webhooks tab and paste the Slack URL. splitforms auto-detects the slack.com host and switches to native Slack block formatting.
Send a test submission from the form. The Slack message should arrive within ~1 second with each field rendered as a labelled block.
Optional: customise the channel-level notification using Slack's per-webhook settings. splitforms does not control message routing inside Slack.
Roll the form out. Every future submission will be POSTed to Slack as well as delivered to email — each webhook's last delivery status and error are shown in the dashboard.
How teams use it
Drop a Slack incoming-webhook URL into splitforms and every submission lands in your channel within a second of being submitted. splitforms auto-detects Slack webhooks and formats the payload as a clean Slack-native message — no Zapier required. Prefer a plainer destination? The same form can also send form submissions to email or forward them to any webhook.

Why splitforms
Formspree gates Slack to paid plans; splitforms unlocks it on the $5/month Pro plan. splitforms is free for 500 submissions per month, $5/mo on Pro, or $59 for a 3-year plan (15,000 submissions/month, 36 months of access), with no per-integration add-on fees.

How SplitForms works
Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“I replaced a Lambda + DynamoDB + SES contact form with six lines of HTML. It took eleven minutes, and the dashboard is better than what I was going to build.”
“We migrated 14 client sites off Formspree in a single weekend. The price is a third of what we paid, the API is more honest, and the spam filter actually works.”
“The webhook payload is signed, idempotent, and well-shaped. It reads like code from a competent team, not a CRUD app held together with duct tape.”
“I stopped reaching for Typeform on small marketing sites. splitforms covers 90% of the use case at none of the bloat.”
“I onboarded our whole agency in an afternoon. The MCP integration meant Cursor literally dropped the form straight into our client repos for us.”
“The free plan gave me 500 submissions before I paid a cent, and Pro is five dollars a month. I've spent more on coffee deciding which backend to use.”
“Spam went from forty junk entries a day to zero, with no reCAPTCHA puzzle ruining the form. The honeypot and time-trap just quietly do their job.”
“Point the form action at one endpoint and you're done. No SDK, no client library, no build step. This is how a form backend should feel.”
“Leads land in Slack the second someone submits, and a copy goes to Google Sheets for the sales team. I wired both up in under ten minutes.”
“I run a static Hugo site on a five-dollar VPS. splitforms gave it a real contact form without me standing up a single server.”
Common questions
Yes. When you paste a slack.com webhook URL into a form's webhook field, splitforms auto-detects the host and switches the payload from a generic JSON shape to a Slack-native message. You don't need Zapier, Make, or any glue code — the splitforms backend handles the Slack-specific formatting itself.
No. splitforms POSTs to Slack as part of the submission pipeline, in parallel with email delivery, so the latency from form submit to Slack message is typically under a second. A delivery that fails (5xx, timeout) is recorded as the webhook's last status in the dashboard rather than retried automatically — and the submission itself is always saved and emailed regardless.
Yes — add multiple Slack webhook URLs in the form's webhook configuration. Each will be POSTed independently, so a problem with one channel does not block the other. This is useful for piping a single contact form into both #sales-leads and a wider #website-events channel.
Treat it as a secret. splitforms stores the URL server-side and uses it only at delivery time; it is never exposed to your site's visitors. If the URL ever leaks, revoke it in Slack (which invalidates it immediately) and paste a fresh one into splitforms.
The message opens with the form name in bold ('New submission · Contact form'), followed by each submitted field (up to 12) as a bulleted 'label: value' line, with long values truncated at 500 characters, and closes with the page the submission came from. Submitted values are escaped per Slack's rules, so a submission can never inject an @channel ping or a disguised link.
Today, splitforms sends every field captured by the form. Field-level redaction is on the roadmap. If you have sensitive fields you don't want broadcast in Slack, capture them in a separate splitforms form that does not have a Slack webhook attached.
Slack delivery unlocks on Pro ($5/month) and above. Pro includes 5,000 submissions per month and unlimited forms, and there is no per-message fee for Slack notifications.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.
Free forever
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime