Event

trigger.chargebee_event
TriggerCRM & salesconnection requiredruns in-engine

Registers a webhook endpoint in the tenant's Chargebee site on publish and starts one run per delivered event, authenticated with the basic-auth credential Chargebee sends.

Start a run when Chargebee emits an event (subscription, invoice, payment…).

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Chargebee
Secret shape
the Chargebee site API key
Config it needs
site
Resolved by
config.connection_id, else node.connection_id
Note
The key must be a full-access one: a read-only key can list customers and still be refused when it tries to create a webhook endpoint. Publishing also needs MANTLE_APP_PUBLIC_BASE_URL set to an https URL Chargebee can reach — it only accepts ports 80, 443, 8080 and 8443.

Configuration

1 field, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
events
Chargebee event_type names to subscribe to. Any valid name is accepted, not only the ones listed; "*" leaves enabled_events empty, which is Chargebee's own 'every event type' (noisy — each one starts a run).
arrayNo["subscription_created"]1–256 characters; array of string—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "events": [
    "subscription_created"
  ]
}

Output

One shape.

chargebee event

The flattened Chargebee event. `content`'s own keys vary by event_type, so the shape is open below the declared fields.

Extra keys beyond the ones listed can appear.

FieldTypeExample
id
Chargebee's event id (ev_…). Also the idempotency key: every retry of a delivery carries this same id, so a redelivery joins the run it already started instead of starting a second. The ingress remembers a key for 24 hours.
stringev_16BPgETyVrQbiGhA
event_type
The event name, e.g. subscription_created. Branch on this when the trigger subscribes to more than one.
stringsubscription_created
occurred_at
When Chargebee raised the event, epoch seconds.
number1702645601
occurred_at_iso
The same instant as an ISO-8601 UTC string, for nodes that want a date.
string2023-12-15T13:06:41Z
source
What caused the event — admin_console, api, scheduled_job, hosted_page, portal, migration, bulk_operation or js_api.
stringadmin_console
user
Who triggered it: the admin's email for a console action, the API key's name for an API call, empty for a scheduled job.
string—
api_version
The Chargebee API version the content is shaped by.
string—
site_id
The Chargebee site the event came from.
string—
webhook_status
Chargebee's own delivery status for this event, as it stood when the delivery was made (e.g. not_applicable, scheduled, succeeded).
string—
content
The resources the event is about, keyed by resource name — a subscription beside its customer, card and invoice. Which keys appear depends on event_type, which is why this shape is open.
object—
payload
The event envelope exactly as Chargebee sent it, for anything the fields above do not lift out.
object—
{
  "api_version": "v2",
  "content": {
    "customer": {
      "email": "buyer@example.com",
      "id": "8avVGOkx8Fy"
    },
    "subscription": {
      "currency_code": "USD",
      "customer_id": "8avVGOkx8Fy",
      "id": "8avVGOkx8FzZ3z",
      "status": "active"
    }
  },
  "event_type": "subscription_created",
  "id": "ev_16BPgETyVrQbiGhA",
  "occurred_at": 1702645601,
  "occurred_at_iso": "2023-12-15T13:06:41Z",
  "payload": {
    "id": "ev_16BPgETyVrQbiGhA",
    "object": "event"
  },
  "site_id": "cb_site_16CQtCTrgrYqi9n2A",
  "source": "admin_console",
  "user": "billing@acme.com",
  "webhook_status": "not_applicable"
}

Notes

  • Publishing creates the endpoint in Chargebee; unpublishing, disabling or archiving deletes it. A workflow that is off is off at Chargebee too.
  • Chargebee allows five webhook endpoints per site and this trigger creates one per published workflow, so a sixth publish is refused with Chargebee's own message.
  • Chargebee does not sign its deliveries — it authenticates with HTTP Basic. The password is minted at publish, stored through the secret broker, and checked in constant time on every delivery; a proxy in front of Mantle that strips Authorization headers will make every delivery 401.
  • One run per event, idempotent on Chargebee's own event id, so a retry cannot start a second run.

See Event run in a workflow.

In a technical demo we add the Chargebee connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.