Furrow Forms

Git-based CMS · works with Furrow Forms

Contact forms for Decap CMS sites

[ formerly Netlify CMS — also fits Sveltia CMS ]

Content is commits, the site is static — Furrow is the server you don’t have.

paste this into your agent

Fetch furrowforms.com/ai and set up a contact form backend for my Decap CMS site.

agent-readable recipe: /forms-for/decap-cms.md

prefer clicking? start in the dashboard

layouts/partials/contact-form.html
<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

Why Decap CMS sites need a form backend

A Decap CMS stack is beautifully simple: editors write in /admin, content lands as commits, and the site builds to pure static files. That simplicity has one hole — a contact form has nowhere to go. There is no server in your architecture at all, and unless you host on Netlify, no platform feature to lean on either. Furrow Forms fills the hole without complicating the stack: one POST endpoint, spam handled, notifications sent. Everything here applies equally to Sveltia CMS, the modern Decap-compatible successor.

01

There is literally no server

Hugo, Eleventy, or Astro output on GitHub Pages or Cloudflare — nothing in that chain can receive a POST. Furrow is the missing piece: an always-on endpoint that returns your visitor to a thank-you page.

02

Off Netlify, Netlify Forms is off the table

Decap outgrew its Netlify-only roots, and many Decap sites now deploy elsewhere. Furrow is host-independent — the same form works on GitHub Pages, Cloudflare, Netlify, or a $4 VPS.

03

Spam shouldn’t be a static site’s problem

Honeypot, Cloudflare Turnstile, domain allowlisting, and per-IP rate limits are on by default — configured once per site in Furrow, not rebuilt per template.

Two ways in

Set it up yourself, or don’t

Hand it to your agent

[ recommended ]

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 Decap CMS site.
  1. 1.Registers the account over POST /api/register — you read one 6-digit email code
  2. 2.Provisions the site: client, project, and forms in one idempotent bootstrap_site call
  3. 3.Pastes the generated snippet into your codebase
  4. 4.Fires test_webhook and verifies the signed delivery

Or do it by hand

  1. 01Create a free account and a project for the site.
  2. 02Paste the HTML snippet into the template where the form belongs — it’s just markup, so it survives every rebuild.
  3. 03Set your domain, notify emails, and thank-you URL once at the project level.
  4. 04Commit. The static site stays static; Furrow does the receiving.

free tier: 100 subs/mo · unlimited forms · full API + MCP · pricing →

FAQ

Decap CMS + Furrow Forms, answered

How do I add a contact form to a Decap CMS site?

Add a plain HTML form to your template with its action pointed at a Furrow Forms endpoint. The site stays fully static; Furrow receives the POST, filters spam, stores the submission, emails you, and redirects the visitor to your thank-you page.

Does this work with Sveltia CMS?

Yes — Sveltia is Decap-compatible and shares the same architecture: git-based content, static output, no server. The form backend story is identical, and the same snippet works unchanged.

What if I move hosts later?

Nothing changes. The form posts to api.furrowforms.com regardless of where the static files live, so migrating from Netlify to Cloudflare or GitHub Pages never touches your forms — one reason to prefer a host-independent backend over a platform feature.

The form backend your agent can run.

paste this into your agent

Fetch furrowforms.com/ai and set up forms for this site.

Setup for agents →