Skip to content
Backpack
Esc
navigateopen⌘Jpreview
On this page

Forms

Site forms submit to Backpack instead of Webflow.

The module that removes the last Webflow dependency. Once a site is adopted, its forms submit to Backpack and the Webflow project can be retired.

How it works

  • Public endpoint: POST /api/forms/<site> on the console (CORS open, no auth, exempted in middleware). Validates the site is approved, drops honeypot hits (a hidden _gotcha field), caps field counts and sizes.
  • Storage: the Backpack-Ops/form-submissions data repo, one folder per site, one JSON file per month. It has no Vercel project, so submissions never trigger deploys. Concurrent writes retry on sha races.
  • Adoption (“Route forms to Backpack” in the site’s Forms tab): commits backpack-forms.js to the site repo and injects a script tag on every page with a form. The shim intercepts Webflow-export form submits in the capture phase (before webflow.js), posts the fields, and drives the native .w-form-done / .w-form-fail states, so the visitor experience is unchanged.
  • The Forms tab lists submissions (last three months), expandable per row.

Cautions

  • Adopting a live client site changes where their submissions land. Get the client’s OK and tell them where to find submissions before adopting; until then their forms keep posting to Webflow.
  • Webflow projects must stay alive until their site is adopted.
  • Notifications (email on new submission) arrive once the mail server is up.

Verified end to end 2026-07-18 on the sandbox: real browser submit, success state shown, submission stored and listed.

Was this page helpful?