Furrow Forms

Hosts & site builders · works with Furrow Forms

A form backend for Framer sites

For code components and owned pipelines beyond the native form block.

paste this into your agent

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

agent-readable recipe: /forms-for/framer.md

prefer clicking? start in the dashboard

ContactForm.tsx (Framer code component)
export default function ContactForm() {
  const loadedAt = Date.now();
  async function submit(e) {
    e.preventDefault();
    const res = await fetch('https://api.furrowforms.com/s/fp_k7m2', {
      method: 'POST',
      body: new FormData(e.target),
    });
    if ((await res.json()).ok) e.target.reset();
  }

  return (
    <form onSubmit={submit}>
      <input type="text" name="_gotcha" style={{ display: 'none' }} tabIndex={-1} />
      <input type="hidden" name="_ft" value={loadedAt} />
      <input name="email" type="email" required />
      <textarea name="message" required />
      <button>Send</button>
    </form>
  );
}

The gap

Why Framer sites need a form backend

Framer has grown real native form handling, and for a standard contact block on a Framer-hosted site it is the path of least resistance. The cases that outgrow it look familiar: you build custom code components and want the form logic in your own React; you need submissions in your own pipeline with verifiable delivery, not just a dashboard; or Framer is one property in a portfolio whose forms you want managed from a single control plane. Furrow Forms covers those: a code component POSTs to your endpoint, and storage, spam, notifications, and HMAC-signed webhooks are handled — same as every other site you run.

01

Code components want a real endpoint

Once a form lives in your own React code component, native handling is out of frame anyway. Furrow gives it a first-class backend: JSON responses, honeypot, Turnstile, rate limits.

02

Your data, your pipeline

Furrow delivers submissions by signed, retried webhooks to endpoints you control, with a delivery log — submissions become events in your systems, not rows in someone’s dashboard.

03

One backend across the portfolio

If Framer sits beside Webflow, Astro, and client sites, Furrow’s client → project hierarchy manages all their forms with inherited settings and one API.

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 Framer 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. 02Add the code component and place it on your page.
  3. 03Allow your framer.website/framer.app and custom domains; set recipients and webhooks once.
  4. 04Publish — submissions flow to Furrow and onward to your pipeline.

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

FAQ

Framer + Furrow Forms, answered

Can I use a custom form backend with Framer?

Yes — build the form as a code component that POSTs its FormData to a Furrow Forms endpoint. Furrow filters spam, stores submissions, sends notifications, and delivers signed webhooks; the component stays ordinary React.

Why use Furrow instead of Framer’s built-in forms?

Use native forms for a standard block on a single Framer site. Furrow is for custom code components, submissions you need in your own systems with verified (HMAC-signed, retried) delivery, and portfolios where form settings should be managed centrally over an API.

Will the honeypot and Turnstile work inside Framer?

Yes — the honeypot is just a hidden field in your component, and Turnstile renders like any script-backed widget. Both verify on Furrow’s side with keys configured once at the project level.

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 →