Download the PHP package intelfric/n8n-php-automation without Composer
On this page you can find all versions of the php package intelfric/n8n-php-automation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download intelfric/n8n-php-automation
More information about intelfric/n8n-php-automation
Files in intelfric/n8n-php-automation
Package n8n-php-automation
Short Description A visual automation engine for Laravel, similar to n8n, Zapier, or Huginn
License MIT
Homepage https://github.com/INTELFRIC/n8n-php-automation
Informations about the package n8n-php-automation
Laravel Automation Core
A powerful visual automation engine for Laravel, similar to n8n, Zapier, or Huginn. Create, connect, and execute workflows made of modular nodes (triggers, actions, conditions) directly within your Laravel projects.
Features
- 🧩 Modular Architecture: Build workflows with reusable, composable nodes
- ⚡ Flow Execution Engine: Automatically resolves node dependencies and execution order
- 📊 Execution Logging: Track all flow executions with detailed logs
- 🔌 Built-in Nodes: HTTP requests, emails, delays, conditions, database queries
- 🎨 Extensible: Easy to create and register custom nodes
- 🚀 RESTful API: Full API for managing flows, nodes, and connections
- 📝 Event System: Hook into flow lifecycle with Laravel events
- ⚙️ Queue Support: Run flows asynchronously (optional)
Requirements
- PHP 8.2 or higher
- Laravel 10.x, 11.x, or 12.x
Installation
Install the package via Composer:
Publish the configuration file:
Publish and run the migrations:
Quick Start
1. Create a Flow
2. Execute the Flow
Or via Artisan command:
3. Use the API
The package provides RESTful API endpoints:
Built-in Nodes
HTTP Request Node
Makes HTTP requests to external APIs.
Email Node
Sends emails using Laravel's Mail system.
Delay Node
Adds delays between tasks.
Condition Node
Evaluates conditional logic.
Supported operators: ==, ===, !=, !==, >, >=, <, <=, contains, starts_with, ends_with, in
Database Query Node
Executes database queries using Laravel's Query Builder.
Creating Custom Nodes
Create a new node by implementing the NodeInterface:
Register your custom node in config/automation.php:
Or register dynamically using the facade:
Variable Substitution
Use double curly braces {{variable}} to reference data from previous nodes:
Events
Listen to flow lifecycle events:
Queue Support
Enable async flow execution in config/automation.php:
Flow Execution Model
How Flows Execute
Important: Flows do NOT run endlessly or continuously by default. Each flow execution is:
- ✅ One-time: Runs once from start to finish
- ✅ Linear: Executes nodes sequentially in dependency order
- ✅ Finite: Completes after all nodes are executed
- ✅ Manual trigger required: Must be explicitly started each time
Triggering Flow Execution
Flows can be triggered in three ways:
1. Via Artisan Command
2. Via API
3. Programmatically
Setting Up Continuous/Scheduled Execution
To run flows automatically on a schedule, use Laravel's Task Scheduler:
Option 1: Schedule Specific Flow
In app/Console/Kernel.php:
Option 2: Run All Active Flows on Schedule
Option 3: Using Queued Jobs for Better Performance
Create a job:
Then schedule it:
Don't forget to run the Laravel scheduler:
Webhook Triggers
For event-driven flows, use webhooks to trigger executions:
Loop Node Behavior
The LoopNode iterates through collections but has built-in safety limits:
- Loops through finite collections only
- Maximum 1000 iterations by default
- Does NOT create infinite loops
Configuration
The package configuration file (config/automation.php) allows you to:
- Register custom nodes
- Configure queue settings
- Set execution timeouts
- Enable/disable API routes
- Customize route prefixes and middleware
Testing
Run the test suite:
Architecture
Core Components
| Component | Description |
|---|---|
| Flow | Represents a complete workflow |
| Node | Individual building block (trigger, condition, or action) |
| Connection | Defines data flow between nodes |
| FlowRunner | Orchestrates node execution and data passing |
| NodeRegistry | Handles node discovery and instantiation |
| ExecutionLogger | Logs all flow executions for tracking |
Database Schema
Advanced Usage
Programmatic Flow Execution
Accessing Execution Logs
Conditional Flow Execution
Roadmap
- [ ] Visual flow builder UI (Vue/React + Inertia.js or Livewire)
- [ ] Trigger nodes (webhooks, scheduled tasks, database events)
- [ ] Loop and iteration nodes
- [ ] Error handling and retry mechanisms
- [ ] Flow versioning
- [ ] Import/export flows as JSON
- [ ] Metrics and analytics dashboard
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.
Credits
- Dr.Msigwa [email protected]
- intelfric technology www.intelfric.com
- Inspired by n8n, Zapier, and Huginn
Support
- Documentation: https://github.com/INTELFRIC/n8n-php-automation
- Issues: https://github.com/INTELFRIC/n8n-php-automation/issues
Made with ❤️ for the Laravel community
All versions of n8n-php-automation with dependencies
laravel/framework Version ^10.0|^11.0|^12.0
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0
illuminate/console Version ^10.0|^11.0|^12.0