Skip to content

Event Catalog

This document provides the complete catalog of canonical events available in the WhiteLabelCRO integration platform. All events follow the naming convention {domain}.{action} (e.g., client.created, payment.succeeded).

Approved v1 Events (10 Total)

The following 10 events are approved and available in the v1 release:

invoice.created

A new invoice has been generated for a client.

Domain: Billing
Primary Source: [api].[vwInvoiceDetails]
Typical Use Cases: Sync to QuickBooks, send payment reminders, update accounting records

Key Fields: - invoice_id - Unique invoice identifier - client_id - Associated client - amount - Invoice amount - due_date - Payment due date - invoice_status - Current status (Paid/Partial/Unpaid/Failed)

invoice.status_changed

An invoice payment status has changed (Unpaid to Paid, etc.).

Domain: Billing
Primary Source: [api].[vwInvoiceDetails]
Typical Use Cases: Update accounting records, release services, trigger follow-up workflows

Key Fields: - invoice_id - Unique invoice identifier - client_id - Associated client - previous_status - Status before change - new_status - Status after change (Paid/Partial/Unpaid/Failed) - changed_date - When the status changed

payment.succeeded

A payment has been successfully processed.

Domain: Billing
Primary Source: [dbo].[InvoicePayment]
Typical Use Cases: Update accounting system, trigger fulfillment, send receipt

Key Fields: - payment_id - Unique payment identifier - invoice_id - Associated invoice - client_id - Associated client - payment_amount - Amount paid - date_paid - Payment timestamp - payment_method - Method used (card, ACH, etc.)

payment.failed

A payment attempt has been declined.

Domain: Billing
Primary Source: [dbo].[InvoicePayment]
Typical Use Cases: Trigger dunning sequence, notify finance team, alert client

Key Fields: - payment_id - Unique payment identifier - invoice_id - Associated invoice - client_id - Associated client - amount_attempted - Amount that failed - failure_reason - Reason for failure - date_attempted - Attempt timestamp

client.created

A new client has been enrolled in the system.

Domain: Client
Primary Source: [dbo].[Client]
Typical Use Cases: Sync to CRM, send welcome email, create onboarding task

Key Fields: - client_id - Unique client identifier - first_name - Client first name - last_name - Client last name - email - Client email address - phone - Client phone number - status - Current client status - created_date - Enrollment timestamp

client.status_changed

A client has moved to a different stage in their lifecycle.

Domain: Client
Primary Source: [dbo].[ClientStatusHistory]
Typical Use Cases: Update external dashboards, trigger stage-specific workflows, track lifecycle

Key Fields: - client_status_history_id - Unique history record identifier - client_id - Associated client - previous_status - Status before change - new_status - Status after change - changed_date - When the status changed

lead.created

A new lead has been captured in the system.

Domain: Client
Primary Source: [dbo].[Client] (filtered by Lead status)
Typical Use Cases: Notify sales team, start lead nurturing sequence, sync to marketing automation

Key Fields: - client_id - Unique lead identifier - first_name - Lead first name - last_name - Lead last name - email - Lead email address - phone - Lead phone number - status - Lead status (e.g., "Lead - New") - created_date - Capture timestamp

Notes: Leads are clients with status matching 'Lead%' pattern. They can be converted to full clients by changing status.

affiliate.created

A new referral partner has been added to the system.

Domain: Affiliates
Primary Source: [dbo].[Employee] (filtered by Affiliate TeamRole)
Typical Use Cases: Send onboarding email, create commission tracking record, notify partner team

Key Fields: - employee_id - Unique affiliate identifier (serves as affiliate_id) - full_name - Affiliate full name - email - Affiliate email address - phone - Affiliate phone number - is_active - Whether affiliate is active - is_approved_affiliate - Whether affiliate is approved - created_date - Creation timestamp

Notes: Created affiliates are not automatically approved and do not have passwords set. Admin approval required.

document.uploaded

A file has been added to a client record (credit report, ID, utility bill, etc.).

Domain: Documents
Primary Source: [dbo].[ClientDoc]
Typical Use Cases: Trigger review workflow, notify staff, update compliance checklist

Key Fields: - client_doc_id - Unique document identifier - client_id - Associated client - doc_name - Document name - doc_type_id - Document type identifier - doc_type_name - Document type name - created_date - Upload timestamp

Notes: Document binary content is not included in event payloads (not suitable for webhooks).

agreement.signed

A client has electronically signed a required document.

Domain: Compliance
Primary Source: [dbo].[AgreementSigned]
Typical Use Cases: Update compliance checklist, trigger next onboarding step, notify staff

Key Fields: - agreement_signed_id - Unique signing record identifier - client_id - Associated client - signed_date - Signing timestamp - name_signed - Name as signed - agreement_name - Name of the agreement - terms_id - Specific terms that were signed - ip_address - IP address of signer

Notes: Full agreement text is not included in payloads (too large). Each signing is a unique event.

Event Naming Convention

All events follow the pattern: {domain}.{action}

  • Domain is lowercase, singular noun (client, payment, invoice)
  • Action is lowercase, past tense verb (created, updated, failed)
  • Underscore separates multi-word actions (status_changed)

Core Objects and Identifiers

Events reference the following first-class integration entities:

Object Primary Identifier
Client client_id
Invoice invoice_id
Payment payment_id
Document client_doc_id
Affiliate employee_id
Agreement Signed agreement_signed_id

Delivery Availability

All 10 v1 events are available via: - Webhooks: Real-time HTTP POST to your endpoints - Integration API: Polling via GET /api/v1/events - Zapier, n8n, Make: Via REST Hooks or polling

Future Events

Additional events may be added in future versions based on customer demand. Events not listed in this catalog are not available in v1, even if referenced in planning documents.