Skip to content

Events Registry

The RBS ecosystem emits 211 webhook events across 23 apps. Each event is signed with HMAC-SHA256 (see Webhooks) and delivered with at-least-once semantics.

Browse the catalog below, or click an event name for its schema and an example payload.

Filtering

Use the browser's search (/) to filter by event name, sender, or receiver.

EventSendersReceiversDescription
account.deletion_requestedcaminocolectivaA user has submitted an account deletion request (soft-delete). Subscribers mark local user records with deletion_requested_at and notify their local operators — they do NOT auto-delete data. Actual anonymization is gated behind a separate 'account.deletion_approved' event (Phase 4).
activity.loggedagora, caracol, cosmos-pet, madrigueracaminoA billable or tracked activity has been logged (time entry from Agora ghost timer, POS customer action in Caracol, vet/hotel log in Cosmos Pet or Madriguera) and sent to Camino for CRM activity tracking
ai_cost.recordedcolectivaconstanzaMonthly AI cost aggregate recorded by Colectiva for an org — carries provider, token totals, and MXN spend for the period. Sent to Constanza for bookkeeping.
ai.usagecaracol, mancha, plenura, ritocolectivaAI token usage report for metering
app.tenant_id_assignedcaracol, comal, mancha, agenteAn app has bound its local tenant identifier to a canonical RBS org for the first time (or backfilled an existing binding). NOT routed via the standard webhook bus — producer calls CPR POST /api/v1/internal/tenant-mapping/upsert directly with X-RBS-Auth: App HMAC. Receiver list is empty because no app-side handler exists; the consumer is the Control Plane (ecosystem.redbroomsoftware.com). Topic 25 Phase 3 substrate — populates app_tenant_mappings junction. Senders list will grow as each app's producer wires (caracol first per S381 Phase 1 Session 3).
appointment.completedcosmos-pet, plenuracolectiva, caminoA therapy or veterinary appointment has been completed and paid
bank_package.generatedritocamino, constanzaRito generated a bank financing package — Constanza pre-prepares fiscal structure for the loan; Camino logs the activity.
baul.creditnote.issuedbaulconstanzaBaúl credit note stamped — Constanza posts contra-revenue/contra-COGS pólizas (S458)
booking.cancelledplenura, goodbaycolectivaA booking has been cancelled. PD-115 (S178-inverse fingerprint): goodbay added as sender — Colectiva's handleBookingCancelled handler at /api/ecosystem/webhooks/+server.js:960 was wired end-to-end but no goodbay producer fired the event, surfacing as a dormant emitter in the S327 audit. Goodbay emits from /api/bookings/[id]/+server.ts after the cancel batch commits.
booking.completedgoodbaycaminoA stay/booking has been completed at checkout — settlement signal (owner payout, RBS commission). PD-073 Slice 2 (S317): goodbay re-added as sender, now firing from /api/bookings/[id]/checkout. Camino receiver retains the Plenura-shape handler with source_app discriminator (S317 logistics.ts:20 guard — non-Plenura sourceApp ignored).
booking.createdgoodbay, plenuracolectivaA new booking was created in a hospitality or pet-care app — Colectiva records it for revenue tracking and occupancy analytics.
booking.reservedgoodbaycolectivaA booking has been reserved/created (coins/funds deducted, status='pending'). PD-073 Slice 1 (S317) — semantic-corrected rename of the previous goodbay booking.completed-at-creation emit. Settlement signal moves to the new booking.completed once Slice 2 lands. Colectiva wired as receiver in Slice 3.
brain.signalcamino, colectivacamino, colectivaCross-brain intelligence signal. Emitted by Camino (marketing/fiscal intelligence) and Colectiva (operational/financial intelligence) to share insights bidirectionally. Carries a typed signal with severity, priority, and actionable context.
caja.closedcaracolconstanzaCash register (caja) close summary from Caracol POS — end-of-day totals for fiscal reconciliation in Constanza
call.endedvapiA VAPI voice call ended — handled by Camino via the Vapi vendor webhook at /api/webhooks/voice/vapi, NOT the ecosystem bus. Receivers array is empty because this event is not routed through the cross-app event bus.
call.startedvapiA VAPI voice call started — handled by Camino via the Vapi vendor webhook at /api/webhooks/voice/vapi, NOT the ecosystem bus. Receivers array is empty because this event is not routed through the cross-app event bus.
capital_call.bulk_createdritocaminoA pro-rata capital call was issued to multiple investors simultaneously in Rito — Camino logs the batch for CRM activity.
capital_call.createdritocolectiva[auto-derived] capital_call.created event
capital_call.payment_failedritoA capital call payment attempt failed in Colectiva — Rito marks the capital event with the failure reason so the fund manager can follow up with the LP.
capital_call.payment_receivedritoA capital call payment was successfully received and processed in Colectiva — Rito marks the capital event as completed, syncs investor totals, and seals the attestation.
capital_call.payment_requestedritocolectivaRito requested Colectiva to process a capital call payment from an LP — triggers the payment flow for the specified capital event.
caracol.creditnote.cancelledcaracolconstanzaCaracol cancelled a previously-stamped credit note — Constanza reverses both pólizas posted at issuance (revenue reversal + COGS reclass), restoring the books to their state before the credit note was issued.
caracol.creditnote.issuedcaracolconstanzaCaracol stamped a credit note (nota de crédito) for a customer — Constanza generates reversal pólizas: revenue side (Dr 4102 Devoluciones sobre Ventas / Cr payment) and COGS reclass (Dr 1151 Inventario or Dr 5005 Merma / Cr 5001) per item returnsTo flag.
caracol.intercompany_movement_completedcaracolconstanzaInter-tenant movement reaches ownership-transfer state (FOB-Destination = at receive; FOB-Origin = at dispatch). Triggers Constanza intercompany CFDI emission with partes-relacionadas detection (per OL-2).
caracol.invoice.stampedcaracolcamino, constanzaA CFDI was stamped through Caracol's own PAC flow (not routed through Constanza). Distinct from cfdi.stamped which Constanza emits after stamping. Used for unified fiscal record + subscription metering.
caracol.order.createdcaracolcaminoA new order was created in Caracol POS — feeds Camino CRM order pipeline and activity feed
caracol.order.status_changedcaracolcaminoOrder status transition in Caracol POS (e.g., preparing → ready → delivered) — Camino mirrors for CRM timeline
caracol.shipment.createdcaracolcaminoA Skydropx shipment label was generated in Caracol — Camino records cost, applies markup, and bills the tenant. Also triggers WhatsApp tracking notification via Camino.
catalog.sync.completedcaminocomalCamino → Comal callback when a TikTok catalog sync succeeds for a Comal store product. Comal updates products.tiktok_product_id + tiktok_synced_at.
catalog.sync.failedcaminocomalCamino → Comal callback when a TikTok catalog sync fails. Comal surfaces the error to the merchant in the product list.
cfdi_global.stampedcaracolcamino, constanzaMonthly factura global (CFDI Público en General) successfully stamped by the monthly-cfdi-publico cron. Distinct from caracol.invoice.stamped (per-sale) — carries batch context (period, salesIds) for downstream fiscal reconciliation and subscription metering.
cfdi.cancelledconstanzaagente, hoja, madriguera, mancha, plenuraA CFDI invoice has been cancelled
cfdi.distribution_requestedritoconstanzaRito requests Constanza to generate a CFDI for a distribution. Deal must already have a constanza_org_id. Constanza responds asynchronously with the stamped CFDI.
cfdi.failedconstanzacomalA CFDI invoice stamping has failed
cfdi.stampedconstanzaagente, agora, camino, comal, continua, cosmos-pet, garita, goodbay, hoja, madriguera, mancha, patadas, plenuraA CFDI invoice has been stamped by the SAT via Constanza — receiver apps attach the UUID to their local invoice record and update status.
cobranza.remindercaracolB2B payment collection reminder triggered when caracol sales data shows overdue invoices. Internal lifecycle event reserved for the cobranza/dunning feature; no emit site exists today (designIntentReserved S327). When wired, caracol owns the trigger logic and surfaces reminders to end-customers directly via WhatsApp/email — no cross-app receivers planned.
cofepris.expiringagentecaminoAn Agente COFEPRIS permit is expiring within 30 days — triggers WhatsApp alert and CRM activity log in Camino
company.ecosystem_linkedagentebaulEmitted by Agente when a company is linked to an RBS ecosystem org (ecosystemOrgId set). Consumed by Baúl to auto-set operators.ecosystem_company_id.
constanza.partner_billing_periodconstanzacolectiva[auto-derived] constanza.partner_billing_period event
constanza.poliza.reclassifiedconstanzacaracolAn accountant reclassified partidas in a póliza (journal entry) — Caracol mirrors the updated category metadata on the referenced sale so future margin and ROI metrics reflect the corrected classification. No inventory mutation downstream.
contact.createdgaritaA new CRM contact was created in Camino — Garita links the contact to a resident record on the property.
contact.updatedgarita, ritoA CRM contact record was updated in Camino — receiver apps sync the changed fields to their local contact/investor/resident records.
contract.createdagoraritoA legal contract was created in Agora — Rito registers it against the deal or investor record for contract lifecycle tracking.
contract.draft_requestedritoagoraRito requests Agora to draft an investment contract for an LP investor. Agora responds asynchronously with a contract URL via webhook.
contract.executedagoraritoA legal contract was fully executed (signed by all parties) in Agora — Rito marks the deal or investor contract as executed.
contract.expiredagoraritoA legal contract expired in Agora — Rito marks the contract as expired and may trigger follow-up actions.
contract.updatedagoraritoA legal contract was updated in Agora — Rito syncs the changed fields on the associated deal/investor record.
cost.calculatedagenteconstanza[auto-derived] cost.calculated event
cpi.investor_update_postedcolectivacaminoA CPI investor update was posted on a Colectiva offering — Camino sends email to each investor who purchased this offering.
cpi.purchasedcolectivacamino, constanzaA CPI (Colectiva Participation Instrument) was purchased — Camino creates/updates contact with cpi_holder tag + logs purchase timeline; Constanza records sale for accounting.
cpi.transfer_completedcolectivacaminoA CPI secondary market transfer completed — Camino sends buyer receipt + seller sale confirmation emails.
creditnote.issuedconstanzacaracolA credit note (nota de crédito) was issued in Constanza — Caracol records the adjustment against the original invoice for reconciliation
customer.createdcamino, caracol, comal, servilletacamino, constanza, garitaA new customer/contact/third-party record was created — used for CRM sync, fiscal pre-registration, and cross-app contact linking.
customer.identifiedmanchacaminoA customer was identified during a transaction in Mancha (restaurant POS) — Camino creates or updates the CRM contact record with the transaction context for relationship tracking.
customer.mergedcaminoagente, cosmos-pet, hoja, madrigueraTwo duplicate customer records were merged in Camino — receiver apps update their local foreign keys to the canonical customer ID.
customer.updatedcamino, constanza, caracolagente, colectiva, constanza, cosmos-pet, garita, hoja, madrigueraA customer/contact record was updated in Camino — receiver apps sync the changed fields to their local customer records for display and invoicing accuracy.
deadline.changedagoracaminoAn existing legal deadline in Agora was updated (new date or description) — Camino mirrors for CRM timeline and reminder workflows
deadline.createdagoracaminoA new legal deadline was set on a matter in Agora — Camino stores it for CRM visibility and deadline alerts
deal.billedcamino, colectivaconstanza[auto-derived] deal.billed event
deal.commission_readycaminocolectivaCamino has processed a deal billing record and calculated commission splits. Colectiva uses this to route payouts to developer/provider wallets. S125 Gap #18.
deal.createdritocamino, constanzaA new real estate deal was created in Rito — Camino CRM logs the activity; Constanza pre-registers fiscal structure for the deal.
deal.intelligence_generatedritocaminoRito's proactive intelligence engine completed analysis on a deal — Camino CRM tags the deal with recommended strategy and asset class.
deal.stage_changedritocolectivaA real estate deal has advanced to a new pipeline stage
deal.status_changedritocaminoA real estate deal's status transitioned to a new value in Rito — Camino mirrors for CRM pipeline. Distinct from deal.stage_changed (investor pipeline).
deal.woncaminoagoraA deal was marked as won in Camino CRM — Agora creates or updates the associated matter/client record for the legal team.
decision.expense.approveconstanzaColectiva's decision hub approved an expense request — Constanza books the approved expense as a poliza and records the approval for audit trail.
decision.hiring.approveconstanzaColectiva's decision hub approved a hiring request — Constanza registers the new employee for fiscal purposes (RFC, IMSS, payroll onboarding).
decision.salary_change.approveconstanzaColectiva's decision hub approved a salary change — Constanza updates the employee's payroll record and books the new salary.
decision.termination.approveconstanzaColectiva's decision hub approved an employee termination — Constanza processes the finiquito calculation and IMSS baja for the employee.
delivery.confirmedbaulcaminoDelivery completed with proof of delivery (photos, signature)
demurrage.accumulatingagentecamino[auto-derived] demurrage.accumulating event
deposit.completedbaulconstanza, colectiva, caminoCash deposit completed at bank with proof (photo of slip, GPS). Baul physical layer event. Triggers expense creation in Constanza and agreement reconciliation in Colectiva.
distribution.completedcolectivacaminoA participation distribution completed in Colectiva — Camino logs investor activity + sends confirmation email.
distribution.createdritocolectivaA distribution record was created in Rito — sent to Colectiva to initiate the payment to the LP wallet. The type field distinguishes capital_call vs distribution.
distribution.failedritoA distribution payment attempt failed in Colectiva — Rito marks the distribution as failed and notifies the fund manager.
distribution.payment_requestedritocolectivaRito requested Colectiva to process a distribution payment to an LP — triggers the payout flow.
donation.completedcontinuacolectivaA blood donation has been completed and the donor rewarded with MXC coins
employee.createdcolectivahoja[auto-derived] employee.created event
employee.missing_dataconstanzacaracol, colectiva, cosmos-pet, hoja, madriguera, mancha, plenuraConstanza detected an employee with missing fiscal data (RFC/CURP/etc.) — routed back to the source app that created the employee so the missing fields can be completed.
employee.terminatedcolectivahoja[auto-derived] employee.terminated event
employee.updatedcolectivahoja[auto-derived] employee.updated event
escrow.releasedcolectivaconstanzaAn escrow hold was released in Colectiva — Constanza books the escrow release as a poliza entry for fiscal reconciliation.
fiscal.anomaly_detectedconstanzacamino, colectivaConstanza AI detected an unusual pattern in an organization's financial data (z-score outlier, Benford violation, duplicate transaction, timing anomaly, etc.). Routed to Camino for CRM health alerts and to Colectiva so the Brain can factor fiscal anomalies into business intelligence.
fiscal.compliance_riskconstanzacaminoConstanza identified a SAT compliance risk for an organization: missing declarations, RFC issues, expired CSD certificate, or overdue obligations. Routed to Camino so the CRM can surface the alert and prompt the tenant to take corrective action.
fiscal.deadline_reminderconstanzacolectivaConstanza detected an upcoming tax deadline (3/7/30 days out) — notifies Colectiva so the Brain can surface the deadline as a priority.
fiscal.health_score_updatedconstanzacamino, colectiva[auto-derived] fiscal.health_score_updated event
fiscal.resico_warningconstanzacaracol, colectiva, cosmos-pet, hojaConstanza detected an organization whose RESICO income utilization crossed the warning threshold (>=90%). Routed to accounting-sensitive apps so they can surface limit warnings in POS/invoice flows.
garita.access.deniedgaritacolectivaA person was denied access to a property
garita.access.grantedgaritacolectivaA person was granted access to a property (check-in)
garita.cfdi.stamp.requestedgaritaconstanzaA Garita boutique-hotel stay requires a CFDI — Constanza queues the stamp request in garita_cfdi_requests. Actual stamping completes when a Constanza org is linked to the Garita property (post-firma operations). Introduced S203 Park Nilo Wave 4.
garita.credential.issuedgaritaAn access credential (PIN, QR, RFID, app token, biometric, license plate) was issued in Garita — design-intent receiver reservation; currently fire-and-forget (no active subscribers).
garita.credential.revokedgaritaAn access credential was revoked in Garita — design-intent receiver reservation; currently fire-and-forget (no active subscribers).
garita.property.type_changedgaritacamino[auto-derived] garita.property.type_changed event
garita.reservation.cancelledgaritacolectivaA reservation was cancelled
garita.reservation.completedgaritacolectivaA reservation was completed (amenity used)
garita.reservation.createdgaritacolectivaA reservation for an amenity was created
garita.reservation.no_showgaritacolectivaA resident did not show up for their reservation
garita.resident.onboardedgaritacolectivaA new resident or member was registered in a property
garita.stay.checked_ingaritaA guest checked in to a Garita boutique-hotel stay — fire-and-forget, currently no subscribers. Carries reservation + property context for CRM/activity sync.
garita.visitor.checked_ingaritacolectivaA visitor checked into a property
handoff.completedbaulcamino, colectiva, constanza, agora, agente, caracol, cosmos-pet, madrigueraGeneric physical handoff completed with proof. Covers document delivery, product returns, sample collection, key handoff, equipment transfer. Baul physical layer event.
insights.availablecaminoagente, cosmos-pet, hojaCamino's AI engine generated new business insights for a tenant — receiver apps surface the insights in their dashboards for operator review.
inventory.cogscaracol, hojaconstanzaCost of goods sold event emitted by POS on sale completion. Triggers Constanza to post a COGS poliza (Dr 5001 / Cr 1151).
inventory.in_transitbaulcaracolA Baúl delivery order has been dispatched and is en route — Caracol surfaces an in-transit status on the linked movement. Fire-and-forget; Caracol may show location + ETA when provided.
inventory.lowcaracol, comal, hojacamino, colectivaA product inventory fell below the low-stock threshold — Colectiva records the alert for analytics; Camino logs it as a TenantIntelligence signal in organization_activity_log.
inventory.pickup_discrepancybaulcaracolThe driver pickup count was short at Baúl pickup time — Caracol surfaces a banner so the user can accept_short_pickup or dispute. Carries per-product expected vs actual counts.
inventory.receivedcaracolagenteAn inventory shipment was received at the warehouse — Agente updates the shipment status and the landed cost is finalized for COGS accounting.
inventory.transit_losscaracolconstanzaPérdida en tránsito recorded at receive time when the user picks the 'register as transit loss' resolution for a short-receive (received < shipped). Constanza posts a merma póliza Dr 5005 / Cr 1151 when totalCost is present, and persists an audit row in caracol_inventory_transit_losses keyed on (movementId, productId, branchId) for idempotency. Sender clears source.reserved by the full shipped quantity but does NOT restore source.quantity — the diff is written off as merma. Restore-to-source resolution does NOT emit this event (no loss occurred).
investor.createdritocaminoA new LP investor was created in Rito — Camino receives the contact for CRM sync.
investor.nda_signedcolectivacaminoAn investor signed an NDA for a CPI offering in Colectiva — Camino creates/updates contact with investor tags + logs timeline event.
investor.updatedritocaminoAn LP investor record was updated in Rito — Camino syncs CRM fields.
invoice.compliance_issueconstanzacaracol, comal, cosmos-pet, hoja, madriguera, mancha, plenuraConstanza detected an invoice compliance issue (missing/invalid RFC, duplicate, format error) — routed back to the source app for review.
invoice.failedcaminoAn invoice payment failed — Camino records the failure on the cobranza receivable and may trigger a dunning follow-up.
invoice.issuedconstanzacolectivaConstanza issued and stamped an invoice — Colectiva syncs the CFDI to the workspace invoices collection for the business owner's records.
invoice.paidcolectivaagora, caminoAn invoice was paid — Camino marks the cobranza receivable as paid and logs the payment event on the CRM contact timeline.
invoice.queuedconstanzacolectivaConstanza accepted a deal-billing póliza and queued the invoice for CFDI stamping — notifies Colectiva so the deal-billing pipeline can track the pending invoice.
k1.deliveredritoconstanzaA K-1 LP tax report was delivered to an investor in Rito — Constanza records the delivery for tax-compliance audit trail.
labor_costs.monthly_reportcolectivahoja[auto-derived] labor_costs.monthly_report event
labor_costs.updatedcolectiva, constanzacamino, hoja[auto-derived] labor_costs.updated event
lead.qualifiedcaminoagoraA lead was qualified in Camino CRM — Agora receives the qualified lead to create a new matter intake for the legal team.
matter.assignedagoracaminoAn attorney was assigned to a legal matter in Agora — Camino updates CRM contact-to-matter mapping for pipeline visibility
matter.status_changedagoracaminoA legal matter's status changed in Agora (e.g., open → closed, active → on_hold) — Camino mirrors for CRM pipeline
note.createdagoracaminoAgora attached a note to a matter that should appear in Camino CRM (client communication, case update, billing note).
notification.sentritoCamino dispatched a notification (email, WhatsApp, push) to a user — Rito records the delivery event on the investor or deal record for audit trail.
order.completedcomal, manchacolectiva, constanzaAn e-commerce order has been completed (paid + fulfilled)
order.refundedcomalcolectiva, constanzaAn e-commerce order has been refunded
owner.registeredmadrigueracamino, colectivaA property or pet owner was registered in Madriguera — Camino creates a CRM contact, Colectiva records the new account for revenue tracking.
parent_payment.requestedescuelaA school-parent payment was requested via escuela's Colectiva trust-wallet flow (S403 Phase 2 parent-payment substitute for Conekta). S410 registry-integrity reconciliation: declared in escuela.sends without a matching events.json entry; intended receiver is Colectiva once Phase 2 ships (receivers:[] until wired).
payment.cancelledcaracol, cosmos-petA payment was cancelled before capture (abandoned/voided checkout) — distinct from payment.refunded (post-capture reversal). Receivers release any provisional hold/order tied to the payment. S410 registry-integrity reconciliation: caracol + cosmos-pet declared this receiver in apps.json without a matching events.json entry; no ecosystem sender is wired yet (senders:[] until a payment source emits it).
payment.chargeback_resolvedcolectivaconstanza, agora, mancha, servilleta, cosmos-pet, caracolA MercadoPago chargeback reached a terminal state. Colectiva emits this when verdict.terminal && outcome ∈ {lost, won, coverage}. Constanza uses it to post a counter-póliza and (on lost + originalCfdiUuid present) cancel the original CFDI. Canonical contract is whatever colectiva/src/lib/services/ecosystem-webhook.service.js notifyPaymentChargebackResolved emits.
payment.completedcolectivabaul, constanza, cosmos-pet, manchaA payment transaction was fully completed in Colectiva — source apps confirm the payment for delivery orders, subscriptions, or escrow. Used by baul to confirm delivery payment, mancha for reservation payment, constanza for accounting, and cosmos-pet for vet clinic subscription payments.
payment.expiredcolectivacosmos-pet, manchaA pending payment expired without being completed — Colectiva notifies the originating app to cancel the pending reservation or order. cosmos-pet uses it to mark vet-clinic subscription payments as expired.
payment.failedcolectivabaul, manchaA payment attempt failed in Colectiva — notifies source apps (baul, mancha) to surface the failure to the user and offer retry.
payment.heldservilletaA payment was placed in escrow hold by Colectiva — Servilleta records the hold so the task status reflects that escrow is secured before work begins.
payment.receivedcolectiva, constanzaagente, continua, cosmos-pet, garita, goodbay, hoja, madriguera, patadasA payment has been processed via Colectiva
payment.reconciledconstanzaagente, cosmos-pet, hoja, madrigueraConstanza completed bank reconciliation for a payment — receiver apps update their local payment records to mark the payment as reconciled against the bank statement.
payment.refundedcolectiva, comalbaul, mancha, servilleta, agora, constanza, cosmos-pet, caracolA payment was refunded by Colectiva — voluntary refund initiated by a tenant app or by Colectiva ops, OR an involuntary MP-platform-side refund. Receivers branch on paymentReferenceType. For voluntary refunds with proration, isPartial=true and proration block carries period bounds. paymentLayer is the primary routing discriminator; receivers MUST check it before paymentReferenceType.
payment.releasedcolectivaservilletaAn escrow payment was released from hold by Colectiva — Servilleta marks the task payment as released and triggers tasker payout.
payment.status_changedcolectivacolectiva, mancha, plenura, servilleta[auto-derived] payment.status_changed event
payroll.calculatedcolectivaconstanza, hoja[auto-derived] payroll.calculated event
payroll.disbursedcolectivacolectiva[auto-derived] payroll.disbursed event
payroll.processedcolectiva, constanzaconstanza[auto-derived] payroll.processed event
pet.registeredmadrigueracolectiva[auto-derived] pet.registered event
poliza.generatedconstanzaritoConstanza generated a journal entry (póliza) for a Rito deal event — Rito records the poliza reference on the deal for fiscal-accounting traceability.
product.createdcomalcaminoA new product was created in Comal — Camino syncs to the CRM product catalog for cross-channel posting (e.g., TikTok catalog, social feeds).
product.deletedcomalcaminoA Comal product was deleted — Camino removes from cross-channel catalog mirrors.
product.updatedcomalcamino[auto-derived] product.updated event
project.completedpatadascolectivaA Patadas marketplace project has been completed and accepted — triggers final escrow release, platform fee deduction, and invoice generation
referral.createdpatadascaminoA business has been referred to an RBS product via the marketplace
refund.processedagoraA refund was processed in Colectiva — Agora updates the case billing record to reflect the refunded amount.
report_card.generatedmadrigueracolectiva[auto-derived] report_card.generated event
reservation.arrivedmanchacaracol, hojaA reservation party arrived at the restaurant — Caracol POS updates the table status from waiting to arrived, La Hoja POS mirrors the reservation timeline.
reservation.cancelledmanchacaracolA reservation was cancelled in Mancha — Caracol POS removes from the waitlist/queue and releases the table.
reservation.checked_outmadrigueracolectiva[auto-derived] reservation.checked_out event
reservation.completedmanchacaracol, colectiva, hojaA restaurant reservation was completed (the party finished dining) — Colectiva records for revenue analytics, Caracol POS releases the table, La Hoja POS mirrors the timeline.
reservation.createdmadriguera, manchacaracol, colectiva, hojaA restaurant reservation has been created
reservation.seatedmanchacaracol, hojaA reservation party was seated at the restaurant — Caracol POS starts the table timer, La Hoja POS mirrors the seating event.
reservation.updatedmanchacaracol, hojaReservation details changed in Mancha (time/party size/contact) — Caracol POS and La Hoja POS update their mirrors.
sale.completedcaracol, hoja, cosmos-petcolectiva, constanzaA POS sale has been completed
schedule.cancelledmancharitoA deal scheduling appointment was cancelled in Mancha — Rito removes or marks the schedule record as cancelled.
schedule.completedmancharitoA deal scheduling appointment was completed in Mancha — Rito marks the schedule as completed and may trigger next-step actions in the deal pipeline.
schedule.createdmancharitoA new deal scheduling appointment was created in Mancha — Rito registers it on the deal record for pipeline tracking.
schedule.updatedmancharitoA deal scheduling appointment was updated in Mancha — Rito syncs the changed time or attendee details.
shipment.closedagentecolectiva[auto-derived] shipment.closed event
shipment.createdagentecolectiva[auto-derived] shipment.created event
shipment.receivedagentebaul, caracol[auto-derived] shipment.received event
shipment.status_changedagenteAgente updated shipment status (assigned, in_transit, delivered, exception). PD-160 (S406): receivers list is currently empty — agente code hardcodes targets:['camino'] in camino-emit.ts, so the event is delivered to camino via its existing handler chain (caracol.shipment.created etc.), not via this registry entry. Kept as a forward-design slot; remove or repopulate based on S404 routing decision.
site_optimizer.scenario_selectedritocaminoA Rito user selected a development scenario from the Site Optimizer — Camino records the investment intent for the fund/contact.
spv.createdconstanzaritoConstanza created a fiscal SPV entity for a Rito deal and is sending back the constanza_org_id so Rito can store it on the deal record.
spv.creation_requestedritoconstanzaRito requests Constanza to create a fiscal SPV entity for a deal. Constanza responds asynchronously with the constanza_org_id via spv.created.
subscription.activatedcamino, colectivaagente, agora, camino, caracol, colectiva, comal, constanza, continua, cosmos-pet, garita, hoja, madriguera, mancha, patadas, plenura, rito, servilletaA subscription plan has been activated for a tenant — all apps that gate features behind the subscription tier update their local tier state.
subscription.cancelledcamino, colectivaagente, agora, camino, caracol, colectiva, comal, constanza, continua, cosmos-pet, garita, hoja, madriguera, mancha, patadas, plenura, rito, servilletaA subscription has been cancelled — all apps that gate features behind the subscription tier update their local tier state to free/cancelled.
subscription.changedcaminoagora, caracol, comal, cosmos-pet, hoja, madriguera, plenura, ritoA subscription plan has been upgraded or downgraded — receiver apps update their tier gates and feature access accordingly.
subscription.createdcolectivabaulA new subscription record was created in Colectiva — baul receives this to link delivery service with the tenant's subscription. Distinct from subscription.activated (which fires after first payment succeeds).
subscription.expiredcaminocomal, plenuraA subscription has expired (end of billing period, no renewal)
subscription.limit_approachingcaminoagente, cosmos-pet, hoja, madrigueraA tenant's subscription usage is approaching the plan limit — Camino notifies subscriber apps to surface a plan-upgrade prompt to the tenant operator.
subscription.past_duecaminocomal, plenura, ritoA tenant's subscription entered past_due state after a failed renewal — Camino dunning flow pauses feature access without cancelling. Receiver apps mark memberships or subscriptions past_due until payment is received.
subscription.payment_failedcamino, colectivaagora, baul, camino, plenura, servilletaA subscription payment attempt failed — receiver apps surface a payment-failed banner to the tenant operator and may restrict feature access.
subscription.payment_receivedcaminoconstanza[auto-derived] subscription.payment_received event
subscription.pending_cancellationcaminoagora, camino, plenura, servilletaA subscription cancellation was scheduled for the end of the current billing period — receiver apps surface a notice that the subscription will end soon.
subscription.renewedcamino, colectivacamino, constanza, mancha, plenura, servilletaA subscription was successfully renewed for a new billing period — receiver apps update the subscription period end date and resume any paused features.
subscription.suspendedcaminoagente, caracol, cosmos-pet, madrigueraA subscription was suspended due to non-payment or compliance issue — Camino disables access until resolution. Receiver apps lock out the tenant and surface a suspension banner.
subscription.trial_expiringcaminocolectiva, comal, hoja, plenuraA trial subscription is expiring soon — receiver apps surface an upgrade prompt to the tenant operator.
subscription.trial_startedcaminocolectiva, comal, hoja, plenuraA trial subscription was started — receiver apps activate trial-tier features for the new tenant.
support.ticket_createdcaminoA support ticket was opened in any RBS app — Camino mirrors the ticket into support_tickets and runs CATTA Stage 1 classification (Haiku) for cross-app triage. Source app remains the system-of-record for the conversation thread; Camino centralizes triage + escalation + analytics. See docs/architecture/CAMINO_AI_TICKET_SUPPORT.md.
task.completedservilletacolectiva, caminoA gig task has been completed and accepted by the client on Servilleta — triggers payment release from escrow to tasker wallet
tax.calculatedritoConstanza recalculated ISR/IVA for a deal — Rito stores the tax figures on the deal record for fund-level fiscal reporting.
team_member.createdcaminoconstanzaA new team member was added to a workspace in Camino — Constanza pre-registers the employee for fiscal/payroll onboarding.
team_member.deactivatedcaminoconstanzaA team member was deactivated in Camino — Constanza marks the employee as inactive and may trigger an IMSS baja process.
team_member.updatedcaminoconstanzaA team member's record was updated in Camino — Constanza syncs the changed fields on the employee record.
tenant.provisionedescuelaAn app provisioned a new tenant/org as an ecosystem citizen (e.g. escuela registers a school at signup via Colectiva's ecosystem-orgs writer). S410 registry-integrity reconciliation: declared in escuela.sends without a matching events.json entry; no ecosystem receiver wired yet.
timesheet.approvedpatadascolectivaA developer's timesheet has been approved by the client on Patadas — triggers escrow payment release to developer wallet
tips.processedcolectivacaracolTips collected via Colectiva have been processed and distributed to staff — Caracol POS records the tip distribution for shift reports and labor analytics.
trust.depositconstanzaA trust account deposit instruction was sent to Constanza — Constanza books the deposit in the trust wallet ledger for the IOLTA-style escrow account.
trust.disburseconstanzaA trust account disbursement was sent to Constanza — Constanza books the outflow from the trust wallet and generates the corresponding poliza.
trust.holdconstanzaA trust account hold was placed — Constanza books the hold in the trust ledger pending instruction to release or disburse.
upsell.appointment_capacityplenuracaminoPlenura free-tier therapist has hit or is approaching their monthly booking limit (5/month). Camino surfaces a Plenura Pro upgrade recommendation.
upsell.constanza_onboardingconstanzacaminoConstanza detected an org has no active CSD certificate configured — prompts Camino to surface a CSD setup upsell.
upsell.declaration_serviceconstanzacaminoConstanza detected an org with overdue declarations (>30 days) — prompts Camino to surface a managed-declarations upsell.
upsell.stamp_upgradeconstanzacaminoConstanza detected an org whose stamp usage has exceeded 80% of its plan allocation — prompts Camino to surface a plan-upgrade upsell.
upsell.task_volumeservilletacaminoServilleta free-tier tasker is at or near their active task limit (3 concurrent) or has reached a completed-task volume milestone (10/25/50). Camino surfaces a Pro Tasker upgrade recommendation.
vendor.createdcaracol, hojaconstanzaA vendor (supplier) was created in a source app. Constanza accumulates these for monthly SAT DIOT submission (Declaración Informativa de Operaciones con Terceros). PD-074 (S313) — replaces the broken Constanza→{caracol,hoja,cosmos-pet,colectiva} POST /api/ecosystem/diot/vendors pull (S271 BROKEN #7).
vendor.updatedcaracol, hojaconstanzaA vendor's fields changed in a source app. Constanza merges non-undefined fields into the accumulated DIOT vendor record (matched by vendorId). PD-074 (S313).
walk.completedmadrigueracolectiva, camino[auto-derived] walk.completed event
wallet.deposit_completedcolectivacaminoA CPI wallet deposit completed in Colectiva — Camino logs activity and sends deposit receipt email to the user.
wallet.depositedcolectivacolectiva[auto-derived] wallet.deposited event
wallet.payout_completedcolectivacomal[auto-derived] wallet.payout_completed event
wallet.spentcolectivacolectiva[auto-derived] wallet.spent event
wallet.withdrawal_completedcolectivacaminoA CPI wallet SPEI withdrawal completed in Colectiva — Camino logs activity and sends withdrawal receipt email to the user.
wallet.withdrawncolectivacolectiva[auto-derived] wallet.withdrawn event
workflow.actioncolectivaconstanza, hoja, caminoColectiva dispatches a workflow action to a target app — instructs the receiver to perform a specific operation (create employee, generate poliza, update record). Payload includes the action type and data needed by the receiver.

Generated from ecosystem-sdk/packages/mcp-server/src/registry/events.json by scripts/build-events.mjs. Do not edit by hand.

Red Broom Software Ecosystem