WordPress.org

Plugin Directory

GriffinForms – Form Builder with Multi-Step and Registration Forms

GriffinForms – Form Builder with Multi-Step and Registration Forms

Descrizione

GriffinForms is a WordPress form builder for multi-step forms, user registration, uploads, payments, and forms that need more than a single message field. It gives you stronger control over how the form looks, behaves, and continues after submission.

It is a better fit for registration forms, applications, requests, uploads, and payment collection than for a simple one-page contact form. If you need forms that do real work, GriffinForms is built for that next step.

Why teams choose GriffinForms

  • Multi-step forms: break longer forms into pages so users can complete structured flows without feeling overwhelmed.
  • WordPress user registration: create WordPress users from form submissions with immediate, pending-activation, or manual-review workflows, plus duplicate-account handling and account-action visibility in the admin area.
  • File uploads: support multi-file uploads per field with controls for file types, size limits, file counts, image constraints, and storage behavior.
  • Stripe payments: build payment forms with product-style workflows, product images, a cart-style review step, and resume links for pending payments.
  • Email and notifications: send notifications and autoresponders through WordPress mail, Custom SMTP, SendGrid, or Mailgun, with reusable messages and merge variables.
  • Spam protection: choose from reCAPTCHA, Cloudflare Turnstile, or hCaptcha, and combine them with native rate limiting and backend anti-spam checks.
  • Conditional logic: go beyond simple show and hide with rules that can change labels, values, headings, success messages, redirects, and submit behavior.
  • Templates and theming: turn forms into reusable templates, then style them with built-in themes or your own custom theme variations.
  • Submission clarity in WordPress: review entries in a richer admin view with timelines, logs, metadata, and settings history when troubleshooting production forms.

Best-fit use cases

  • WordPress user registration forms with account creation or admin review
  • Multi-step request and intake forms
  • Application forms with file uploads
  • Support workflows with conditional fields
  • Payment forms for donations, simple orders, or paid requests
  • Multi-step forms where incomplete submissions should still stay visible in the admin area
  • Forms that need stronger styling control, clearer notifications, and better admin visibility

Built for structured form workflows

GriffinForms treats layout as a core part of form building. The drag-and-drop builder uses pages, rows, columns, sidebar controls, and reusable fields to make complex forms easier to shape and maintain. Then you can layer in conditions, uploads, notifications, and payments where needed. This makes longer forms easier to manage and easier for users to complete.

Reusable fields also help solve a common admin problem: teams should not need to recreate the same Name, Email, Phone, or Address field across every new form. Common fields can be managed from one place, which helps keep repeated workflows faster to build and more consistent over time.

File uploads with practical control

File uploads are not limited to a basic attachment field. GriffinForms supports multi-file uploads per field and is designed for workflows where uploads matter, such as applications, support requests, and document collection. For example, an application form can collect resumes, ID documents, certificates, and supporting images in one submission instead of forcing users to send files separately later. You can control allowed file types, per-file and total upload size limits, max file counts, image-specific constraints, and storage behavior, then manage uploaded files from WordPress.

Stripe payments and product workflows

If you enable Stripe, GriffinForms can handle payment collection inside the form flow. This is useful for donations, simple product or service requests, paid applications, and other workflows where payment is part of submission instead of a separate checkout. GriffinForms also supports a fuller review-and-pay pattern with product-style selections, product images, and cart-style summaries. For pending payments, resume links can bring users back so they can continue from where they left off.

Strong conditional logic layer

Conditional logic in GriffinForms goes beyond a simple show-or-hide toggle. You can use field, row, and form-level rules to change labels and values, control headings and visibility, swap success messages, trigger redirects, and adjust submit-button behavior.

Conditions also go beyond basic text matching. GriffinForms supports checks across field values, counts, password strength, browser time, address parts, and payment-specific conditions such as product, gateway, totals, and counts. That makes it useful for smarter routing, cleaner payment flows, and forms that react as the submission takes shape.

For example, you can show a payment step only when a paid option is selected, then change the success message or redirect users to a different next step after submission.

