Skip to main content

Webhook event catalog

This is the reference list of the webhook triggers you can subscribe to in the Upwell dashboard. For how webhooks work — subscribing, the delivery envelope, auth, retries, and a receiver example — see Outbound webhooks.

Trigger naming

Triggers are dot-delimited strings. Most take one of these shapes:
  • action is create, update, or delete.
  • .status.{STATUS} fires only on a specific status transition.
  • .{event} is a named sub-event rather than a status — e.g. update.carrier_invoice.shipment_updated, which fires when the invoice is matched to a shipment.
Each change produces exactly one trigger — the most specific one that applies — and a subscription receives an event only if it subscribed to that exact trigger string. A generic update.{resource} is not also delivered alongside a .status.{STATUS} or .{event} trigger; update.{resource} fires for a change that is neither a tracked status transition nor a named sub-event. So to catch more than one case, subscribe to each trigger you care about. Match the string verbatim, including case — most status suffixes are upper-case (APPROVED, SENT), but the remittance ones are lower-case. The tables below are the source of truth.

Invoice (customer invoice) triggers

TriggerFires when
create.invoiceA new invoice record is created.
update.invoiceAn invoice record is updated.
delete.invoiceAn invoice record is deleted.
update.invoice.status.SENTA customer invoice is sent.
update.invoice.status.PORTAL_EXCEPTIONA customer invoice has a portal exception.

Carrier invoice triggers

TriggerFires when
create.carrier_invoiceA new carrier invoice record is created.
update.carrier_invoiceA carrier invoice record is updated.
delete.carrier_invoiceA carrier invoice record is deleted.
create.carrier_invoice.shipment_updated / update.carrier_invoice.shipment_updatedThe carrier invoice was matched/linked to a shipment (fires during ingestion).
update.carrier_invoice.status.APPROVEDA carrier invoice has been approved (review lifecycle).
update.carrier_invoice.status.EXCEPTIONA carrier invoice hit an exception status (review lifecycle).
To distinguish ingestion done from the later review lifecycle, see the guidance in Knowing when a carrier invoice is processed.

Carrier-invoice approval request triggers

TriggerFires when
create.carrier_invoice_approval_requestAn approval request is opened for a carrier invoice. See Responding to an approval request.

Shipment document triggers

TriggerFires when
create.shipment_documentA new shipment document record is created.
update.shipment_documentA shipment document record is updated.
delete.shipment_documentA shipment document record is deleted.

Customer payment triggers

TriggerFires when
create.customer_paymentA new customer payment record is created.
update.customer_paymentA customer payment record is updated.
delete.customer_paymentA customer payment record is deleted.

Breakthrough Fuel triggers

TriggerFires when
create.btf_batchA new Breakthrough Fuel batch is created.

Exception triggers

TriggerFires when
create.exceptionA new exception is raised.
update.exception.status.RESOLVEDAn exception is resolved.

Remittance triggers

TriggerFires when
create.remittanceA new remittance is created.
update.remittanceA remittance is updated.
delete.remittanceA remittance is deleted.
update.remittance.status.pendingA remittance moved to pending.
update.remittance.status.succeededA remittance moved to succeeded.
update.remittance.status.sync_errorA remittance hit a sync error.
create.remittance_line_itemA new remittance line item is created.
update.remittance_line_itemA remittance line item is updated.
delete.remittance_line_itemA remittance line item is deleted.
This catalog lists the triggers offered in the dashboard subscription form. Upwell’s dispatcher can emit some additional internal events that aren’t exposed there for subscription — if you need an event you don’t see here, check with support. For payload shapes and delivery details, see Outbound webhooks.