← All guides

Automation and integrations

Events and module connections

Learn what happens when a module emits an event, how to use it in an integration and where to check delivery.

An event records that something happened, such as a work order being created, a booking being confirmed or an invoice changing state. Other modules may react to some events; an external integration can receive them through a configured webhook.

How an event moves

01ActionA record changes
02EventThe module records it
03DestinationRule or webhook
04ReviewActivity and result
The original action and external delivery are separate steps; check both states.

Key events by area

The exact names you can select depend on enabled modules and integration permissions.

AreaExample events
Bookingsbooking.hold.created, booking.hold.expired, booking.confirmed, booking.cancelled, booking.rescheduled
Calendarcalendar.event.created, calendar.event.updated, calendar.event.deleted, calendar.external.synced, calendar.external.sync_failed
Entitiesentities.created, entities.updated, entities.deleted, entities.relation.created, entities.user.linked
Catalog and stockcatalog.item.created, catalog.item.updated, catalog.listing.published, catalog.stock.adjusted, catalog.stock.reserved, catalog.stock.low, catalog.stock.depleted
Work orderswork_orders.created, work_orders.updated, work_orders.status_changed, work_orders.assigned, work_orders.completed, work_orders.invoiced, work_orders.sla_breached, work_orders.quote_approved, work_orders.purchase_order_requested
Documentsdocuments.generated, documents.published, documents.signed, documents.approved, documents.rejected, documents.shared, documents.archived
Invoicinginvoicing.invoice.created, invoicing.invoice.issued, invoicing.invoice.paid, invoicing.invoice.overdue, invoicing.payment.recorded, invoicing.refund.recorded
Storefront and orderscommerce.order.created, commerce.order.paid, commerce.order.payment_failed, commerce.order.cancelled, commerce.order.updated
Conversationsconversations.started, conversations.message_received, conversations.message_sent, conversations.archived, conversations.whatsapp_delivery_failed
Sitessites.site.published, sites.page.published, sites.form.submitted, sites.media.job.ready, sites.media.job.failed

These are representative examples. The complete declared-name catalog follows. Some events are internal to the system and do not appear as webhook options. The selector in your workspace determines which events you can connect. Event fields can include references or personal data; share only what is necessary.

