PHPackages                             arabiacode/laravel-flow-builder - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. arabiacode/laravel-flow-builder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

arabiacode/laravel-flow-builder
===============================

Professional workflow automation builder for Laravel with triggers, visual nodes, and execution logs.

1.0.2(2mo ago)823MITBladePHP ^8.1

Since Apr 21Pushed 2mo agoCompare

[ Source](https://github.com/TarekMandour/laravel-flow-builder)[ Packagist](https://packagist.org/packages/arabiacode/laravel-flow-builder)[ Docs](https://github.com/arabiacode/laravel-flow-builder)[ RSS](/packages/arabiacode-laravel-flow-builder/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (9)Versions (4)Used By (0)

[![Flow Builder UI](assets/bannar.png)](assets/bannar.png)

Laravel Flow Builder
====================

[](#laravel-flow-builder)

[![Latest Version on Packagist](https://camo.githubusercontent.com/7f5632ec6d9472a0fd24c0363fa92e9c5554c05b76930ef478323d3e3d5b3547/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f617261626961636f64652f6c61726176656c2d666c6f772d6275696c6465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/arabiacode/laravel-flow-builder)[![Total Downloads](https://camo.githubusercontent.com/e1b8e9530ffad9c7d569c31a1d5ddb263426dbff3ffa33c61a971d5dba74e79f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f617261626961636f64652f6c61726176656c2d666c6f772d6275696c6465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/arabiacode/laravel-flow-builder)[![PHP Version](https://camo.githubusercontent.com/ef9ab21b27db246e7a179229a1793d93d7d718a152e9a738ead1bb6053adcb08/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d3737374242342e7376673f7374796c653d666c61742d737175617265)](https://php.net)[![Laravel Version](https://camo.githubusercontent.com/30669be9a480568d2a426d625a2c5919f8c015785ca07b9c252f9cefd2bf8118/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31312e7825323025374325323031322e7825323025374325323031332e782d7265642e7376673f7374796c653d666c61742d737175617265)](https://laravel.com)[![License](https://camo.githubusercontent.com/6c711032aff1ca0eb6b211aa6cb3649ce7fd64a7714e1181d4bb457f9680e7cf/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

A production-ready Laravel package for no-code and low-code workflow automation.

Build business flows using triggers and visual nodes, then execute them through model events, webhooks, or scheduled tasks.

Why Laravel Flow Builder?
-------------------------

[](#why-laravel-flow-builder)

- Replace complex business logic with visual flows
- Reduce development time
- Centralize automation
- Scalable &amp; queue-ready

Use Cases
---------

[](#use-cases)

- E-commerce automation
- CRM workflows
- Notifications pipelines
- ERP systems

Contents
--------

[](#contents)

- Features
- Requirements
- Download and Installation
- Publish Assets
- Configuration
- Package UI and Routes
- API Endpoints
- Quick Start
- Node Types
- Trigger Types
- Artisan Commands
- Queue and Scheduler Setup
- Extend with Custom Executors
- Manual Execution in Code
- Environment Variables
- License

Features
--------

[](#features)

- Visual flow builder UI for creating and managing flows
- Trigger-based execution: model events, webhook calls, and schedule
- Built-in node system:
    - trigger
    - condition
    - action
    - operation
    - integration
- Action operations for CRUD, query, notifications, email, and WhatsApp
- Operation nodes for sum, subtract, multiply, divide, text formatting, and loops
- Integration nodes for webhook, WhatsApp, Firebase, and Google Drive placeholder
- Template variable resolution with mustache syntax, for example {{order.total}}
- Per-node execution logs and flow execution history
- Queue-ready architecture for asynchronous execution
- Infinite loop protection via configurable node execution limits
- Extensible executor map for custom node types

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- Laravel 11, 12 or 13

Download and Installation
-------------------------

[](#download-and-installation)

Install from Packagist:

```
composer require arabiacode/laravel-flow-builder
```

Run migrations:

```
php artisan migrate
```

Publish Assets
--------------

[](#publish-assets)

Publish configuration file:

```
php artisan vendor:publish --tag=flow-builder-config
```

Publish package views (optional customization):

```
php artisan vendor:publish --tag=flow-builder-views
```

Configuration
-------------

[](#configuration)

After publishing, configure the package in config/flow-builder.php.

Key options:

- queue.enabled: Enable or disable queue execution (default: false)
- queue.connection: Queue connection name
- queue.queue: Queue name (default: flows)
- retry.max\_attempts: Retry attempts for failed jobs
- retry.delay: Delay between retries
- max\_node\_executions: Loop protection threshold
- route\_prefix: API prefix (default: api/flow-builder)
- route\_middleware: API middleware stack
- web\_prefix: Web UI prefix (default: flow-builder)
- web\_middleware: Web UI middleware stack
- logging.enabled: Enable flow logging
- logging.channel: Log channel override
- executors: Register custom executors
- integrations: Service credentials for WhatsApp, Firebase, and Google Drive

Package UI and Routes
---------------------

[](#package-ui-and-routes)

Web UI base route:

- /flow-builder

Main UI pages:

- Dashboard
- Flows
- Executions
- Integrations
- Package Guide

All UI route settings can be changed through config/flow-builder.php.

API Endpoints
-------------

[](#api-endpoints)

Default API prefix: /api/flow-builder

- POST /webhook/{flow}
- POST /flows/{flow}/execute

Both endpoints accept JSON payloads as flow input.

Quick Start
-----------

[](#quick-start)

### 1) Create a flow

[](#1-create-a-flow)

```
use Arabiacode\LaravelFlowBuilder\Models\Flow;

$flow = Flow::create([
    'name' => 'Order Processing',
    'description' => 'Process new orders automatically',
    'is_active' => true,
]);
```

### 2) Add a trigger

[](#2-add-a-trigger)

```
use Arabiacode\LaravelFlowBuilder\Models\FlowTrigger;

FlowTrigger::create([
    'flow_id' => $flow->id,
    'type' => 'model',
    'model_class' => \App\Models\Order::class,
    'event' => 'created',
]);
```

### 3) Add nodes and connections

[](#3-add-nodes-and-connections)

Use the builder UI, or create nodes programmatically with FlowNode and FlowConnection.

### 4) Execute manually via API

[](#4-execute-manually-via-api)

```
curl -X POST http://localhost/api/flow-builder/flows/1/execute \
  -H "Content-Type: application/json" \
  -d '{"order_id":1,"status":"new"}'
```

Node Types
----------

[](#node-types)

### trigger

[](#trigger)

Entry point for flow execution and payload mapping.

### condition

[](#condition)

Evaluates logical rules and follows true or false branch connections.

Supported operators include:

- equals
- not\_equals
- greater\_than
- less\_than
- greater\_or\_equal
- less\_or\_equal
- contains
- not\_contains
- starts\_with
- ends\_with
- in
- exists
- not\_exists

### action

[](#action)

Supported built-in actions:

- create
- update
- delete
- increment
- decrement
- get
- first
- find
- send\_notification
- send\_email
- send\_whatsapp

### operation

[](#operation)

Supported operation types:

- sum
- subtract
- multiply
- divide
- format\_text
- loop

### integration

[](#integration)

Supported integration types:

- webhook
- whatsapp
- firebase
- google\_drive (placeholder implementation)

Trigger Types
-------------

[](#trigger-types)

- model: Triggered by Eloquent model events
- webhook: Triggered by external HTTP request
- schedule: Triggered by cron expression via command

Artisan Commands
----------------

[](#artisan-commands)

```
php artisan flow-builder:run-scheduled
php artisan flow-builder:clear-cache
```

Queue and Scheduler Setup
-------------------------

[](#queue-and-scheduler-setup)

If you use scheduled triggers, register this command in your scheduler:

```
$schedule->command('flow-builder:run-scheduled')->everyMinute();
```

If queue execution is enabled, make sure your queue worker is running:

```
php artisan queue:work --queue=flows
```

Extend with Custom Executors
----------------------------

[](#extend-with-custom-executors)

Implement the executor contract:

```
use Arabiacode\LaravelFlowBuilder\Contracts\NodeExecutor;
use Arabiacode\LaravelFlowBuilder\Engine\FlowState;
use Arabiacode\LaravelFlowBuilder\Models\FlowNode;

class SmsExecutor implements NodeExecutor
{
    public function execute(FlowNode $node, FlowState $state): mixed
    {
        return ['ok' => true];
    }
}
```

Register in config/flow-builder.php:

```
'executors' => [
    'sms' => \App\FlowExecutors\SmsExecutor::class,
],
```

Manual Execution in Code
------------------------

[](#manual-execution-in-code)

```
use Arabiacode\LaravelFlowBuilder\Facades\FlowBuilder;
use Arabiacode\LaravelFlowBuilder\Models\Flow;

$flow = Flow::findOrFail(1);

$execution = FlowBuilder::execute($flow, [
    'order_id' => 1201,
    'customer_name' => 'Sara',
]);

$status = $execution->status;
```

Environment Variables
---------------------

[](#environment-variables)

- FLOW\_BUILDER\_QUEUE\_ENABLED
- FLOW\_BUILDER\_QUEUE\_CONNECTION
- FLOW\_BUILDER\_QUEUE\_NAME
- FLOW\_BUILDER\_LOG\_CHANNEL
- FLOW\_BUILDER\_WHATSAPP\_API\_URL
- FLOW\_BUILDER\_WHATSAPP\_API\_KEY
- FLOW\_BUILDER\_FIREBASE\_SERVER\_KEY
- FLOW\_BUILDER\_GOOGLE\_DRIVE\_CREDENTIALS

License
-------

[](#license)

MIT. See LICENSE for details.

Developed by ArabiaCode.

If you like this package, please ⭐ star the repo!

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance86

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Total

3

Last Release

69d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/81233440?v=4)[TarekMandour](/maintainers/TarekMandour)[@TarekMandour](https://github.com/TarekMandour)

---

Top Contributors

[![TarekMandour](https://avatars.githubusercontent.com/u/81233440?v=4)](https://github.com/TarekMandour "TarekMandour (8 commits)")

---

Tags

automationbusiness-processflow-builderlaravellaravel-packagelow-codeno-codephpsaasworkflowschedulerlaravelwebhooklow-codeno-codebusiness-processworkflow-automationflow builder

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/arabiacode-laravel-flow-builder/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M136](/packages/laravel-pulse)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M133](/packages/roots-acorn)[flarum/core

Delightfully simple forum software.

211.4M2.4k](/packages/flarum-core)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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