Product overview

Everything you need to run approval workflows in Laravel.

DBFlow is a model-first workflow engine for Laravel and Filament. It gives your app a dedicated runtime for approvals, tasks, reject strategies, and audit logs — attached directly to your Eloquent models. No BPM platform. No BPMN XML. Just clean PHP and JSON-compatible definitions.

Packages: dbflowlabs/core, dbflowlabs/filament (Standard UI), dbflowlabs/filament-pro (visual builder preview). Core and Filament Standard are MIT-licensed during alpha; Pro is commercial preview software.

C
Core

DBFlow Core

The DAG runtime: DBFlow::start(), approve/reject/cancel, active_key concurrency, and dbflow_workflow_* tables. Definitions are JSON-compatible PHP arrays — not a fluent DSL.

F
Filament Standard

DBFlow Filament (Standard UI)

Operates workflows in Filament: My Tasks, workflow instances, definition editing (linear editor), timelines, and host resource-action patterns. Registers through DBFlowFilamentPanel::register().

P
Pro Early Access / Preview

DBFlow Pro

Designs workflows visually — LogicFlow canvas, graph compilation into the same JSON definitions Core executes. Not a mature no-code platform; canvas editing and publication are still evolving during alpha.

Scope

Focused workflow infrastructure. Not a platform.

DBFlow is purpose-built for approval workflows on Laravel Eloquent models. It is not a general automation engine, a Zapier replacement, or a BPMN runtime.

Not a BPMN server Not a Zapier clone Not low-code / no-code Not an AI workflow generator Not WordPress-first

Engineering quality

Designed for workflow safety.

Versioned definitions

Published versions in dbflow_workflow_versions. Running instances keep the version they started with.

Atomic task actions

DBFlow::approve() and DBFlow::reject() update runtime state inside database transactions.

Append-only audit logs

WorkflowLogger writes dbflow_workflow_logs rows (WorkflowLogEvent types).

active_key concurrency

Prevents duplicate active workflows per workflowable slot.

Reject strategies

RejectStrategy controls whether rejection restarts, steps back, or ends the instance.

WorkflowHooks

Host callbacks (onStarted, onApproved, onRejected, onCancelled) — not Laravel Event classes.