Skip to main content
For Laravel 11 – 13

Workflow Engine

A headless workflow automation engine for Laravel

Define workflows as a trigger followed by a graph of nodes, and run them synchronously, asynchronously, or from the command line — without shipping a UI.

Why Workflow Engine

A headless workflow automation engine that's a Composer package, not a hosted product — you bring the interface, it brings the execution engine, node library, storage, and testing tools.

Trigger-driven execution

Manual, Webhook, Schedule (cron), and Eloquent Model event triggers included out of the box.

A large built-in node library

Logic (condition, switch, loop), variables, HTTP, files, Eloquent model CRUD, math, text, date/time, and collection operations.

An expression language

Reference trigger and node output with chained helper methods: {{ trigger.email }}, {{ nodes.query.result.first() }}.

Suspend and resume

Nodes like Wait and Call Workflow can suspend an execution and resume it later without re-running earlier steps.

Pluggable storage

File-based (git-friendly) or database-backed storage for workflows and executions, configured independently.

First-class testing support

Workflow::fake() and a set of assertions for testing that your app triggers workflows correctly.

Installation

Add the package to an existing Laravel application and publish its config.

composer require qanna-rsa/workflow-engine
php artisan vendor:publish --tag=workflowengine::config

Full installation guide →

Quick Start

Build a workflow interactively, then run it from the terminal or your application code.

php artisan workflow:build
php artisan workflow:run send-welcome-email --payload='{"email":"ada@example.com"}'

Full quick start guide →