jpcaparas/laravel-n8n-client

A Laravel library that interfaces with the self-hosted n8n.io REST API
1,660 14
Install
composer require jpcaparas/laravel-n8n-client
Latest Version:v0.1.0
PHP:^8.1
Laravel:10 · 11
License:MIT
Last Updated:Jan 7, 2025
Links: GitHub  ·  Packagist
Maintainer: jpcaparas

jpcaparas/laravel-n8n-client

Tests

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:

  1. Publish the configuration file to the Laravel skeleton.
composer test:publish
  1. Modify .env API credentials on the skeleton as needed:
N8N_BASE_URI=http://localhost:5678
N8N_API_TOKEN=[your_n8n_api_token]
  1. Enter the Tinker REPL:
composer test:tinker
  1. Create an instance of the N8N client:
$n8n = app(\JPCaparas\N8N\N8NClient::class);
  1. 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

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

644,549,754 9,698
laravel/framework

The Laravel Framework.

593,882,149 34,959
laravel/tinker

Powerful REPL for the Laravel framework.

507,193,856 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

423,477,751 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

399,241,428 4,660

Version History

Version Released PHP Laravel License
v0.1.0 ^8.1 ^10.0 || ^11.0 MIT