A reusable, headless Laravel package for multi-level approval workflows with delegation, OTP hooks, notifications, SLA tracking, and auditability.
hadimazalan/laravel-approval-workflow is a Laravel package for a reusable, headless laravel package for multi-level approval workflows with delegation, otp hooks, notifications, sla tracking, and auditability..
It currently has 0 GitHub stars and 0 downloads on Packagist (latest version v0.0.1).
Install it with composer require hadimazalan/laravel-approval-workflow.
Discover more Laravel packages by hadimazalan
or browse all Laravel packages to compare alternatives.
Last updated
A reusable, headless Laravel package for multi-level approval workflows. It ships with a fluent API, database-backed workflow instances, multi-level approval, delegation, OTP hooks, pluggable notification channels, SLA tracking, history, and a full audit trail.
Hadimazalan\ApprovalWorkflowhadimazalan/laravel-approval-workflow^10.0 | ^11.0 | ^12.0^8.2Approval workflows are everywhere — claims, leave requests, purchase orders, content publishing, government applications. They share the same shape:
This package provides a clean, headless core for that shape. It is framework agnostic about how you build your UI and who your approvers are — those are pluggable.
use Hadimazalan\ApprovalWorkflow\Facades\Approval;
use App\Models\Claim;
$claim = Claim::create([...]);
Approval::for($claim)
->level('Head of Department')
->level('Finance')
->level('CEO')
->notifyBy(['email', 'whatsapp'])
->start();
That single call:
ApprovalInstance linked to your $claim model.ApprovalStep per level, in order.ApproverResolver.use Hadimazalan\ApprovalWorkflow\Facades\Approval;
$instance = $claim->approvalInstance;
Approval::approve($instance, $approver, remarks: 'Looks good.');
Approval::reject($instance, $approver, remarks: 'Insufficient evidence.');
Approval::delegate($instance, $fromUser, $toUser, reason: 'On leave.');
composer require hadimazalan/laravel-approval-workflow
The service provider is auto-discovered.
Publish the config and migration:
php artisan vendor:publish --tag=approval-workflow-config
php artisan vendor:publish --tag=approval-workflow-migrations
php artisan migrate
See docs/ for full guides:
The MIT License (MIT). Please see LICENSE for more information.