FormFlow: a visual, headless form builder for Strapi

I have published FormFlow, a Strapi v5 plugin for building and operating forms from the Strapi admin.

The basic flow is:

  1. Create fields and validation in the FormFlow builder.

  2. Fetch the active form schema from /api/formflow/forms/:slug.

  3. Render it with your own frontend components.

  4. Submit JSON or multipart values to /api/formflow/forms/:slug/submit.

  5. Review the stored submission in Strapi.

FormFlow is headless rather than an embedded widget. The public API returns a sanitized schema, not markup. The official React and Vue SDKs are renderless and ship no CSS, so they can bind to an existing design system. Plain REST works as well.

Included workflows

  • 26 field and layout types

  • Per-field validation and server-side enforcement

  • File uploads

  • Conditional and multi-step forms

  • Submission inbox, statuses and bulk actions

  • CSV, JSON, spreadsheet and PDF export paths

  • Honeypot, rate limiting and CAPTCHA controls

  • Email and Telegram notifications

  • Webhooks and service integrations

  • Save and resume

  • Form analytics

  • Localized form content

  • Approval and compliance workflows

  • Strapi admin RBAC

FormFlow is open-core. The free core is MIT-licensed and includes unlimited forms and submissions, standard and layout fields, file uploads, validation, the submission inbox, CSV/JSON export, basic spam controls, email notifications, RBAC, REST and SDK compatibility. Code under ee/ is source-available under the FormFlow EE License and powers some advanced workflows.

Install


npm install @formflowjs/strapi-plugin-formflow


// config/plugins.ts
export default {
  formflow: {
    enabled: true,
  },
};

Rebuild the admin after enabling the plugin.

Links

I am looking for implementation feedback from real Strapi projects. The most useful reports would cover:

  • a field or validation rule that does not map cleanly to your frontend;

  • an API response that is awkward to consume;

  • a file-upload or conditional-logic edge case;

  • an admin workflow that would prevent editors from using the builder.

Please include the Strapi version, FormFlow version, and a minimal schema or request when possible. I will use this thread for general discussion and GitHub issues for reproducible bugs.