No functions folder required
The whole point of 11ty is not running infrastructure. One action attribute keeps it that way — no functions, no environment variables, no cold starts.
Frameworks & SSGs · works with Furrow Forms
Keep 11ty’s plain-HTML purity — the form backend is one attribute.
paste this into your agent
Fetch furrowforms.com/ai and set up a contact form backend for my Eleventy site.agent-readable recipe: /forms-for/eleventy.md
prefer clicking? start in the dashboard
<form action="https://api.furrowforms.com/s/fp_k7m2" method="POST">
<input type="text" name="_gotcha" style="display:none" tabindex="-1" />
<input type="hidden" name="_ft" value="" />
<script>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
Eleventy people choose 11ty because it gets out of the way: templates in, plain HTML out, deploy anywhere. A contact form is where that purity usually cracks — suddenly the tutorials say “add a serverless function,” and your dependency-light site acquires a runtime. Furrow Forms keeps the crack sealed: the form is ordinary markup in a Nunjucks or Liquid include, the action attribute is the entire integration, and spam filtering, storage, notifications, and the thank-you redirect happen on Furrow’s side.
The whole point of 11ty is not running infrastructure. One action attribute keeps it that way — no functions, no environment variables, no cold starts.
GitHub Pages, Cloudflare, Netlify, S3 — the form POSTs to Furrow regardless, so your hosting choice stays a pure price/preference decision.
Honeypot, optional Turnstile, domain allowlisting, and rate limits are project-level defaults. Rejected posts are never stored and never count.
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 Eleventy site.free tier: 100 subs/mo · unlimited forms · full API + MCP · pricing →
FAQ
Put a plain HTML form in a template with its action pointed at a Furrow Forms endpoint. No serverless function or client JavaScript needed — Furrow receives the POST, filters spam, emails you, and redirects the visitor.
No — that is the point. The form backend is host-independent, so the same markup works on GitHub Pages, Cloudflare, Netlify, or a plain web server, and keeps working if you move.
Yes: the dashboard, the API, and HMAC-signed webhooks with automatic retries. Point the webhook at any endpoint to pipe submissions into your own tools.
paste this into your agent
Fetch furrowforms.com/ai and set up forms for this site.