Themable forms with deeper styling control

Forms should not look disconnected from the rest of your site. GriffinForms includes built-in themes, but the theme system goes further than picking a preset. You can create new themes from scratch or modify existing ones with control over typography, layout, inputs, buttons, and states such as hover, focus, and active. Dark themes also look especially strong in GriffinForms, which helps when you want forms to feel more polished and deliberate instead of settling for one generic form look.

Submissions, logs, and admin visibility

Submissions are stored in your WordPress database, but the admin experience goes further than a simple entry list. GriffinForms includes a richer submission view with metadata, payment context where applicable, submission-specific logs, and event timelines so you can follow what happened to a submission and where it changed.

Native logging adds another layer of visibility for production sites. Timeline-style logs, searchable categories, job visibility, retention settings, and settings history make it easier to troubleshoot failed steps, trace changes, and understand what happened over time.

GriffinForms also supports partial submissions, which means incomplete multi-step submissions can still remain visible in the admin area when that workflow matters.

WordPress account registration workflows

GriffinForms includes a flexible user registration workflow for registration forms that need to create or manage WordPress users after submission. You can build a simple WordPress registration form for one account, or use an iterable email field for multi-user registration from a single form submission. GriffinForms lets you choose whether a registration form should use a mapped password or send the native WordPress password setup link, assign the WordPress user role for the account being created, and map optional profile data such as username, first name, last name, and profile image when the form collects it.

This user registration system is built for real workflows, not just one fixed registration form pattern. You can decide whether user registration happens immediately, waits for admin activation, or stays in manual review, and you can control how duplicate-account cases are handled. GriffinForms also gives registration forms stronger admin visibility through native logging, submission-side account activity, account-action follow-up, and builder checks that help catch missing mappings, risky password choices, and iterable registration-form edge cases before the form goes live.

Helpful docs:
Registration workflow modes
Submission Accounts Accordion
Password strategies

Spam protection and rate limiting

GriffinForms supports multiple CAPTCHA providers, including reCAPTCHA, Cloudflare Turnstile, and hCaptcha. It also includes native rate limiting and backend anti-spam checks, so spam protection does not depend on a single layer. That protection applies across the submission flow, including workflows that use file uploads.

Email delivery and notifications

GriffinForms can send admin notifications and autoresponders through WordPress mail or configured delivery providers such as Custom SMTP, SendGrid, and Mailgun. That gives you more flexibility when you need more dependable delivery for production forms.

Helpful docs:
Email settings
Managing messages
Mail merge placeholders

Reusable messages and merge variables

GriffinForms includes a reusable message system for admin alerts and autoresponders. You can build messages once, reuse them across forms, and insert merge variables so subjects and message bodies can pull values from the submission at send time. That makes it easier to maintain more personalized and more consistent email workflows without rewriting the same message for every form.

GriffinForms also supports mapping autoresponders to different email fields inside the same form. For example, a staff member can submit a form on behalf of a client, student, or employee, while the correct confirmation message is still sent to the email field for that actual person.

Admin alerts can also be mapped per recipient, so different staff members or teams can receive different messages for the same submission. For example, one alert can go to admissions, another to finance, and another to operations when each team needs different context.

Easier first-form experience

GriffinForms includes a guided onboarding flow to help new users create and publish a useful first form more quickly. That makes it easier to start with a working form instead of a blank builder and then expand into more advanced flows later. Starter forms and reusable templates also help teams move faster when they need to repeat similar workflows across forms or sites.

Gutenberg and advanced workflows

GriffinForms works with Gutenberg and also includes a stronger technical foundation for advanced evaluators, including a documented REST API surface, capability-aware access control, device management for protected companion routes, and webhook-ready architecture. Multi-step submissions use AJAX handling with server-side validation and anti-spam checks, which helps longer forms feel more responsive while still enforcing validation on the backend. Post-submission actions such as emails and other follow-up work can also be processed in the background, which helps more complex workflows stay smoother after a form is submitted.

These are not the first thing most users need, but they help show GriffinForms is built for more than a simple one-page contact form.

