A repo and a static host can’t process POSTs
The entire stack is files. Furrow supplies the missing endpoint — visitors get redirected to your thank-you page, you get an email, and nothing about the deployment changes.
Git-based CMS · works with Furrow Forms
Your content lives on GitHub; your forms finally have a backend.
paste this into your agent
Fetch furrowforms.com/ai and set up a contact form backend for my Pages CMS site.agent-readable recipe: /forms-for/pages-cms.md
prefer clicking? start in the dashboard
---
const endpoint = 'https://api.furrowforms.com/s/fp_k7m2';
---
<form action={endpoint} method="POST">
<input type="text" name="_gotcha" style="display:none" tabindex="-1" />
<input type="hidden" name="_ft" value="" />
<script is:inline>document.currentScript.previousElementSibling.value = Date.now();</script>
<input name="name" type="text" required />
<input name="email" type="email" required />
<textarea name="message" required></textarea>
<button>Send</button>
</form>The gap
Pages CMS is the no-infrastructure CMS: point it at a GitHub repo, describe your content in .pages.yml, and editors get a clean UI while everything remains files in git. Sites built this way — typically Astro, Eleventy, or Hugo on static hosting — inherit git’s one blind spot: nothing in the stack can accept a form submission. Furrow Forms is the same kind of answer Pages CMS is: a hosted service doing one job well, so your architecture stays a repo and a static host. Form markup in your templates, one endpoint behind it, spam and notifications handled.
The entire stack is files. Furrow supplies the missing endpoint — visitors get redirected to your thank-you page, you get an email, and nothing about the deployment changes.
Adding a serverless function for forms reintroduces exactly what Pages CMS removed. Furrow keeps the operational surface at zero: config lives on the project, changes apply without a deploy.
Honeypot, Cloudflare Turnstile, domain allowlisting, and rate limits come configured at the project level — and spam never counts toward your free-tier quota.
Two ways in
Furrow’s whole control plane is an API and MCP server. Paste this prompt into Claude Code, Cursor, or any agent — it does the rest:
paste this into your agent
Fetch furrowforms.com/ai and set up a contact form backend for my Pages CMS site.free tier: 100 subs/mo · unlimited forms · full API + MCP · pricing →
FAQ
Add a plain HTML form to your site’s template with the action pointed at a Furrow Forms endpoint. The site stays a static build from your GitHub repo; Furrow receives submissions, filters spam, and emails your team.
No. The form POSTs directly from the browser to api.furrowforms.com. That is the point: Pages CMS keeps content infrastructure at zero, and Furrow does the same for forms.
Submissions live in Furrow, not the repo — by design, since most raw form traffic is spam. Your team gets notification emails, the dashboard, and (if you want) signed webhooks into any tool you already use.
paste this into your agent
Fetch furrowforms.com/ai and set up forms for this site.