Solution
Send form submissions everywhere they need to go
A contact form, waitlist signup, or survey should not need custom backend code for every tool it feeds. Point the form at a rabbit and configure destinations from a dashboard instead.
The scenario
A static site, a form builder, or a lightweight backend posts a submission to your rabbit. From there it can create a support ticket, add a row to a spreadsheet-backed tool, and send a confirmation email — all without deploying new backend code every time you add a destination.
Example routing rule
Route submissions where "form_id" equals "contact-sales" to the sales Slack channel; route everything else to the general support inbox.
POST /v1/p/forms-example
{
"email": "jordan@example.com",
"message": "Interested in the enterprise plan",
"form_id": "contact-sales"
}Fans out to:
- Email — Send a confirmation or internal notification.
- Generic Webhook — Feed a spreadsheet tool, Airtable-style backend, or automation platform.
- Slack — Alert the right channel the moment a form is submitted.
No backend required for new destinations
Adding a new place a form submission should go is a dashboard change, not a code change and redeploy.
One form, many form builders
Because the ingestion endpoint just accepts JSON, it works the same whether the form lives on a static site, a form builder, or a custom app.
Spam and malformed submissions are visible
Every submission is logged with its payload, so you can see exactly what came in and inspect anything that looks wrong before it reaches a destination.