All use cases

Form handling for freelancers and agencies

One dashboard for every client form: contact pages, quote requests, intake forms. FormHook keeps client sites light and your process simple — no per-client server, no email forwarders.

The problem

The problem: every client site needs forms, and none of them come with a backend

Every client project has the same requirement list: a contact page, maybe a quote form, sometimes an intake questionnaire. And every client project hits the same wall — a static or lightweight site with no backend to receive the submissions.

The workarounds are spread out and fragile. Email forwarders silently drop mail and are hard to search. Hand-rolled API routes on a shared server become your ongoing responsibility after the project ships. And per-client form services mean a new account, a new dashboard and a new subscription for every single site.

For an agency, the cost multiplies: you manage a dozen different ways of receiving form data, and none of them are interchangeable.

The solution

How FormHook helps

FormHook gives every client site a real form endpoint — one URL per form, no account required per site, and no server-side code in the project. Client sites stay exactly as light as you built them.

All submissions collect in a single dashboard you control. Each endpoint is its own inbox, so you can see at a glance which client's forms are active, mark spam, and export a client's submissions to CSV when they need their leads in their own spreadsheet.

For the client, nothing changes: their site looks and works the same, and their leads arrive reliably instead of vanishing into an email forwarder. You can hand the dashboard login to the client or keep it yourself — the password is shared, so it is one credential either way.

Setup

Set it up in three steps

1

Create an endpoint per form

In your dashboard, create an endpoint per client form — e.g. acme-contact or acme-quote. Or skip creation entirely: endpoints are created automatically on their first submission.

2

Drop the endpoint into the client's form

Point each form's action attribute at its endpoint. No build step, no environment variables, no new dependency — the change is a single attribute on an element you already write.

3

Review submissions in one dashboard

Check all client forms in one place. Delete junk, flag spam, and export any endpoint to CSV for handoff. Rebill or wrap up without touching a server.