banyancms/filament-flow-builder
A visual flow builder for Laravel Filament from BanyanCMS. Design node-based flows on an interactive drag-and-drop canvas, configure custom nodes and connections, and manage complex workflows directly inside your Filament admin panel with a clean, native interface. Ideal for automating processes and...
composer require banyancms/filament-flow-builder, or you'll spend an hour on a dependency resolution problem that isn't the package's fault.docs/guide.md before the README. The README is a feature summary; the guide is where the actual wiring lives.StepType and ConditionType subclasses are where your app decides what a step means and what a condition can test. Do this before touching the UI; the builder is only as useful as the types you register.FlowBuilderField when the flow is an attribute of a record edited inside a resource form; the InteractsWithFlowBuilder trait on your own page when the flow is the page. The trait is also the multi-panel path — advertised as working in more than one panel, so verify it in each panel you ship.StepType/ConditionType classes. When you rename a type or change its config shape, in-flight flows break silently. Snapshot the JSON on each publish, or version the schema, before you go live.StepReached, StepSkipped, OutcomeChosen, FlowReturned, FlowFinished are the intended seam: notifications, audit log rows, status column updates. Keep the runner call itself thin so you can re-run it without re-notifying.request changes and parallel approvals as your own state, driven by the events, in your own status column. The package deliberately doesn't own state — that's a feature, but it means the state machine is yours to keep consistent.composer.json and keep a smoke test that round-trips a stored flow through the runner. Class names and the JSON schema can move under you.FlowFinished. Build the retry/reminder path from the example before shipping, not after the first incident.StepSkipped carries the audit information your compliance reviewers will ask for ("why did this never go to finance?"); a log built only on StepReached can't answer that.StepType, ConditionType, the five events, published views and translations. Stay inside it; reaching into internals of a 0.x package is how you end up pinned to a version forever.How can I help you explore Laravel packages today?