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.