-
-
Notifications
You must be signed in to change notification settings - Fork 0
Installation Setup
Jean-Marc Strauven edited this page Aug 6, 2025
·
2 revisions
β Home | Your First Flow β
Get Laravel Flowpipe up and running in your Laravel application in just a few steps.
- PHP 8.1 or higher
- Laravel 9.0 or higher
- Composer
composer require grazulex/laravel-flowpipe
php artisan vendor:publish --provider="Grazulex\LaravelFlowpipe\LaravelFlowpipeServiceProvider"
This creates config/flowpipe.php
with the following default settings:
<?php
return [
/*
|--------------------------------------------------------------------------
| Flow Definitions Path
|--------------------------------------------------------------------------
|
| Directory where your YAML flow definitions are stored.
| Relative to your Laravel application root.
|
*/
'definitions_path' => 'flows',
/*
|--------------------------------------------------------------------------
| Default Step Namespace
|--------------------------------------------------------------------------
|
| Default namespace for step classes when using simple class names
| in YAML files.
|
*/
'step_namespace' => 'App\\Flowpipe\\Steps',
/*
|--------------------------------------------------------------------------
| Group Definitions Path
|--------------------------------------------------------------------------
|
| Directory where your YAML group definitions are stored.
|
*/
'groups_path' => 'groups',
/*
|--------------------------------------------------------------------------
| Tracing Configuration
|--------------------------------------------------------------------------
|
| Configure execution tracing and debugging features.
|
*/
'tracing' => [
'enabled' => env('FLOWPIPE_TRACING_ENABLED', true),
'tracer' => 'default',
],
/*
|--------------------------------------------------------------------------
| Queue Configuration
|--------------------------------------------------------------------------
|
| Configure queue integration for asynchronous flow execution.
|
*/
'queue' => [
'connection' => env('FLOWPIPE_QUEUE_CONNECTION', 'default'),
'queue' => env('FLOWPIPE_QUEUE_NAME', 'flowpipe'),
],
];
After installation, create the recommended directory structure:
your-laravel-app/
βββ flows/ # YAML flow definitions
β βββ user-registration.yaml
β βββ order-processing.yaml
β βββ content-moderation.yaml
βββ groups/ # Reusable step groups
β βββ user-validation.yaml
β βββ payment-processing.yaml
β βββ notifications.yaml
βββ app/
βββ Flowpipe/
βββ Steps/ # PHP step classes
β βββ ValidateInputStep.php
β βββ CreateUserStep.php
β βββ SendEmailStep.php
βββ Conditions/ # Custom conditions
βββ EmailEnabledCondition.php
Add these optional environment variables to your .env
file:
# Enable/disable tracing (default: true)
FLOWPIPE_TRACING_ENABLED=true
# Queue connection for async flows
FLOWPIPE_QUEUE_CONNECTION=redis
FLOWPIPE_QUEUE_NAME=workflows
Test your installation by running:
php artisan flowpipe:list
You should see the Laravel Flowpipe commands available.
- Create Your First Flow - Build a simple workflow
- Understanding YAML Flows - Learn the YAML syntax
- PHP Steps - Create custom step classes
"Class not found" errors
- Ensure your step classes are properly namespaced
- Check the
step_namespace
configuration - Run
composer dump-autoload
YAML files not found
- Verify the
definitions_path
configuration - Ensure YAML files are in the correct directory
- Check file permissions
Need Help?
Laravel Flowpipe - YAML-driven workflow engine for Laravel
GitHub: Laravel Flowpipe Repository | Support: GitHub Issues
Quick Navigation: Home β’ Installation β’ Configuration β’ Commands β’ Examples
π§ Developed by Grazulex