Skip to content
Jean-Marc Strauven edited this page Aug 6, 2025 · 6 revisions

πŸš€ Laravel Flowpipe

A modern, YAML-driven workflow engine for Laravel applications

Laravel Flowpipe transforms complex business processes into simple, readable YAML files. Define your workflows declaratively and let Laravel Flowpipe handle the execution, error handling, and tracing.

🌟 Why Laravel Flowpipe?

  • πŸ“„ YAML-First: Define workflows in simple, readable YAML files
  • πŸ”„ Composable: Reuse steps and groups across different flows
  • 🎯 Type-Safe: Full PHP class integration with Laravel's IoC container
  • 🚨 Error Handling: Built-in retry, fallback, and compensation strategies
  • πŸ“Š Traceable: Complete execution tracking and debugging
  • ⚑ Queue Support: Seamless Laravel queue integration

⚑ Quick Start

1. Install the Package

composer require grazulex/laravel-flowpipe

2. Create Your First YAML Flow

# flows/user-registration.yaml
flow: user-registration
description: Complete user registration process

send:
  name: "John Doe"
  email: "[email protected]"
  password: "SecurePassword123!"

steps:
  - type: action
    class: App\Flowpipe\Steps\ValidateInputStep
    
  - type: action
    class: App\Flowpipe\Steps\CreateUserStep
    
  - type: action
    class: App\Flowpipe\Steps\SendWelcomeEmailStep

3. Execute Your Flow

use Grazulex\LaravelFlowpipe\Flowpipe;

$result = Flowpipe::fromYaml('user-registration')->execute();

πŸ“š Documentation

Getting Started

Core Concepts

Advanced Features

Tools & Configuration

Examples

🎯 Example: Simple User Registration

Here's what a complete user registration workflow looks like:

# flows/user-registration.yaml
flow: user-registration
description: Complete user registration with validation and email verification

send:
  name: "John Doe"
  email: "[email protected]"
  password: "SecurePassword123!"
  terms_accepted: true

steps:
  - type: group
    name: user-validation
    
  - type: action
    class: App\Flowpipe\Steps\CreateUserStep
    
  - type: action
    class: App\Flowpipe\Steps\SendVerificationEmailStep
    
  - type: action
    class: App\Flowpipe\Steps\SendWelcomeEmailStep

Execute it with:

$result = Flowpipe::fromYaml('user-registration')
    ->send(['name' => 'Jane', 'email' => '[email protected]'])
    ->execute();

πŸ”— Quick Links


Laravel Flowpipe is built for developers who want to create maintainable, scalable workflows without sacrificing code quality or Laravel conventions.

πŸš€ Laravel Flowpipe

🏠 Home

🏁 Getting Started

πŸ“š Core Concepts

πŸš€ Advanced Features

πŸ› οΈ Tools & Configuration

πŸ“– Examples


πŸ”— GitHub Repository

Clone this wiki locally