Reference · Tools

Invoice Ninja Trigger

Starts workflow when Invoice Ninja events occur

Webhook trigger Finance v1

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.

Node type
Webhook trigger
Parameters
2
Outputs
Output
Credentials
Invoice Ninja API

Invoice Ninja Trigger

Trigger workflow from Invoice Ninja webhook events

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.

Category: Finance
Tool Name: invoice_ninja_trigger
Version: 1

Appearance: Icon: lucide-Receipt | Color: #252c2e

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Invoice Ninja API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
API VersionoptionsNov5The API version of your Invoice Ninja instance. Use v4 for older installations and v5 for newer ones.
Options: v4 (Version 4), v5 (Version 5)
EventoptionsYesThe 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 — always invoice_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:

EventEntity on the item
create_clientClient record — id, name, display_name, balance, paid_to_date, credit_balance, contacts[], address fields, created_at, updated_at
create_invoiceInvoice record — id, number, client_id, status_id, amount, balance, discount, po_number, date, due_date, line_items[], public_notes, private_notes
create_paymentPayment record — id, client_id, amount, refunded, applied, date, transaction_reference, type_id, invoices[]
create_quoteQuote record — id, number, client_id, status_id, amount, discount, date, valid_until, line_items[]
create_vendorVendor record — id, name, address fields, phone, website, contacts[]

Reference values downstream by expression, for example {{ $json.number }} or {{ $json.client_id }}.

Usage Examples

  • 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

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

Receives webhook events from Invoice Ninja. Select the API version (v4 or v5) matching your Invoice Ninja instance, then choose which event to listen for. The trigger registers a webhook subscription via the Invoice Ninja API. When the selected event occurs, Invoice Ninja sends a POST request with the full entity data.

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 the Invoice Ninja Trigger node

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 BusyBot

Last updated . Spotted something wrong? Tell us.