Declared event-name catalog

  • Bookings: booking.hold.created, booking.hold.expired, booking.confirmed, booking.cancelled, booking.rescheduled, booking.no_show, booking.completed, booking.reminder.due, booking.approval.requested, booking.approval.granted, booking.series.created, booking.fee.assessed, booking.fee.waived, booking.verification.requested, booking.condition.blocked.
  • Calendar: calendar.calendar.created, calendar.calendar.updated, calendar.calendar.deleted, calendar.event.created, calendar.event.updated, calendar.event.deleted, calendar.event.upcoming, calendar.external.linked, calendar.external.unlinked, calendar.external.synced, calendar.external.sync_failed.
  • Entities: entities.type.created, entities.type.updated, entities.type.activated, entities.type.deactivated, entities.type.deleted, entities.relation_def.created, entities.relation_def.deleted, entities.created, entities.updated, entities.deleted, entities.relation.created, entities.relation.deleted, entities.user.linked, entities.user.unlinked.
  • Catalog: catalog.listing.published, catalog.listing.updated, catalog.listing.unpublished, catalog.collection.updated, catalog.item.created, catalog.item.updated, catalog.item.deleted, catalog.price.resolved, catalog.stock.adjusted, catalog.stock.reserved, catalog.stock.released, catalog.stock.committed, catalog.stock.low, catalog.stock.depleted.
  • Storefront and orders: commerce.order.created, commerce.order.paid, commerce.order.payment_failed, commerce.order.cancelled, commerce.order.updated.
  • Work orders: work_orders.created, work_orders.updated, work_orders.status_changed, work_orders.time_logged, work_orders.time_entry_voided, work_orders.bulk_operations_completed, work_orders.sla_breached, work_orders.sla_escalated, work_orders.attachment_uploaded, work_orders.attachment_deleted, work_orders.note_added, work_orders.line_added, work_orders.line_edited, work_orders.line_removed, work_orders.assigned, work_orders.completed, work_orders.invoiced, work_orders.document_generated, work_orders.scheduled, work_orders.reminder_due, work_orders.refunded, work_orders.partially_refunded, work_orders.voided, work_orders.returned, work_orders.line_returned, work_orders.amended, work_orders.template_created, work_orders.template_updated, work_orders.template_deleted, work_orders.occurrence_materialized, work_orders.occurrence_skipped, work_orders.line_backordered, work_orders.backorder_fulfilled, work_orders.relationship_added, work_orders.relationship_removed, work_orders.checklist_item_completed, work_orders.crew_changed, work_orders.quote_issued, work_orders.quote_approved, work_orders.quote_rejected, work_orders.quote_drifted, work_orders.self_requested, work_orders.auto_assigned, work_orders.purchase_order_requested, work_orders.reviewed, work_orders.payment_recorded, work_orders.rma_created, work_orders.rma_resolved, work_orders.kit_exploded.
  • Documents and printing: documents.signing_request.created, documents.generated, documents.published, documents.signed, documents.rejected, documents.approved, documents.shared, documents.archived, documents.observed_role_created, documents.receipt.print_failed, documents.receipt.printed, documents.receipt.reprinted.
  • Invoicing: invoicing.invoice.created, invoicing.invoice.issued, invoicing.invoice.paid, invoicing.invoice.voided, invoicing.invoice.written_off, invoicing.invoice.disputed, invoicing.invoice.reissued, invoicing.invoice.overdue, invoicing.credit_note.issued, invoicing.payment.recorded, invoicing.wallet.created, invoicing.wallet.entry.recorded, invoicing.refund.recorded, invoicing.contract.created, invoicing.contract.principal_failed, invoicing.invoice.due_soon, invoicing.fiscal_authorization.created, invoicing.fiscal_authorization.updated, invoicing.fiscal_authorization.deleted.
  • Payables and ledger: payables.bill.approved, payables.bill.paid, payables.bill.voided, payables.payment.recorded, payables.bill.due_soon, payables.bill.overdue, payables.bill.credited, ledger.account.created, ledger.account.closed, ledger.transfers.posted, ledger.period.closed, ledger.books.unbalanced.
  • Conversations: conversations.started, conversations.message_received, conversations.message_sent, conversations.archived, conversations.template_created, conversations.template_submitted, conversations.template_status_changed, conversations.template_category_changed, conversations.template_quality_changed, conversations.whatsapp_history_synced, conversations.whatsapp_coexistence_changed, conversations.whatsapp_marketing_preference_changed, conversations.whatsapp_number_quality_changed, conversations.whatsapp_account_health_changed, conversations.whatsapp_delivery_failed.
  • Sites: sites.site.published, sites.site.unpublished, sites.site.updated, sites.page.published, sites.page.unpublished, sites.page.updated, sites.form.submitted, sites.media.job.queued, sites.media.job.ready, sites.media.job.failed.
  • People and access: users.created, users.updated, users.password_changed, users.password_reset_by_admin, users.deactivated, users.reactivated, auth.login, auth.login_failed, auth.magic_link_sent, auth.password_reset_requested, auth.method_enrolled, auth.method_removed, auth.webauthn_registered, auth.discovery_code_sent, members.created, members.updated, members.membership.expiring, members.membership.expired, members.role_elevation.expired, members.removed, members.view_as.started, invites.created, invites.accepted, invites.revoked, invites.expired, roles.created, roles.updated, roles.deleted, service_principals.created, service_principals.key_rotated, service_principals.revoked.
  • Workspaces and preferences: tenants.fiscal_identity.updated, tenants.created, tenants.updated, tenants.deactivated, tenants.deleted, tenants.purged, modules.enabled, modules.disabled, modules.config_updated, preferences.color.updated, preferences.color.default.updated, preferences.layout.updated, preferences.sidebar.updated, preferences.tables.updated, preferences.tables.reset, preferences.tables.default.updated, preferences.tables.default.reset.
  • Dashboards and automation: dashboards.created, dashboards.updated, dashboards.deleted, dashboards.exported, workflows.run.stranded, workflows.schedule.stale, workflows.workflow.principal_failed.

Configure a delivery

  1. Ask the receiving system for an HTTPS address and confirm which events it needs.
  2. Under Integrations → Webhooks, create the connection and select only those events.
  3. Configure signing if the destination supports it, then validate the signature in the receiver.
  4. Run a test when the screen offers one.
  5. Check Activity and audit history for delivery status and result.

If a delivery fails

Confirm that the destination is active, accepts HTTPS requests and validates the right signature. Fix the cause first, then retry from the failed-delivery queue if available. A retry can deliver the same event again; the receiving system should recognize duplicates and avoid repeating actions.

Do not include full event bodies in screenshots or support requests; they may contain customer information. Share the event ID, time and delivery status instead.