Helpful docs:
Embedding forms
Multi-page forms
Conditional logic

Privacy-conscious by default

Form submissions stay in WordPress by default. External services are only involved when you enable them, such as payments, CAPTCHA, or email delivery providers. See the External Services section below for details.

GriffinForms also includes early compliance groundwork such as retention settings, WordPress privacy-tool integration, and per-form data-capture controls when those workflows matter.

External Services

GriffinForms can connect to these third-party services when enabled:
Google reCAPTCHA (spam protection): Terms and Privacy
Stripe (payments): Terms and Privacy
Cloudflare Turnstile (spam protection): Terms and Privacy
hCaptcha (spam protection): Terms and Privacy
SendGrid (email delivery): Terms and Privacy
Mailgun (email delivery): Terms and Privacy

Learn more

License

GriffinForms is open source and licensed under GPLv2 or later.

Screenshot

  • Drag-and-drop form builder with pages, rows, columns, and fields
  • Frontend form view with the default theme
  • Frontend themed form with a light preset applied
  • Editing a themed form inside the builder
  • Frontend themed form with a dark preset applied
  • Live editing of a themed form in the admin builder
  • Frontend form with product and payment fields
  • Review and pay step for Stripe-enabled payment forms
  • File upload field with queued files in a live form
  • Theme editing view with Theme Designer controls
  • Conditional Logic modal in rules list view
  • Conditional Logic modal in rule edit view
  • Dragging a field to create a new form element
  • Dragging a row to sort layout structure
  • Resizing a column to adjust layout
  • Text field edit view with validation settings
  • Checkbox field edit view with multi-column layout preview
  • Form creation modal with template selection
  • Admin submissions list view

Blocchi

Questo plugin fornisce 1 blocco.

  • GriffinForms Form Embed a GriffinForms form and see a quick preview in the block editor.

Installazione

  1. Upload the plugin to the /wp-content/plugins/griffinforms-form-builder directory or install it via the WordPress plugin screen.
  2. Activate it through the Plugins screen.
  3. Go to the GriffinForms menu in the admin sidebar to start building forms.

FAQ

Can I build multi-step forms in WordPress?

Yes. Use pages in the builder to create multi-step forms with clear navigation between steps.

Can GriffinForms create WordPress users from form submissions?

Yes. GriffinForms includes a dedicated Accounts workflow for WordPress user registration. You can map form fields to account creation, choose duplicate-account behavior, and use immediate, pending, or manual-review account flows depending on the form.

Can one form submission create more than one WordPress account?

Yes. If the mapped email field is iterable, one submission can fan out into multiple account actions. GriffinForms treats those as separate target account actions in the runtime and admin UI.

Can I create application forms with file uploads?

Yes. GriffinForms supports upload fields with multi-file selection, file-type checks, size limits, file-count limits, and related upload controls, which makes it a good fit for application-style forms, support requests, and document collection workflows.

Can I collect payments with Stripe?

Yes. Stripe can be enabled for payment forms and payment-related workflows inside the form flow, including review-and-pay steps and resume links for pending payments.

Can GriffinForms send email through SMTP, SendGrid, or Mailgun?

Yes. GriffinForms supports WordPress mail, Custom SMTP, SendGrid, and Mailgun for notifications and autoresponders.

Does GriffinForms support reusable email messages and merge variables?

Yes. GriffinForms includes reusable messages for notifications and autoresponders, along with merge-variable support so message content can be personalized from submission data. It also supports mapping autoresponders to different email fields inside the same form when the submitter and recipient are not the same person, and mapping admin alerts to different recipients when teams need different messages.

Does GriffinForms include spam protection?

Yes. GriffinForms supports reCAPTCHA, Cloudflare Turnstile, and hCaptcha, along with native rate limiting and backend anti-spam checks.

Does GriffinForms support conditional logic?

Yes. GriffinForms supports more than simple show and hide rules. You can use conditional logic across fields, rows, and the form itself to control visibility, labels, headings, success messages, redirects, and submit behavior based on user input.

