Features

Complete form infrastructure for Laravel & Filament. Build once, use everywhere.

Public Forms. Visitor Submissions. Analytics. Done.

The form infrastructure you'd otherwise rebuild on every Laravel project—visual builder, submission storage, analytics, notifications. Ship the rest of the app instead.

Native Filament Plugin

Create visitor-facing forms from your Filament admin. Manage all public form submissions in your familiar dashboard.

Complete System

From contact form to multi-step application — without writing a line of form code. Submissions, analytics, and notifications come built-in.

Your Infrastructure

Self-hosted on your servers. No monthly fees, no vendor lock-in, no external dependencies forever.

Complete Public Form Solution

Everything you need for visitor-facing forms—from simple contact forms to complex multi-step applications.

25+ Field Types
Drag & Drop Builder
Conditional Logic
Multi-Step Forms
File Uploads
Email Notifications
Auto-Responders
Submission Dashboard
Real-Time Analytics
CSV/Excel Export
Custom Field Types
Multi-Tenant Support
Mobile Responsive
Custom CSS/Styling
Progress Saving
Zero Code Required

What's actually in the box

Every capability, with what it does and how it works.

Drag-and-drop form builder

Build any form by dragging fields onto a canvas. No code, no schema migrations. The builder lives inside your Filament admin, so the editing experience matches the rest of your panel.

Every form is stored as data in your own database. There's no proprietary file format, no external service, and no telemetry — just rows your team can query, back up, and migrate like any other Eloquent model.

25+ field types

Text, email, phone, URL, number, decimal, password, textarea, rich-text, select, radio, checkbox, multi-select, file upload, image upload, date, datetime, time, range, color, rating, signature, repeater, hidden, and section break — all available from the builder palette.

Need a field type that isn't in the list? Implement the FilaForms field interface, register it in a service provider, and it shows up in the builder palette next to the built-in fields. Same SDK FilaForms uses internally.

Conditional logic

Show or hide any field based on the value of any other field. Set up rules in the builder using a visual condition editor — no JavaScript and no Livewire glue code.

Logic evaluates on the server-rendered Livewire form, so the conditional state survives validation errors, page reloads, and back-button navigation. Rules can chain ("show field B if A is filled AND C is not").

Multi-step forms

Split long forms into steps with a progress indicator. Each step is its own validation boundary, so users can't advance with invalid data and don't have to scroll past errors from earlier steps.

Partial submissions are stored as the user moves through steps, so abandoned forms still produce a record you can follow up on.

Submissions dashboard

Every submission lands in a Filament table with search, filters, and bulk actions. Filter by date range, form, status, or any custom field value.

Export filtered submissions to CSV or Excel with one click. Or query them as Eloquent records from anywhere in your app — they're your data.

Analytics & charts

Built-in widgets show submission volume over time, completion rate per form, and per-field abandonment. No third-party analytics tool, no PII leaving your server.

All charts pull from your own submissions table, so the numbers match exactly what your team sees in the dashboard.

Email notifications

Configure one or more email recipients per form. Choose between the built-in templates (compact summary, full submission, custom) or pass your own Mailable class.

Notifications fire through Laravel's queue, so a slow SMTP server never blocks the submission response. Failed sends are retried using your existing queue configuration.

What teams actually use it for

SaaS signups & onboarding

Replace the signup-form-in-React-plus-API-route pattern with a Filament-built form that drops onto a public route and writes to your users table.

Contact & lead capture

Standard contact form with spam protection, email notifications, and a submissions inbox — without bolting Formspree onto your Laravel app.

Surveys & feedback

NPS, CSAT, churn surveys with rating fields, conditional follow-ups, and per-question analytics that match your dashboard.

Event registration

Multi-step registration with file uploads (badges, documents), waitlist handling, and a submissions table your event team can filter by date.

Common questions

How is FilaForms different from Filament's built-in form builder?

Filament's form builder is the layer used inside the admin panel — it powers the create/edit forms on your resources. FilaForms is for public-facing forms your website visitors fill out: contact forms, signups, surveys, event registration. They're complementary, not competitors.

Does it work with Livewire?

Yes. Every form FilaForms renders is a Livewire component, so state, validation errors, conditional logic, and multi-step flows survive partial updates without page reloads.

Can I extend it with my own field types?

Yes. Implement the FilaForms field type interface, register it in a service provider, and it appears in the visual builder alongside the built-in fields. Same SDK FilaForms uses internally.

What PHP / Laravel / Filament versions are supported?

PHP 8.3+, Laravel 11 or 12, Filament 4 or 5. MySQL or PostgreSQL. Tailwind CSS 4.0+ if you customize the frontend rendering.

Where are submissions stored?

In your own database, in tables managed by FilaForms migrations. There is no external service, no telemetry, and no vendor cloud.

How does it handle spam?

Honeypot field on every form by default. Optional integrations for hCaptcha, Cloudflare Turnstile, and Google reCAPTCHA v3 ship in the box.