Reference · Tools
Invoice Ninja trigger
Starts a workflow when a client, invoice, quote, payment, or vendor event occurs in Invoice Ninja.
The Invoice Ninja Trigger fires when a selected event happens in Invoice Ninja, registering the webhook subscription for you and passing the full entity data through. A typical build is posting to Slack and updating a ledger the moment an invoice is paid.
- Works as
- Webhook trigger
- Tool name
invoice_ninja_trigger- Parameters
- 2
- Outputs
- Output
- Credentials
- Invoice Ninja API
- Official docs
- Invoice Ninja docs invoiceninja.github.io
What you can build with Invoice Ninja
- Trigger workflow when a new invoice is created in Invoice Ninja.
- Listen for new client creation events from Invoice Ninja.
- Start workflow when a payment is received in Invoice Ninja.
- React to new quote creation in Invoice Ninja.
- Trigger on new vendor creation in Invoice Ninja.
Overview
Starts a workflow when Invoice Ninja sends a webhook event. Supports events for client creation, invoice creation, quote creation, payment creation, and vendor creation. The trigger registers a webhook subscription via the Invoice Ninja API (v4 or v5) so that when the selected event occurs in Invoice Ninja, the platform receives a POST with the full entity payload. Supports both self-hosted and cloud-hosted Invoice Ninja instances.
Node Type
Trigger — webhook (receives incoming HTTP callbacks)
Input / Output
| Direction | Port(s) |
|---|---|
| Input | None (trigger node) |
| Output | Output |
Credentials
This tool requires Invoice Ninja API credentials. See the Credentials Guide for setup instructions.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| API Version | options | No | v5 | The API version of your Invoice Ninja instance. Use v4 for older installations and v5 for newer ones. |
Options: v4 (Version 4), v5 (Version 5) | ||||
| Event | options | Yes | — | The Invoice Ninja event that triggers the workflow. |
Options: create_client (Client Created), create_invoice (Invoice Created), create_payment (Payment Created), create_quote (Quote Created), create_vendor (Vendor Created) |
One node listens for one event. To react to several events, add one Invoice Ninja Trigger node per event.
Output Data
Each delivery produces one output item. Invoice Ninja posts the full entity as the request body, and those fields are placed directly on the item alongside three metadata fields:
{
"id": "invoice_test_000001",
"number": "INV-0001",
"client_id": "client_test_000001",
"status_id": "2",
"amount": 150,
"balance": 150,
"date": "2026-01-01",
"due_date": "2026-01-31",
"line_items": [],
"created_at": 1767225600,
"updated_at": 1767225600,
"_trigger": "invoice_ninja_webhook",
"_timestamp": "2026-01-01T00:00:00.000Z",
"_webhookEvent": "create_invoice"
}
_trigger— alwaysinvoice_ninja_webhook._timestamp— ISO 8601 timestamp of when the delivery arrived._webhookEvent— the event this node subscribed to. Invoice Ninja sends no event type in the payload, so this value comes from the node’s own Event setting.
The remaining fields are the entity Invoice Ninja sent:
| Event | Entity on the item |
|---|---|
create_client | Client record — id, name, display_name, balance, paid_to_date, credit_balance, contacts[], address fields, created_at, updated_at |
create_invoice | Invoice record — id, number, client_id, status_id, amount, balance, discount, po_number, date, due_date, line_items[], public_notes, private_notes |
create_payment | Payment record — id, client_id, amount, refunded, applied, date, transaction_reference, type_id, invoices[] |
create_quote | Quote record — id, number, client_id, status_id, amount, discount, date, valid_until, line_items[] |
create_vendor | Vendor record — id, name, address fields, phone, website, contacts[] |
Reference values downstream by expression, for example {{ $json.number }} or {{ $json.client_id }}.
Example Configuration
Fire when an invoice is created on a v5 instance:
{
"type": "invoice_ninja_trigger",
"parameters": {
"apiVersion": "v5",
"event": "create_invoice"
}
}
Fire when a payment is recorded:
{
"type": "invoice_ninja_trigger",
"parameters": {
"apiVersion": "v5",
"event": "create_payment"
}
}
Onboard new clients from a legacy v4 installation:
{
"type": "invoice_ninja_trigger",
"parameters": {
"apiVersion": "v4",
"event": "create_client"
}
}
Follow up on new quotes:
{
"type": "invoice_ninja_trigger",
"parameters": {
"apiVersion": "v5",
"event": "create_quote"
}
}
Trigger Behavior
- Activation: When the workflow is activated, a webhook endpoint is registered with the service.
- Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
- Payload: The incoming webhook payload is parsed and output as workflow items.
- Verification: Supports signature verification where applicable.
Tips
This tool detects events from Invoice Ninja, such as new clients, invoices, quotes, payments, or vendors. It is the right tool when you need to start a workflow automatically in response to specific activities within your Invoice Ninja instance. It produces a POST request containing the full entity payload from the Invoice Ninja event.
Frequently asked questions
Which API version should I select?
Whichever matches your instance — v4 or v5. The versions expose different webhook endpoints, so selecting the wrong one means the subscription never registers correctly.
Do I have to create the webhook in Invoice Ninja myself?
No. The trigger registers the webhook subscription through the Invoice Ninja API when the workflow is activated.
What does the workflow receive?
A POST containing the full entity data for the event, so invoice, client or payment details are available immediately without a follow-up fetch.
Can one trigger watch several events?
You choose the event when configuring it. Use separate triggers if you need distinct handling for different events.
Build with Invoice Ninja
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Invoice Ninja API credentials first.
Open BusyBotLast reviewed . Spotted something wrong? Tell us.