Does GriffinForms include native logs?

Yes. Native logging includes timeline-style logs, searchable categories, submission history, and stronger troubleshooting visibility when logging is enabled.

Does GriffinForms keep settings history for troubleshooting?

Yes. GriffinForms keeps a short history trail for global settings changes, which helps when you need to see what changed, when it changed, and who changed it on a production site.

Can I style forms to match my site?

Yes. GriffinForms includes a theme system with built-in themes and deeper styling controls, so you can modify existing themes or create new ones with control over form inputs, buttons, and states.

Where are submissions stored?

Submissions are stored in your WordPress database. File uploads are stored in the WordPress uploads directory.

Can I see incomplete multi-step submissions in the admin area?

Yes. GriffinForms supports partial submissions, so incomplete multi-step entries can still remain visible in the admin area.

Does it work with Gutenberg?

Yes. You can use GriffinForms with Gutenberg and other shortcode-friendly editor or page-builder workflows.

Can I reuse forms or templates across sites?

Yes. GriffinForms supports reusable templates as well as JSON export and import, which makes it easier to repeat proven workflows and speed up setup across forms or sites.

Is GriffinForms only for contact forms?

No. GriffinForms can handle contact forms, but it is better suited to structured workflows such as applications, requests, uploads, and payment forms.

Where can I find documentation?

See the docs at GriffinForms Docs.

Is GriffinForms free?

Yes. The core plugin provides the full feature set with no paid tiers.

Recensioni

12 Gennaio 2026
GriffinForms is a delightfully lightweight yet surprisingly capable form builder. It feels refreshingly intuitive — you can spin up clean, professional forms in minutes without wrestling with cluttered menus or bloated settings. The interface is smooth, the customization options are thoughtful, and everything just works the way you hope it will. A lovely choice for anyone who wants simple, elegant form creation without the fuss.
12 Gennaio 2026
I have used 3 different form plugins within last year, and always ran into some sort of issue. I am not technically very sound, and wanted something that doesn’t require all the fuzz and yet offer all the features. And boy, did GriffinForms surprised me or what. I chose it on a whim really, not expecting much. But more I use it, more I believe this might be a next big thing in forms plugin. The developers have launched some truly great updates as well and I can see how far they have come within a short space of few months. Really happy to be one early adopter- keep up the good work guys!
10 Giugno 2025
Efficient and free plugin that is useful for site owners and developers. The interface is clean and easy to navigate, even for non-tech users. It handles the tasks like contact forms or signups without issues. Great for small sites that need something that works without the bloat. Setup is quick and it runs smooth.
Leggi tutte le recensioni di 3

Contributi e sviluppo

“GriffinForms – Form Builder with Multi-Step and Registration Forms” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori

Changelog

2.4.3.0 – 2026-03-28

  • Improvement: User Registration now uses a guided workflow-creation experience that is easier to follow for first-time setup.
  • Improvement: Existing User Registration workflows are now faster to review and edit with a clearer direct-edit layout.
  • Improvement: Submission-side User Registration actions now use native GriffinForms confirmation UI instead of browser alerts.
  • Improvement: Submission logs and User Registration status now refresh together more reliably after admin follow-up actions.
  • Improvement: User Registration terminology is now clearer and more consistent across the builder, submission view, checks, and summary surfaces.

2.4.2.0 – 2026-03-27

  • New: Registration forms now travel much more cleanly across your workflow, with stronger links between submissions and created WordPress users.
  • New: Submission detail API responses now include account-registration outcome data, making companion and custom integrations much more useful.
  • Improvement: Registration forms now get smarter setup warnings for missing CAPTCHA protection and weak mapped-password flows.
  • Improvement: It is now easier to spot registration-enabled forms from the Forms list and understand which submitted email field powered account creation.
  • New: Onboarding now includes a dedicated User Registration starter, so new users can build signup forms much faster.
  • Improvement: Registration-enabled forms now keep their Accounts setup when exported and imported, with safer fallback handling for linked confirmation messages.

