spiggle/form-builder v1.0.0 Filament 3 / 4 / 5

Build, publish, capture, and review forms

A visual schema builder in Filament, a public Livewire renderer at /forms/{path}, and a submission inbox with filters, charts, and CSV / Excel / PDF export.

What it is

Spiggle Form Builder is a Laravel + Filament plugin for standalone forms. The schema is a portable JSON document. The public page does not depend on Filament CSS. Submissions are stored in their own tables — not as Dynamic Fields EAV rows.

Field types match Spiggle Dynamic Fields when that package is installed (FieldCatalog). You can copy custom-field definitions into a form with Form::importCustomFields($ids).

Admin users

Create forms under Forms, design sections and fields, publish, then review Submissions.

Site visitors

Open the public URL (default /forms/contact-us), complete the layout (single, wizard, tabs, or pages), and submit.

Developers

Register the plugin, migrate, optionally enable root-path vanity URLs, and listen for FormSubmitted.

Who this is for

Documentation contents

Usage guide

Install, register the plugin, publish config/migrations/views, routing, Shield permissions, Artisan, and config keys.

Workflows

Create a form, publish it, capture data, validate, store, review, export, clone, and import custom fields.

Features

Layouts, field types, builder UX, public forms, files, tags, redirects, submissions, charts, and exports.

GitHub repository

Source and issues for spiggle/form-builder.

Quick start

composer require spiggle/form-builder:@dev
php artisan vendor:publish --tag=form-builder-config
php artisan migrate
use Spiggle\FormBuilder\Filament\FormBuilderPlugin;

$panel
    ->plugin(\Spiggle\DynamicFields\Filament\DynamicFieldsPlugin::make()) // optional, recommended
    ->plugin(FormBuilderPlugin::make());

Public forms: /{prefix}/{base_path} (default prefix forms). Example: /forms/contact-us.

Seed demos: php artisan form-builder:seed (Contact Us, Event Registration, Job Application, Customer Feedback).

Related plugin

Spiggle Dynamic Fields (spiggle/dynamic-fields v1.1.0) attaches extra attributes to Eloquent models. Form Builder can run without it; types then come from config/form-builder.php. Site: Spiggle Dynamic Fields. Repo: skillbobby/Spiggle-Dynamic-Fields.