Product Decisions This Supports
- Build vs. buy for form capture: a drag-and-drop form builder inside a Filament admin panel is a solved, commoditized problem. Adopting
filament-custom-forms at v1.5.1 avoids committing 1–2 engineering sprints to build schema modeling, field rendering, validation wiring, and submission storage in-house — all of which are table stakes rather than differentiators.
- Roadmap acceleration for admin-configurable intake: unblocks any roadmap item that requires non-engineers to define or change a form — onboarding questionnaires, support intake, internal requests, lead qualification, event registration, feedback/NPS, vendor application flows.
- Feature scoping: lets the team separate form definition (a runtime, ops-owned concern) from form processing (a product/engineering concern — routing submissions, triggering notifications, syncing to CRM). The package covers the former; scope the latter explicitly.
- Ops autonomy / release cadence: shifts routine form changes from engineering backlog to the operations team, reducing small-change ticket volume and shortening time-to-change from days to minutes.
- Version posture: v1.5.1 is a patch release with no listed changes — a maintenance/housekeeping signal rather than a capability change. It does not alter the decision; it only confirms the package is still receiving releases. Treat the assessment as stable at the v1.5.x line and pin to
^1.5 in composer.json.
When to Consider This Package
Adopt when:
- The application is already on Laravel + Filament and forms need to live inside the admin panel (same auth, policy, and UI conventions — no second admin surface to operate).
- The primary need is structure: field types, labels, required/optional, ordering, and stored submissions that staff can review and export.
- The people defining forms are internal staff, and the number of forms is moderate (tens, not thousands).
- Engineering time is the constraint and a well-scoped third-party dependency is acceptable.
Look elsewhere when:
- Complex conditional logic, multi-page wizards, scoring, calculations, or payments are core to the experience — these tend to break out of a bundled builder and belong in a dedicated form product or custom code.
- The forms are public-facing and high-traffic, with SEO, performance, A/B testing, or conversion-analytics requirements that a Filament-panel-centric builder is not designed for.
- Compliance scoping matters (health, financial, or PII-heavy intake) and you need contractual DPA/security review, audit trails, or data-residency guarantees from the vendor.
- You are not on Filament, or are on a Filament major version the plugin does not yet support — verify compatibility before committing.
- Vendor concentration risk is unacceptable: a single-maintainer package on a critical path warrants either a fork-and-own plan or an internal abstraction layer over form persistence so the dependency can be swapped.
How to Pitch It (Stakeholders)
For executives: This is a small, low-cost dependency that gives our admin panel a self-service form builder. Operations can create and edit intake forms — onboarding, requests, feedback — without an engineering ticket. The business outcome is fewer small-change requests in the sprint, faster turnaround on process changes, and no build cost for a capability customers and staff already expect. It is additive, not architectural: it does not change our stack, and it can be removed if it stops fitting.
For engineering: A Filament plugin providing form schema definition, rendering, validation, and submission storage within the existing admin panel — no new service, no new auth model, no separate deployment. Integration is a Composer dependency plus plugin registration and migrations. Cost of adoption is low; cost of reversal is low-to-moderate (submissions data would need migration), so isolate form persistence behind a thin internal service to keep that exit cheap. Constraints to accept up front: it is a focused builder, not a form-logic engine — do not commit to conditional branching, scoring, or payments on top of it without a spike. Latest release is v1.5.1, a patch with no functional changes; pin to ^1.5, watch the release feed, and review on each minor bump.