How incoming events work
Stigg processes events from Zuora in two groups: Automatically configured by Stigg — when you connect the Zuora integration, Stigg creates the following objects in your Zuora tenant for each custom event:- Event trigger — a condition-based rule that fires when a specific change is detected
- Callout template — defines the HTTP POST Zuora sends to Stigg’s incoming webhook URL, including the payload fields
- Notification definition — links the event trigger to the callout template, activating delivery
StiggInvoicePaidEvent, StiggInvoicePostedEvent, StiggSubscriptionCancelledEvent, StiggSubscriptionUpdatedEvent, StiggScheduledOrderCompletedEvent, StiggCustomerCanceledEvent, and StiggPaymentFailedEvent. When the integration is removed, Stigg deletes these callouts, notifications, and event triggers from Zuora.
Processed by Stigg if received — Customer and Subscription events are standard Zuora change notifications. Stigg’s webhook endpoint handles them when Zuora sends them, but Stigg does not automatically create or manage their callout configuration in Zuora.
Event categories
Customer — account payment method updated
| Event category | Customer |
| Event type | Standard Zuora account change notification |
| Trigger condition | Any update to a Zuora Account record |
| Field | Zuora source |
|---|---|
AccountId | Account.Id |
DefaultPaymentMethodId | DefaultPaymentMethod.Id |
DefaultPaymentMethodCreditCardType | DefaultPaymentMethod.CreditCardType |
DefaultPaymentMethodBankName | DefaultPaymentMethod.BankName |
DefaultPaymentMethodCreditCardMaskNumber | DefaultPaymentMethod.CreditCardMaskNumber |
DefaultPaymentMethodCreditCardExpirationMonth | DefaultPaymentMethod.CreditCardExpirationMonth |
DefaultPaymentMethodCreditCardExpirationYear | DefaultPaymentMethod.CreditCardExpirationYear |
DefaultPaymentMethodId with the one stored on the customer record. If it has changed, Stigg updates the customer’s stored default payment method (type, last 4 digits, expiration month/year) or clears it if the new value is empty.
Subscription — subscription status changed
| Event category | Subscription |
| Event type | Standard Zuora subscription change notification |
| Trigger condition | Any update to a Zuora Subscription record |
| Field | Zuora source |
|---|---|
SubscriptionId | Subscription.Id |
SubscriptionOriginalId | Subscription.OriginalId |
SubscriptionPreviousSubscriptionId | Subscription.PreviousSubscriptionId |
SubscriptionStatus | Subscription.Status |
SubscriptionCancelledDate | Subscription.CancelledDate |
SubscriptionStatus is Cancelled, Stigg cancels the matching subscription in Stigg using the SubscriptionCancelledDate as the cancellation timestamp. If the Stigg subscription was already cancelled or expired, Stigg moves the billing ID to a historical field and no further action is taken.
StiggInvoicePaidEvent — invoice paid
| Event category | StiggInvoicePaidEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Invoice |
| Trigger condition | changeType =~ ['UPDATE'] && Invoice.Balance == 0 |
| Callout name | Stigg Invoice Paid Callout |
| Notification name | Stigg Invoice Paid Notification |
| Field | Zuora source |
|---|---|
InvoiceId | Invoice.Id |
AccountId | Account.Id |
- Looks up the subscription associated with the invoice by fetching the invoice’s line items from Zuora.
- If the subscription is not currently active in Stigg, activates it.
- Applies any pending future subscription updates (e.g. a scheduled plan change that was waiting on payment).
- Records the invoice as
PAIDon the Stigg subscription’s latest invoice record. - Dispatches a
SUBSCRIPTION_UPDATEDevent to Stigg’s event log.
StiggInvoicePostedEvent — invoice posted
| Event category | StiggInvoicePostedEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Invoice |
| Trigger condition | changeType =~ ['INSERT','UPDATE'] && Invoice.Status == 'Posted' && Invoice.Balance > 0 |
| Callout name | Stigg Invoice Posted Callout |
| Notification name | Stigg Invoice Posted Notification |
| Field | Zuora source |
|---|---|
InvoiceId | Invoice.Id |
AccountId | Account.Id |
- Looks up the subscription associated with the invoice by fetching the invoice’s line items from Zuora. Skips the event if the invoice has no associated subscription (e.g. one-time charges).
- Records the invoice as
OPENon the Stigg subscription’s latest invoice record. - Dispatches a
SUBSCRIPTION_UPDATEDevent to Stigg’s event log.
StiggSubscriptionCancelledEvent — subscription cancelled
| Event category | StiggSubscriptionCancelledEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Subscription |
| Trigger condition | Subscription.Status == 'Cancelled' |
| Callout name | Stigg Subscription Cancelled Callout |
| Notification name | Stigg Subscription Cancelled Notification |
Cancelled. Stigg uses it to mirror the cancellation on its side.
Data fields Stigg reads
| Field | Zuora source |
|---|---|
SubscriptionId | Subscription.Id |
SubscriptionOriginalId | Subscription.OriginalId |
SubscriptionPreviousSubscriptionId | Subscription.PreviousSubscriptionId |
SubscriptionStatus | Subscription.Status |
SubscriptionCancelledDate | Subscription.CancelledDate |
SubscriptionStatus is Cancelled, Stigg cancels the matching subscription using SubscriptionCancelledDate as the cancellation timestamp. If the Stigg subscription was already cancelled or expired, Stigg moves the billing ID to a historical field and no further action is taken.
StiggSubscriptionUpdatedEvent — subscription version updated
| Event category | StiggSubscriptionUpdatedEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Subscription |
| Trigger condition | changeType == 'INSERT' && Subscription.IsLatestVersion == true |
| Callout name | Stigg Subscription Updated Callout |
| Notification name | Stigg Subscription Updated Notification |
| Field | Zuora source |
|---|---|
SubscriptionId | Subscription.Id |
SubscriptionOriginalId | Subscription.OriginalId |
AccountId | Account.Id |
- Finds all Zuora subscription IDs that share the same
SubscriptionOriginalId. - Matches them to a single Stigg subscription by the customer’s billing ID.
- Updates the Stigg subscription’s billing ID to the latest Zuora version ID and refreshes the billing link URL.
- Dispatches a
SUBSCRIPTION_UPDATEDevent to Stigg’s event log.
StiggScheduledOrderCompletedEvent — scheduled order executed
| Event category | StiggScheduledOrderCompletedEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Order |
| Trigger condition | Order.IsScheduled == true && Order.Status == 'Completed' |
| Callout name | Stigg Order Scheduled Callout |
| Notification name | Stigg Order Scheduled Notification |
| Field | Zuora source |
|---|---|
OrderId | Order.Id |
OrderStatus | Order.Status |
OrderIsScheduled | Order.IsScheduled |
AccountId | Account.Id |
- Looks up the pending scheduled update(s) in Stigg that were associated with this Zuora Order ID.
- Depending on the type of scheduled update:
- Plan change — provisions a new subscription to the target plan (with any add-ons, billing period, and price overrides from the schedule)
- Add-on / billable feature / billing period update — updates the existing subscription in-place
- Migrate to latest — migrates the subscription to the latest published version of its plan
- Marks the scheduled update record as
Donein Stigg.
StiggCustomerCanceledEvent — customer account canceled
| Event category | StiggCustomerCanceledEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Account |
| Trigger condition | changeType =~ ['UPDATE'] && Account.Status == 'Canceled' |
| Callout name | Stigg Customer Canceled Callout |
| Notification name | Stigg Customer Canceled Notification |
Canceled. Stigg uses it to archive the corresponding customer.
Data fields Stigg reads
| Field | Zuora source |
|---|---|
AccountId | Account.Id |
AccountStatus | Account.Status |
- Looks up the Stigg customer by the Zuora Account ID.
- If
AccountStatusiscanceled, archives the customer in Stigg.
StiggPaymentFailedEvent — payment failed
| Event category | StiggPaymentFailedEvent |
| Event type | Custom event trigger + callout + notification |
| Base object | Payment |
| Trigger condition | Payment.Status == 'Error' |
| Callout name | Stigg Payment Failed Callout |
| Notification name | Stigg Payment Failed Notification |
Error). Stigg uses it to transition the subscription to a payment-pending state and record the failure details.
Data fields Stigg reads
| Field | Zuora source |
|---|---|
PaymentInvoiceId | Payment.PaymentParts (invoice ID from payment parts) |
AccountId | Account.Id |
PaymentGatewayResponse | Payment.GatewayResponse |
PaymentGatewayResponseCode | Payment.GatewayResponseCode |
EntityID | Entity.ID |
- Fetches the invoice from Zuora by
PaymentInvoiceIdand looks up the associated subscription. - Records a payment failure event log entry with the gateway error message and code.
- If the subscription was active, transitions it to
PAYMENT_PENDINGstatus. - Updates the latest invoice record on the subscription with the open, action-required invoice details.
- Dispatches a
SUBSCRIPTION_UPDATEDevent to Stigg’s event log.
Summary
| Event category | Direction | Event setup | What it updates in Stigg |
|---|---|---|---|
Customer | Zuora → Stigg | Standard notification | Customer default payment method |
Subscription | Zuora → Stigg | Standard notification | Subscription cancellation status |
StiggInvoicePaidEvent | Zuora → Stigg | Custom event trigger | Subscription active status, invoice record, pending updates |
StiggInvoicePostedEvent | Zuora → Stigg | Custom event trigger | Subscription open invoice record |
StiggSubscriptionCancelledEvent | Zuora → Stigg | Custom event trigger | Subscription cancellation status |
StiggSubscriptionUpdatedEvent | Zuora → Stigg | Custom event trigger | Subscription billing ID and link URL |
StiggScheduledOrderCompletedEvent | Zuora → Stigg | Custom event trigger | Scheduled plan changes, add-on updates, plan migrations |
StiggCustomerCanceledEvent | Zuora → Stigg | Custom event trigger | Customer archived status |
StiggPaymentFailedEvent | Zuora → Stigg | Custom event trigger | Subscription payment-pending status, invoice record |