2.4.0.0 – 2026-03-21

  • New: GriffinForms now includes a full WordPress user-registration workflow built directly into the form builder.
  • New: You can create registration forms with flexible account-creation rules, profile mappings, password strategies, confirmation emails, and duplicate-account handling.
  • New: Registration can now run through immediate create, pending admin activation, or manual-review flows depending on how your site needs to work.
  • New: The submission view now includes a dedicated Accounts panel so admins can see exactly what happened for each registration target and take follow-up action when needed.
  • Improvement: The builder now highlights risky registration setups earlier with checks for mapping problems, password issues, iterable constraints, and role guardrails.
  • Improvement: Registration-enabled forms are now easier to identify from the builder and admin list surfaces.
  • Hardening: Administrator role assignment remains blocked for registration setups in V1 for safer default behavior.

2.3.9.0 – 2026-03-19

  • Improvement: Refreshed single-item edit pages with cleaner WordPress-style layout, stronger section hierarchy, and easier scanning on longer settings screens.
  • Improvement: Finished the new builder toolbar flow with persistent selected-state controls, integrated drag and move actions, and a cleaner overall editing rhythm.
  • Feature: Added a new builder overflow menu for secondary actions, giving the toolbar a more scalable and polished Gutenberg-inspired feel.
  • Fix: Restored Gutenberg field preview parity so supported field types render correctly in the editor instead of falling back to plain text inputs.
  • Improvement: Continued builder polish with more consistent action visibility, selection behavior, and interaction feedback across pages, rows, columns, and fields.
  • Hardening: Expanded companion device-limit QA coverage and verified that per-user and global active-device guardrails behave correctly.

2.3.8.0 – 2026-03-15

  • New: Added a guided onboarding flow so new users can create and publish their first form more easily.
  • New: Added goal-based starter forms with optional fields, so you can begin with a useful form instead of a blank screen.
  • New: Added a clearer publish flow with options to keep the form unpublished, add it to a new page, or place it in existing content.
  • Improvement: Added clearer success screens, documentation links, and next-step actions after form creation.
  • Improvement: Added safer handling for builder-managed pages such as Elementor, so GriffinForms avoids automatic placement where manual placement is the better choice.
  • Improvement: Refined onboarding copy, layout, and controls to make the first-run experience calmer and easier to follow.

2.3.7.0 – 2026-03-07

  • Feature: Added companion device registry endpoints and admin device-management UI (list/remove) with per-user and global active-device guardrails.
  • Feature: Added notification fan-out/token lifecycle foundation for submission.created webhook delivery across active registered devices.
  • Hardening: Completed webhook verification gates for signature validation, retry behavior, and receiver idempotency with release evidence artifacts.
  • Fix: Prevented webhook dispatch-guard transient from being set when job enqueue fails, avoiding silent suppression of later queue attempts.
  • Improvement: Added explicit webhook queue observability audits for skipped, queued, and enqueue-failed paths.
  • Fix: Unblocked Gutenberg form picker by removing device-enforcement from editor form-catalog routes while keeping capability/rate-limit checks.
  • Improvement: Enhanced Authorized Devices admin table UI with platform icons + fallback, state badges, normalized timestamps, fixed column widths, and improved user identity typography.

2.3.6.1 – 2026-03-05

  • Fix: Restored Gutenberg form-preview theme rendering by re-attaching theme payload fields on the form-structure API response.
  • Fix: Resolved block sidebar form selector regressions by hardening wrapped REST response parsing and increasing block-only form fetch page size.
  • Improvement: Updated block metadata to API version 3 for modern editor compatibility.

2.3.6.0 – 2026-03-05

  • Feature: Added companion-app API contracts for form structure, submission detail enrichment, attachment binaries, and image thumbnails.
  • Feature: Added signed outbound submission.created webhook delivery contract for companion notification workflows.
  • Hardening: Added strict API guardrails for attachment token limits, trusted file-source enforcement, and thumbnail dimension validation with typed errors.
  • Hardening: Expanded API audit coverage for failure branches and idempotency replay visibility.
  • Improvement: Refined capability matrix behavior and normalized API/webhook audit channel semantics for cleaner triage.
  • Fix: Hardened Gutenberg block registration timing/path to avoid editor registration regressions.

