<!-- BusyBot node reference — https://busybot.net/tools/chargebee-trigger/ -->

> Node: Chargebee Trigger (`chargebee_trigger`) · Webhook trigger · v1
> Category: Finance · Credentials: Chargebee Webhook Basic Auth (`chargebeeWebhookApi`)
> Updated: 2026-08-16

# 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

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **Chargebee Webhook Basic Auth** credentials.
See the [Credentials Guide](https://busybot.net/credentials/chargebee-webhook-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Events | `multiOptions` | Yes | `[]` | 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:

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

Watch for billing problems:

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

Receive every Chargebee event and branch downstream:

```json
{
  "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`.