Reference · Tools

Chargebee Trigger

Starts workflow when Chargebee events occur

Webhook trigger Finance v1

Chargebee Trigger starts a workflow the moment Chargebee fires a webhook event — covering 34 event types across subscriptions, invoices, payments, customers, cards, transactions, and refunds. You configure which event types to listen for, and only matching events run the workflow. A common use case is automatically sending a Slack alert or updating a CRM record when a subscription is cancelled or a payment fails.

Node type
Webhook trigger
Parameters
1
Outputs
Output
Credentials
Chargebee Webhook Basic Auth

Chargebee Trigger

Trigger workflow from Chargebee webhook events

Overview

Starts a workflow when Chargebee sends a webhook event. Supports 34 event types across subscriptions, invoices, payments, customers, cards, transactions, and refunds. The user configures the webhook URL in the Chargebee dashboard (Settings > Webhooks). Events are filtered based on the selected event types — only matching events trigger the workflow.

Category: Finance
Tool Name: chargebee_trigger
Version: 1

Appearance: Icon: lucide-CircleDollarSign | Color: #ff3300

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Chargebee Webhook Basic Auth credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
EventsmultiOptionsYes[]Which Chargebee events to listen for. Select specific events or use * for all events.
Options: * (wildcard — any event), card_added, card_deleted, card_expired, card_expiring (30 days before the expiry date), card_updated, customer_changed, customer_created, customer_deleted, invoice_created (metered billing — a Pending invoice is created before being closed), invoice_deleted, invoice_generated (a new invoice is generated; for metered billing, when a Pending invoice is closed), invoice_updated (shipping/billing address changed, invoice voided, or amount due modified), payment_failed, payment_initiated (via direct debit), payment_refunded, payment_succeeded, refund_initiated (via direct debit), subscription_activated (moved from Trial to Active), subscription_cancellation_scheduled (set to cancel at end of current term), subscription_cancelled, subscription_cancelling (6 days before the scheduled cancellation date), subscription_changed (recurring items changed), subscription_created, subscription_deleted, subscription_reactivated (moved from cancelled back to Active or Trial), subscription_renewal_reminder (3 days before renewal), subscription_renewed, subscription_scheduled_cancellation_removed, subscription_shipping_address_updated, subscription_started (a future subscription begins), subscription_trial_ending (6 days before the trial ends), transaction_created, transaction_deleted, transaction_updated

Output Data

Each delivered event produces one output item carrying the Chargebee event payload exactly as sent — id, event_type, occurred_at, source, api_version, and content, where content holds the objects the event is about (subscription, customer, invoice, transaction, card, and so on, depending on the event).

Three fields are added to every item:

  • _trigger — always chargebee_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the event_type Chargebee reported

Requests without an event_type, and events not in your Events selection, are acknowledged but do not start the workflow. Selecting * accepts every event.

Reference the payload downstream by expression, e.g. {{ $json.content.subscription.id }} or {{ $json.content.customer.email }}.

Usage Examples

  • trigger workflow when a new subscription is created in Chargebee
  • listen for Chargebee payment failures
  • react to invoice generation events from Chargebee
  • start workflow when a customer is created or changed

Example Configuration

React to the subscription lifecycle:

{
  "type": "chargebee_trigger",
  "parameters": {
    "events": [
      "subscription_created",
      "subscription_activated",
      "subscription_cancelled"
    ]
  }
}

Watch for billing problems:

{
  "type": "chargebee_trigger",
  "parameters": {
    "events": ["payment_failed", "card_expiring", "card_expired"]
  }
}

Receive every Chargebee event and branch downstream:

{
  "type": "chargebee_trigger",
  "parameters": {
    "events": ["*"]
  }
}

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 Chargebee. Configure the webhook URL in Chargebee dashboard (Settings > Webhooks). Select which event types to listen for, or use the wildcard (*) to receive all events. Outputs the full Chargebee event payload including event_type and content.

  • Chargebee webhooks are set up by hand. Activating the workflow does not register anything with Chargebee — copy the node’s webhook URL into Chargebee yourself, under Settings > Webhooks.
  • Set Basic Auth on the Chargebee webhook using the same username and password as the credential configured here. Requests that do not match are rejected, which is what keeps the endpoint from being triggered by anyone who learns the URL.
  • Selecting * still delivers everything, so pair it with a Switch node on {{ $json.event_type }} rather than trying to handle all 34 events in one branch.
  • occurred_at is a Unix timestamp in seconds, not an ISO date — convert it before comparing against _timestamp.

Frequently asked questions

How do I connect BusyBot to Chargebee? Does activating the workflow register the webhook automatically?

No — BusyBot does not register the webhook with Chargebee on your behalf. You must copy the node's webhook URL manually and paste it into your Chargebee dashboard under Settings > Webhooks. Only after that will Chargebee start delivering events to this node.

What credential does this node need, and how should I configure Basic Auth on the Chargebee side?

The node uses a Chargebee Webhook Basic Auth credential (username and password). When you create the webhook in Chargebee, enable Basic Authentication and enter the same username and password you put in the BusyBot credential. Requests that do not include matching credentials are rejected, which prevents unauthorized parties from triggering your workflow if they discover the URL.

Can I listen to all 34 event types at once, and if so, how should I route them?

Yes — selecting the wildcard option (*) delivers every event type to the workflow. Because all 34 event types arrive through a single output, the recommended approach is to add a Switch node immediately after and branch on {{ $json.event_type }}. Trying to handle all variants in one branch quickly becomes unmanageable.

The event payload has an occurred_at field. Is that a standard date string I can compare directly?

No — occurred_at is a Unix timestamp expressed in whole seconds, not an ISO 8601 date string. If you need to compare it against another date or the workflow's own timestamp, convert it first (for example, multiply by 1000 to get milliseconds before passing it to a date function).

What does the node actually output? Can I access the full event details downstream?

The node outputs the complete Chargebee event payload as JSON. This includes the event_type field (which identifies what happened) and a content object that contains the full details specific to that event — the subscription object, invoice, payment intent, and so on. Everything Chargebee sends is available to subsequent nodes.

Build with the Chargebee Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Chargebee Webhook Basic Auth credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.