PHPackages                             laravel-workflow/laravel-workflow - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. laravel-workflow/laravel-workflow

ActiveLibrary

laravel-workflow/laravel-workflow
=================================

Durable workflow engine that allows users to write long running persistent distributed workflows (orchestrations) in PHP powered by Laravel queues.

1.0.71(2mo ago)1.2k446.6k—4.2%64[1 PRs](https://github.com/durable-workflow/workflow/pulls)4MITPHPPHP ^8.1CI failing

Since Mar 4Pushed 1mo ago19 watchersCompare

[ Source](https://github.com/durable-workflow/workflow)[ Packagist](https://packagist.org/packages/laravel-workflow/laravel-workflow)[ RSS](/packages/laravel-workflow-laravel-workflow/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (123)Used By (4)

[![GitHub Workflow Status](https://camo.githubusercontent.com/202cfcbe5904ec45a031a300e819108e7d1da401d28f0ceb44a5d475a215353f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f64757261626c652d776f726b666c6f772f776f726b666c6f772f7068702e796d6c)](https://github.com/durable-workflow/workflow/actions/workflows/php.yml) [![Codecov](https://camo.githubusercontent.com/8de00c192bf0038e0a9e8278980a167469f4bc487ecc81bd3a80b018bde71392/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f64757261626c652d776f726b666c6f772f776f726b666c6f77)](https://codecov.io/gh/durable-workflow/workflow) [![Packagist Downloads (custom server)](https://camo.githubusercontent.com/c8004b6731d7dabf70a9b6a8d5bf0ff30cadb6b01c532505204173c7131af1c6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c61726176656c2d776f726b666c6f772f6c61726176656c2d776f726b666c6f77)](https://packagist.org/packages/laravel-workflow/laravel-workflow/stats) [![Docs](https://camo.githubusercontent.com/2a2b4175caf0b5021cad035c03e2f42f424c87649fa07f952e245bedd739ad95/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f63732d726561642532306e6f772d627269676874677265656e)](https://durable-workflow.com/docs/installation) [![Packagist License](https://camo.githubusercontent.com/8ca2b17f831f70bdad76cb653afe120666b8da1c034da701b105996d285f75b7/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c61726176656c2d776f726b666c6f772f6c61726176656c2d776f726b666c6f773f636f6c6f723d6272696768742d677265656e)](https://github.com/durable-workflow/workflow/blob/master/LICENSE)

Durable Workflow (formerly Laravel Workflow) is a package for the Laravel web framework that provides tools for defining and managing workflows and activities. A workflow is a series of interconnected activities that are executed in a specific order to achieve a desired result. Activities are individual tasks or pieces of logic that are executed as part of a workflow.

Durable Workflow can be used to automate and manage complex processes, such as agentic workflows (AI-driven), financial transactions, data analysis, data pipelines, microservices, job tracking, user signup flows, sagas and other business processes. By using Durable Workflow, developers can break down large, complex processes into smaller, modular units that can be easily maintained and updated.

Some key features and benefits of Durable Workflow include:

- Support for defining workflows and activities using simple, declarative PHP classes.
- Tools for starting, monitoring, and managing workflows, including support for queuing and parallel execution.
- Built-in support for handling errors and retries, ensuring that workflows are executed reliably and consistently.
- Integration with Laravel's queue and event systems, allowing workflows to be executed asynchronously on worker servers.
- Extensive documentation and a growing community of developers who use and contribute to Durable Workflow.

Documentation
-------------

[](#documentation)

Documentation for Durable Workflow can be found on the [website](https://durable-workflow.com/docs/installation).

Community
---------

[](#community)

You can find us in the [GitHub discussions](https://github.com/durable-workflow/workflow/discussions) and also on our [Discord channel](https://discord.gg/xu5aDDpqVy).

Sample App
----------

[](#sample-app)

There's also a [sample application](https://github.com/durable-workflow/sample-app) that you can run directly from GitHub in your browser.

Usage
-----

[](#usage)

**1. Create a workflow**

```
use function Workflow\activity;
use Workflow\Workflow;

class MyWorkflow extends Workflow
{
    public function execute($name)
    {
        $result = yield activity(MyActivity::class, $name);

        return $result;
    }
}
```

**2. Create an activity**

```
use Workflow\Activity;

class MyActivity extends Activity
{
    public function execute($name)
    {
        return "Hello, {$name}!";
    }
}
```

**3. Run the workflow**

```
use Workflow\WorkflowStub;

$workflow = WorkflowStub::make(MyWorkflow::class);
$workflow->start('world');
```

```
$workflow->output();
=> 'Hello, world!'
```

Sponsors
--------

[](#sponsors)

The Durable Workflow package is sustained by the community via sponsors and volunteers.

- [Freispace Resource Scheduling](https://freispace.com)
- [Hugo Cox](https://github.com/hnccox)

Monitoring
----------

[](#monitoring)

[Waterline](https://github.com/durable-workflow/waterline) is a separate UI that works nicely alongside Horizon. Think of Waterline as being to workflows what Horizon is to queues.

### Dashboard View

[](#dashboard-view)

[![waterline_dashboard](https://private-user-images.githubusercontent.com/1130888/545636983-5688a234-4c02-4d5e-84d4-5f40b5fa27c5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUyNzkzMzUsIm5iZiI6MTc3NTI3OTAzNSwicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4My01Njg4YTIzNC00YzAyLTRkNWUtODRkNC01ZjQwYjVmYTI3YzUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMDUwMzU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2Y5NGJmNjcyYWNlYTkwNWE3ODQzN2EwNWU5YjM4MzlhMzJkM2VjOWU1YTBkNzk5NmZlNTA1NmZhODllNWNlMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.emWSqsXLX2J6T9i1uCIl43b_Y0hbydjAqjGauKvXU0k)](https://private-user-images.githubusercontent.com/1130888/545636983-5688a234-4c02-4d5e-84d4-5f40b5fa27c5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUyNzkzMzUsIm5iZiI6MTc3NTI3OTAzNSwicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4My01Njg4YTIzNC00YzAyLTRkNWUtODRkNC01ZjQwYjVmYTI3YzUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMDUwMzU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Y2Y5NGJmNjcyYWNlYTkwNWE3ODQzN2EwNWU5YjM4MzlhMzJkM2VjOWU1YTBkNzk5NmZlNTA1NmZhODllNWNlMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.emWSqsXLX2J6T9i1uCIl43b_Y0hbydjAqjGauKvXU0k)

### Workflow View

[](#workflow-view)

[![workflow](https://private-user-images.githubusercontent.com/1130888/545636986-da685466-7747-4c2f-ae10-300041381d51.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUyNzkzMzUsIm5iZiI6MTc3NTI3OTAzNSwicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4Ni1kYTY4NTQ2Ni03NzQ3LTRjMmYtYWUxMC0zMDAwNDEzODFkNTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMDUwMzU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NmY4ZTUyMjM3ZmEzOGYxMWM5Yzc3MWU0NzBiZTIxYzI1YWMyNmMxMmZiZmIyYjI1YjE2YzdkODA0ZTQ5OTNjNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.czt_oJ_N-ipbBPFOQJ78YtpQkCPFeYOdEbx0fZZ8WA0)](https://private-user-images.githubusercontent.com/1130888/545636986-da685466-7747-4c2f-ae10-300041381d51.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUyNzkzMzUsIm5iZiI6MTc3NTI3OTAzNSwicGF0aCI6Ii8xMTMwODg4LzU0NTYzNjk4Ni1kYTY4NTQ2Ni03NzQ3LTRjMmYtYWUxMC0zMDAwNDEzODFkNTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMDUwMzU1WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NmY4ZTUyMjM3ZmEzOGYxMWM5Yzc3MWU0NzBiZTIxYzI1YWMyNmMxMmZiZmIyYjI1YjE2YzdkODA0ZTQ5OTNjNCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.czt_oJ_N-ipbBPFOQJ78YtpQkCPFeYOdEbx0fZZ8WA0)

Refer to  for installation and configuration instructions.

"Laravel" is a registered trademark of Taylor Otwell. This project is not affiliated, associated, endorsed, or sponsored by Taylor Otwell, nor has it been reviewed, tested, or certified by Taylor Otwell. The use of the trademark "Laravel" is for informational and descriptive purposes only. Durable Workflow is not officially related to the Laravel trademark or Taylor Otwell.

###  Health Score

69

—

FairBetter than 100% of packages

Maintenance89

Actively maintained with recent releases

Popularity62

Solid adoption and visibility

Community35

Small or concentrated contributor base

Maturity75

Established project with proven stability

 Bus Factor1

Top contributor holds 94.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~6 days

Total

110

Last Release

60d ago

Major Versions

0.0.38 → 1.0.02023-07-16

PHP version history (2 changes)0.0.10PHP ^8.0.2

1.0.33PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/8cc4e03d21bee1d338a3d10c5002c2b13c7602825c20d436a9481a90254cac9a?d=identicon)[rmcdaniel](/maintainers/rmcdaniel)

---

Top Contributors

[![rmcdaniel](https://avatars.githubusercontent.com/u/1130888?v=4)](https://github.com/rmcdaniel "rmcdaniel (397 commits)")[![durable-workflow-ops](https://avatars.githubusercontent.com/u/267215253?v=4)](https://github.com/durable-workflow-ops "durable-workflow-ops (4 commits)")[![asanovr](https://avatars.githubusercontent.com/u/6459461?v=4)](https://github.com/asanovr "asanovr (2 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (2 commits)")[![davidruigrok](https://avatars.githubusercontent.com/u/1713000?v=4)](https://github.com/davidruigrok "davidruigrok (2 commits)")[![Naugrimm](https://avatars.githubusercontent.com/u/5753604?v=4)](https://github.com/Naugrimm "Naugrimm (2 commits)")[![jbardnz](https://avatars.githubusercontent.com/u/1628446?v=4)](https://github.com/jbardnz "jbardnz (1 commits)")[![JustinElst](https://avatars.githubusercontent.com/u/249633?v=4)](https://github.com/JustinElst "JustinElst (1 commits)")[![maartenpaauw](https://avatars.githubusercontent.com/u/4550875?v=4)](https://github.com/maartenpaauw "maartenpaauw (1 commits)")[![martio](https://avatars.githubusercontent.com/u/133636?v=4)](https://github.com/martio "martio (1 commits)")[![andrewbroberg](https://avatars.githubusercontent.com/u/7610285?v=4)](https://github.com/andrewbroberg "andrewbroberg (1 commits)")[![tonypartridge](https://avatars.githubusercontent.com/u/1400982?v=4)](https://github.com/tonypartridge "tonypartridge (1 commits)")[![BenQoder](https://avatars.githubusercontent.com/u/24754078?v=4)](https://github.com/BenQoder "BenQoder (1 commits)")[![Braindea7](https://avatars.githubusercontent.com/u/31728352?v=4)](https://github.com/Braindea7 "Braindea7 (1 commits)")[![gachowy](https://avatars.githubusercontent.com/u/332179?v=4)](https://github.com/gachowy "gachowy (1 commits)")[![GALCF](https://avatars.githubusercontent.com/u/14803394?v=4)](https://github.com/GALCF "GALCF (1 commits)")[![hrabbit](https://avatars.githubusercontent.com/u/11155?v=4)](https://github.com/hrabbit "hrabbit (1 commits)")

---

Tags

background-jobsbpmbpmndurable-functionsjobslaravelmicroservicesorchestrationphpqueueingstatusworkflowworkflow-engineworkflows

###  Code Quality

Static AnalysisPHPStan

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/laravel-workflow-laravel-workflow/health.svg)

```
[![Health](https://phpackages.com/badges/laravel-workflow-laravel-workflow/health.svg)](https://phpackages.com/packages/laravel-workflow-laravel-workflow)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11120.2M21](/packages/anourvalar-eloquent-serialize)[namu/wirechat

A Laravel Livewire messaging app for teams with private chats and group conversations.

54324.5k](/packages/namu-wirechat)[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135192.6k5](/packages/statamic-rad-pack-runway)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