2.3.5.0 – 2026-03-04

  • Feature: Added companion-app-ready submissions API endpoints for folders, forms, submissions, detail, PDF export, share links, and bulk delete.
  • Feature: Added capability matrix controls for scoped API permissions so read and delete access can be managed independently.
  • Hardening: Added typed validation failures for API request guardrails (sort/filter/date/per-page) and enforced bulk-delete idempotency contract.
  • Hardening: Added share-link single-active-token revocation behavior and stronger API access-denied/rate-limit audit events.
  • Observability: Expanded audit coverage with request correlation IDs, request method/URI metadata, and API-specific audit log categorization.
  • Fix: Prevented duplicate guardrail audit logs in repeated request lifecycle callbacks.
  • Fix: Guarded admin language loading path against abstract class instantiation fatal in API list execution paths.

2.3.4.0 – 2026-03-03

  • Feature: Enhanced Create Form modal with improved template browsing, smoother navigation accents, and clearer search-state guidance.
  • Feature: Blank form creation now initializes with a starter layout by default (one page, one row, one full-width column).
  • Feature: Builder now prevents deleting the last remaining page, row, or column to preserve minimum valid form structure.
  • Improvement: Auto-starter layout behavior is now enforced in add-page/add-row flows with server-side safeguards and client fallback protection.

2.3.3.0 – 2026-02-28

  • Fix: Isolated Gutenberg block preview theme CSS per block instance so multiple GriffinForms blocks on one page keep independent theme rendering.
  • Fix: Corrected address field city/postal joined-input corner behavior in builder preview so adjoining borders remain square.
  • Improvement: Refined list delete confirmation modals with clearer destructive-action hierarchy and improved guard/error behavior.
  • Fix: Resolved bulk form delete fatal error by adding shared child-relation sync support used by delete cascades.
  • Improvement: Replaced passive builder new-element fade with a clearer insertion animation and reduced-motion fallback.

2.3.2.0 – 2026-02-14

  • Fix: Added themed/no-theme validation parity so invalid controls are clearly highlighted in themed frontend forms.
  • Fix: Removed leftover frontend theme asset debug error_log() output.
  • Fix: Prevented Undefined array key "email_domain" warning in excluded email domain validation messaging.
  • Fix: Corrected relation sync on page delete so formpages stays consistent and form list page counts remain accurate.
  • Fix: Stabilized builder form-tree toggle behavior and resolved jerky right-sidebar accordion close motion.
  • Fix: Improved no-theme responsive behavior in narrow containers (row/action button stacking) and aligned Gutenberg no-theme preview button styling with frontend defaults.

2.3.1.0 – 2026-02-08

  • Fix: Restored a clear phone country dropdown caret across frontend, form builder, and Gutenberg preview renderers.
  • Improvement: Phone country select sizing and compact behavior refined to avoid overlap and unbalanced wide-field layouts.
  • Fix: Phone input-group border sync now preserves asymmetric theme border styles (per-side width/style/color) across renderers.
  • Improvement: Message editor now preserves allowlisted HTML better between Code/Visual modes.
  • Improvement: Message save sanitization now uses a dedicated allowlist policy for email-safe HTML (including heading tags).
  • Fix: Removed invalid frontend theme stylesheet dependency causing WP_Styles::add notices on newer WordPress versions.

2.3.0.0 – 2026-02-06

  • Feature: Compliance profiles (Standard, GDPR, HIPAA‑ready) with per‑form inherit/custom overrides.
  • Feature: Submission metadata timeline with page + payment events and form version context.
  • Feature: Builder warnings pipeline with status bar counts and overlays.
  • Feature: WordPress Tools export/erase integration for GriffinForms data.
  • Improvement: Compliance downloads now include full layout snapshots for traceability.
  • Improvement: GDPR profile masks IPs and stores summarized user agent details.