All use cases

Contact forms for static sites

Static sites (HTML, Hugo, Astro, GitHub Pages, Netlify) can't run server code for forms. FormHook gives you a working form backend with one URL — no backend to build.

The problem

The problem: static sites can't receive form submissions

A static site is just HTML, CSS and JavaScript served from a CDN. That is what makes it fast, cheap and impossible to hack — but it also means there is no server-side code to receive a form submission. When a visitor hits submit on a plain static form, the data has nowhere to go.

The common workarounds are all awkward. You can mailto: the form, which opens the visitor's email client and sends nothing reliably. You can bolt on a third-party form service, which means embedding someone else's markup and redirecting your users through their pages. Or you can keep a single small server running just for forms, which reintroduces exactly the maintenance your static site was meant to avoid.

What you actually want is the same end result a server-side app gets for free: the visitor's name, email and message arrive somewhere you can read them, without you running anything.

The solution

How FormHook helps

FormHook is a form backend that runs on our servers. You keep the HTML form you already write and simply point its action attribute at your FormHook endpoint: a URL like /api/submit/contact. Submissions are captured, checked for spam, and stored — nothing to build, nothing to deploy.

Endpoints are created on first use, so there is no setup step and no schema to design. Submissions appear in your dashboard the moment they arrive, and you can export them as CSV whenever you need to move them into your own tools.

Your static site stays static. No build-time plugins, no serverless functions, no backend framework — just a form action pointing at us.

Setup

Set it up in three steps

1

Copy your endpoint URL

Open your dashboard, choose an endpoint key (e.g. contact), and copy the endpoint URL. If you haven't created one, your first submission creates it automatically.

2

Point your form at it

Change your form's action attribute to the endpoint URL and keep method="post". The rest of your HTML stays exactly as it is.

3

Publish and watch submissions arrive

Deploy your site as usual. Every submission lands in your dashboard, spam is filtered automatically, and you can export everything to CSV.