Forms
v1.4.5
Forms
- Updates and support included for 12 months
- License key delivered immediately by email
- 30-day money-back guarantee
- Full documentation included
- Compatible with Hyvä themes
- Composer-ready installation
Forms
Build any kind of form for your Magento storefront without writing a line of code. Wimakeit Forms ships a drag-and-drop builder, a full submissions inbox, and a frontend renderer that works on Luma, Breeze, and Hyvä — so the same form definition powers a contact page, a quote request, a survey, or a multi-step onboarding wizard.
Unlike the bare CMS form snippets Magento ships with, this module gives the admin team a real authoring experience: 22 field types, conditional logic, multi-step wizards, anti-spam, GDPR consent, webhooks, an analytics dashboard, and an inbox to triage what customers send. Submissions can be exported, replayed by email, and retained for the period your data policy requires.
Who it's for
- B2B and B2C merchants who collect quote requests, support tickets, callback requests, or product configurators
- Marketing teams running surveys, newsletter sign-ups, or lead-gen campaigns
- Agencies who need a single forms module that renders correctly on Luma, Breeze, and Hyvä themes
- Stores with compliance requirements around consent, retention, and submission audit
Key benefits
- Visual drag-and-drop builder — 22 field types (text, email, phone, URL, number, textarea, select, multiselect, checkbox, radio, date, file, range, color, datetime, time, rating, toggle, country, currency, hidden, HTML) with column-width grid and sortable options editor.
- Multi-step wizard — Split any form into ordered steps with a pills indicator, per-step validation, and Back / Next / Submit buttons.
- Conditional logic with AND / OR — Show or hide fields based on combined rules (
equals,contains,is_empty,gt,lt). Server-side enforcement so required-validation respects what the customer actually saw. - Anti-spam built in — Invisible honeypot, per-IP rate limiting, optional reCAPTCHA v3 with server-side score verification, plus per-form GDPR consent.
- Submission inbox — Card-layout detail view with status badges, internal notes, resend-email action, copy-to-clipboard, typed value rendering, and CSV export.
- Webhooks and analytics — POST every submission with HMAC-signed payloads and automatic retry. Admin dashboard with submissions-per-day chart, top forms, drop-off per field, and completion rate.
Compatibility
- Magento 2.4.6+ / Mage-OS equivalent
- PHP 8.1, 8.2, 8.3
- Requires
wimakeit/module-core^3.0 andwimakeit/module-page-builder^1.1 - Works with Luma, Breeze, and Hyvä (the latter via
wimakeit/module-forms-hyva) - Full i18n: English, French, Dutch
Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.
$ composer require wimakeit/module-forms:^1.4.5
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile
Installation notes
The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.
Required dependencies
wimakeit/module-core^3.0wimakeit/module-page-builder^1.1 (powers the visual field builder)
Composer pulls them automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.
Hyvä theme
For a Hyvä storefront, also install the companion module so Tailwind compiles the form styles:
composer require wimakeit/module-forms-hyva
bin/magento module:enable Wimakeit_FormsHyva
bin/magento hyva:config:generate
# then rebuild Tailwind in your Hyvä theme:
cd app/design/frontend/<vendor>/<theme>/web/tailwind
npm run build-prod
ACL permissions
After installation, the following ACL resources are available under System → Permissions → User Roles:
| Resource | Default |
|---|---|
Wimakeit_Forms::forms (Forms area) | granted to Administrator role only |
Wimakeit_Forms::form_save | granted to Administrator role only |
Wimakeit_Forms::form_delete | granted to Administrator role only |
Wimakeit_Forms::form_create_from_template | granted to Administrator role only |
Wimakeit_Forms::submissions | granted to Administrator role only |
Wimakeit_Forms::submission_delete | granted to Administrator role only |
Wimakeit_Forms::submission_export | granted to Administrator role only |
Wimakeit_Forms::analytics | granted to Administrator role only |
Configuration
Go to Stores → Configuration → WiMakeIT → Forms.
General
| Setting | Default |
|---|---|
| Enabled | Yes |
| Default Sender Email | (empty — fallback when the form has no email_from) |
| Submission Retention (days) | 0 (keep forever) |
reCAPTCHA v3
| Setting | Default |
|---|---|
| Enable reCAPTCHA v3 | No |
| Site Key | (empty) |
| Secret Key | (empty) |
| Score Threshold | 0.5 |
Anti-Spam
| Setting | Default |
|---|---|
| Rate Limit per IP per Hour | 10 (0 = unlimited) |
Storage
| Setting | Default |
|---|---|
Upload Directory (relative to pub/media/) | wimakeit/forms |
Cron jobs (registered automatically)
| Job | Schedule |
|---|---|
wimakeit_forms_purge_submissions (purge submissions past retention) | daily at 4:30 AM |
wimakeit_forms_retry_webhooks (retry failed webhooks with exponential backoff) | every 5 minutes |
No setup needed — just make sure Magento cron is running.
Embedding a form in a CMS page
By block reference (recommended for templated pages):
{{block class="Wimakeit\Forms\Block\Form" form_identifier="contact"}}
By widget: in the CMS WYSIWYG, insert a widget of type WiMakeIT Form and pick the form by identifier.
- Version
- v1.4.5
- License
- Annual Subscription
- Support
- 12 months
- Last updated
- Aug 25, 2026
- Magento
- Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
- PHP
- PHP 8.1 PHP 8.2 PHP 8.3
- Hyvä
- Compatible
- Package
-
wimakeit/module-forms
Compatibility checker
Pick your stack to see if this module fits.
Compatibility 4
Pricing & licensing 4
vendor/wimakeit/ once you composer require the package, so you can read it, audit it, and patch it locally for your own Magento install. You may NOT redistribute it, sublicense it, publish it on a public package registry, or sell it on. One licence = one production domain + one staging/dev domain (see terms for the full EULA). Wimakeit modules are NOT part of Magento's open-source repository on packagist.org — they are distributed exclusively via the private Composer registry packages.wimakeit.be. Installation & updates 6
composer require wimakeit/module-forms:^1.4.2, then bin/magento setup:upgrade, bin/magento setup:di:compile, and finally bin/magento cache:flush. The Installation tab on this page lists every configuration step (ACLs, cron jobs, default values) so a deploy takes minutes, not hours. If you need a hand, Wimakeit offers Magento installation services from our Wallonian office (Presles, between Charleroi and Namur). auth.json: {"http-basic": {"packages.wimakeit.be": {"username": "YOUR-EMAIL", "password": "YOUR-TOKEN"}}}. Step 3: register the repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Step 4: composer require wimakeit/module-forms:^1.4.2. In CI/CD pipelines, inject COMPOSER_AUTH as a JSON env var instead of committing auth.json. composer require, same module code, same database schema — no fork to maintain, no licence change. composer update is safe within a major. app/design/frontend/{YourVendor}/{theme}/Wimakeit_{Module}/templates/ keeping the same relative path. Blocks, ViewModels and Helpers are overridable via DI preference in your own custom module — declare <preference for="Wimakeit\…\OriginalClass" type="YourVendor\Override\Class" /> in etc/di.xml. Layout XML is extended (preferred) or overridden the standard Magento way. Wimakeit modules never use the final keyword on classes you might reasonably want to override — overriding is a first-class scenario, not a hack. Support & security 3
contact@wimakeit.com with the module name, version, Magento/Mage-OS version and the steps to reproduce. Fixes ship in the next patch release. Wimakeit support is staffed in French, English and Dutch on business days (CET working hours). contact@wimakeit.com with a clear [SECURITY] subject prefix — please include the module name, version and the steps to reproduce. We acknowledge promptly on business days and credit reporters in the Changelog if they wish. Wimakeit is a Belgian SRL (société à responsabilité limitée) bound by Belgian and EU privacy and disclosure law. About Wimakeit 1
Found something not covered by the FAQ?
Report a bug or ask a question — the form is prefilled with this module.
Changelog
Categories: Security, Feature, Fix, Perf, Admin, Deps.
[1.4.5] - 2026-06-09
Fix
- Forms embedded with
{{widget type="Wimakeit\Forms\Block\Form" form_identifier="..."}}in CMS pages or blocks now actually render. The form block now implementsMagento\Widget\Block\BlockInterface, the marker Magento's widget renderer requires.
[1.4.4] - 2026-06-05
Deps
- PHP 8.4 cleanup: explicit-nullable params in the admin form/submission grid collections. No behavior change.
[1.4.3] - 2026-06-05
Deps
magento/frameworkpinned to^103.0.- Grid collection constructors made PHP 8.4-clean (no more implicit-nullable deprecation).
[1.4.2] - 2026-05-20
Fix
- Restored the Alpine.js vendor library that ships the frontend form runtime (multi-step wizard, conditional logic, client-side validation). The file was missing from the released package, which broke all forms on fresh installs.
[1.4.1] - 2026-05-18
Admin
- New Wimakeit root menu group in the admin sidebar mirroring the existing Content menu: Manage Forms, Submissions, Analytics, and a Settings entry (sortOrder 999) opening the
wimakeit_formsconfiguration section.
[1.4.0] - 2026-04-30
Feature
- New multi-step wizard: split any form into ordered steps with a pills indicator (active / done / idle), per-step validation, and Back / Next / Submit buttons that swap based on position.
- Conditional logic now supports OR / grouped rules (was AND-only) with a "Show when ALL / ANY conditions are met" selector and operators
equals,not_equals,contains,not_contains,is_empty,is_not_empty,gt,lt. - Server-side enforcement of conditional logic — required-validation now skips fields whose conditions evaluate to "hidden".
- Submission detail view fully redesigned: card layout, status badges, action toolbar (Edit Form / Resend Email / Print / Mark New / Mark Spam / Archive / Delete), typed value rendering (mailto / tel / url / blockquote / color swatch / star rating / boolean pill), copy-to-clipboard, internal notes editor, submission timeline, linked submissions panel, print-optimised CSS.
Admin
- New per-field Step property in the page-builder property panel.
- New columns on the submission table:
internal_notes,read_at,status_changed_at,notification_sent_at,notification_resent_at. - New clickable-email column in the submissions listing.
Fix
etc/widget.xmlvalidated against newer Magento Widget XSDs — fixes broken Page Builder and CMS WYSIWYG admin pages on stores that loaded the widget config.
[1.3.0] - 2026-04-30
Feature
- Form templates: 5 built-in templates (
contact,quote,newsletter,survey,support) accessible from a "Create from template" picker in the forms listing toolbar. Identifier deduplication is automatic. - Webhooks on submission: per-form webhook URL and optional secret. Payloads are HMAC-signed (
X-Wimakeit-Signature: sha256=...) and POSTed with a 5 s timeout. - Webhook retry queue with exponential backoff (1 m, 5 m, 15 m, 1 h, 6 h), max 5 attempts, processed every 5 minutes by cron.
- Analytics dashboard under Forms menu: total submissions KPI, submissions-per-day line chart, status breakdown pie chart, top 5 forms, per-form drop-off bar chart, completion rate — no external chart libraries.
Admin
- New ACL resources
Wimakeit_Forms::form_create_from_templateandWimakeit_Forms::analytics. - New cron job
wimakeit_forms_retry_webhooks(every 5 minutes).
[1.2.0] - 2026-04-29
Feature
- Eight new field types:
range(slider with live value),color(color picker),datetime(datetime-local input),time(with min/max/step),rating(1–10 stars, half-star option),toggle(CSS toggle switch),country(Magento Directory source with EU-restrict option),currency(numeric input with currency symbol suffix). - Property panels now group properties into collapsible Field / Validation / Conditional sections.
Admin
- Server-side state validation: the page-builder JSON state is validated before fields are saved. Invalid states show an error and leave existing fields intact.
Deps
- Bumped minimum
wimakeit/module-page-builderto^1.1.
[1.1.0] - 2026-04-29
Feature
- Visual drag-and-drop field builder replaces the legacy dynamic-rows table. Powered by
wimakeit/module-page-builder. - 14 field types registered as content types in the builder palette, grouped by category (Form Inputs, Form Choice, Form Layout).
- Visual options editor for select / radio / checkbox / multiselect with sortable options.
- Visual conditional-logic builder that auto-populates the field dropdown from sibling items.
- Backwards-compatible: existing v1.0 forms open and save correctly through a transparent state adapter.
Deps
- Bumped minimum
wimakeit/module-page-builderto^1.0.
[1.0.0] - 2025-04-28
Feature
- Initial release: form builder with 14 field types (text, email, tel, URL, number, textarea, select, multiselect, checkbox, radio, date, file, hidden, HTML block).
- Configurable per field: order, column width (12-column grid), label, placeholder, help text, default value, validation rules (min/max/pattern/file), and
show_ifconditional display. - AJAX submission via Alpine.js with inline success/error states; works on Luma, Breeze, and Hyvä (via companion module).
- Multi-recipient admin notification email + optional customer confirmation. Subject and body support tokens
{form_title}and{field:code}. - Admin grids for forms (activate / deactivate / bulk delete) and submissions (mark read / spam / archive, CSV export).
- CMS integration via block reference (
Wimakeit\Forms\Block\Form) or native widget picker.
Security
- Honeypot field, configurable per-IP per-hour rate limit, optional reCAPTCHA v3 with server-side score verification.
- CSRF validation on submit, SHA-256 IP hashing in logs, per-form GDPR consent checkbox with policy link.
- ACL hierarchy:
forms,form_save,form_delete,submissions,submission_delete,submission_export.
Admin
- Multi-store: each form can be limited to a specific store view.
- Daily cron
wimakeit_forms_purge_submissionspurges submissions older than the configured retention. - Full i18n: English, French, Dutch.
Found a bug? Tell us about it.
A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.
Report a bug for FormsNeed help?
Our team is available to assist with integration.