durable-workflow/workflow
Durable Workflow for Laravel lets you define workflows and activities as simple PHP classes, with queuing, parallel execution, retries, and error handling. Ideal for sagas, pipelines, AI agent flows, and complex business processes.
Workflow and Activity classes, replay persistence, and retry/error handling inside the Laravel app you already run — so the comparison is "buy a library" versus "build and maintain an orchestration subsystem," not "adopt a new platform."workflow_id/run_id rather than runtime tables. That's a PM-level decision about who gets paged, what support sees, and what you expose to customers versus keep internal.storage.connection) means you can promise workflow state on its own database, with its own backup/retention/scaling policy, or per-tenant isolation. That unlocks deals and compliance conversations that "it's all in the default DB" would block.durable-workflow/sdk later if Python/Rust workers appear. This is a staged architecture decision you can pre-commit to, rather than a rewrite trigger.2.0.0-rc.* and alpha artifacts alongside 1.0.x and 2.5.x lines. Treat "quarterly upgrade and regression work" as a line item in roadmap capacity, not as free.Adopt when most of these hold:
Look elsewhere when:
durable-workflow/sdk, or evaluate Temporal, rather than adopting embedded mode and migrating later.Bus::chain, and Horizon retries already cover it. This package is overhead you don't need.curl | sh script rather than composer require; expect security review to ask for the underlying package path and artifact verification. Budget time for that, or scope it out early.For executives: We can ship resumable, multi-step business processes — onboarding, billing sagas, approvals, AI tool loops — without buying or staffing a separate orchestration platform. It's MIT-licensed, runs inside our existing Laravel app and queue workers, and replaces bespoke per-feature orchestration code that currently costs us engineering time and produces half-completed-state incidents. The trade is a new operational surface (a runtime UI alongside Horizon) and a recurring upgrade cadence, plus modest vendor risk given the project's size and its in-progress 2.x line. Recommendation: pilot on one bounded, high-value workflow with pinned versions and a defined exit path, then decide on standardization at the next planning cycle.
For engineering: Declarative Workflow/Activity classes, replay persistence with a conformance command (workflow:v2:replay-conformance), native queue and event integration, retry and deadline semantics that survive duplicate delivery, configurable storage connection, and a separate operator UI. The ask is ownership: one engineer accountable for the workflow layer, version pinning, upgrade testing across MySQL/PostgreSQL, and a documented fallback if the project stalls or the polyglot path becomes necessary.
How can I help you explore Laravel packages today?