jpcaparas / laravel-n8n-client
A Laravel library that interfaces with the self-hosted n8n.io REST API
v0.1.1
2025-01-07 07:02 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0 || ^8.0
- laravel/framework: ^10.0 || ^11.0
Requires (Dev)
- laravel/pint: ^1.19
- orchestra/testbench: ^8.0
README
A Laravel library that interfaces with the self-hosted n8n REST API.
Installation
You can install the package via Composer:
composer require jpcaparas/laravel-n8n-client
Publish the configuration file:
php artisan vendor:publish --provider="JPCaparas\N8N\N8NServiceProvider" --tag="config"
Set these credentials inside your .env
file:
N8N_BASE_URI=http://[your_n8n_instance]:[your_n8n_port]
N8N_API_TOKEN=[your_n8n_api_token]
Local testing
If you want to interact with the package locally, you can use the Laravel skeleton provided by orchestra/testbench
and its associated Tinker REPL:
- Publish the configuration file to the Laravel skeleton.
composer test:publish
- Modify
.env
API credentials on the skeleton as needed:
N8N_BASE_URI=http://localhost:5678 N8N_API_TOKEN=[your_n8n_api_token]
- Enter the Tinker REPL:
composer test:tinker
- Create an instance of the N8N client:
$n8n = app(\JPCaparas\N8N\N8NClient::class);
- Make API requests using the N8N client:
$response = $n8n->get('valid-endpoint'); $response = $n8n->post('valid-endpoint', ['data' => 'value']);
There are also convenience methods for the most common API endpoints:
$response = $n8n->getWorkflows(); $response = $n8n->getWorkflow('workflow-id'); $response = $n8n->createWorkflow(['name' => 'New Workflow']); $response = $n8n->updateWorkflow('workflow-id', ['name' => 'Updated Workflow']);
Tests
composer test
License
MIT