Reaction surface

Declare the event, not the automation

Twenty-nine events are declared with a severity, the channels they can arrive on, and the outcome we want. Everything else — which department, which SOP, which agent, whether a human has to say yes — is resolved from the org chart at the moment one lands.

52
declared
51
routed
7
human gated

P1 · Critical

16

Client agreement missing

client_agreement_missing
P1 Criticalstub

A submitted client lacks verified agreement evidence and needs a visible completion path.

What should happen

Customer owns the agreement gap, stages the approved completion path, and keeps the client visible without inventing consent.

arrives ontwentyportalcron

Client submitted to lifecycle

client_submitted
P1 Criticalstub

A sales handoff entered the Client Lifecycle pipeline, including any agreement or billing gap flags.

What should happen

Customer starts activation from the evidence already collected, skips completed checks, and owns every visible gap.

arrives ontwentyportalslack

New customer submission

customer_submission_received
P1 Criticallive

A submission came through (Slack submission boom or portal) meaning a real client intent exists — even if NMI has not caught up.

What should happen

Within the hour: billing setup and agreement verified, CRM record corrected and staged, welcome email plus portal access delivered, and the right humans notified.

arrives onslackportal

Do-not-honor / unknown CoF before an MIT

dnh_201_before_mit
P1 Criticallive

Last money event was a 201, or the card-on-file trail is unknown, and an MIT is being requested.

What should happen

A broken card-on-file trail gets repaired before anyone tries to charge again.

arrives onnmiconsole

Event landed in the dead-letter queue

ingest_dead_letter
P1 Criticallive

What should happen

No customer fact is silently lost; every dead letter is replayed or explained.

arrives oncronconsole

Negative sentiment detected

negative_sentiment_detected
P1 Criticallive

A customer sounds unhappy but has not threatened a chargeback or cancellation yet.

What should happen

Get notified, make sure they are taken care of comprehensively: a personal reply, a genuinely useful guide or asset if it fits, an appointment offer, and a follow-up task so it does not go quiet again.

arrives onghl_smstwiliovapislackresendagentmailportal

Sales agreement signed

sales_agreement_signed
P1 Criticalstub

Signed agreement evidence was attached to the sales opportunity.

What should happen

Sales verifies signature evidence and prepares the enrollment handoff without initiating billing.

arrives onportalforthtwenty

P2 · High

18

Client monthly financial review due

client_monthly_review_due
P2 Highstub

The client's monthly review window is due; frame the contact around progress and financial review, not a silent payment attempt.

What should happen

Customer reviews progress and health, schedules a human conversation when needed, and records the next action before any separate billing process.

arrives oncrontwentyportal

Client onboarding documents requested

client_onboarding_docs_requested
P2 Highstub

The approved onboarding document request and education packet were staged for a submitted client.

What should happen

The client receives a clear document checklist, expectations, and due dates while Customer tracks completion.

arrives onportaltwentyconsole

Feature request received

feature_request_received
P2 Highlive

A human described something they want the software to do. Includes requests typed directly into a coding harness.

What should happen

The sentence becomes a written feature request with acceptance criteria and a Plane work item, then runs the Session Loop end to end with the development agents.

arrives onchatslackplaneconsole

Event could not be matched to a customer

identity_unresolved
P2 Highlive

What should happen

Unmatched events get an owner instead of piling up as orphan rows.

arrives oncronconsole

NSF / 202 retry cohort

nsf_202_cohort
P2 Highhuman gatelive

Payday window reached for an approved NSF cohort.

What should happen

Retries are prepared on schedule but never fire without an explicit human yes.

arrives oncronconsole

Payment schedule due

payment_schedule_due
P2 Highhuman gatestub

A scheduled installment is due today. Discovery only until Gate 0.5 ACK — this event never auto-MIT.

What should happen

Listed on Billing desk due queue; charge only after Gate 0.5 package + human ACK.

arrives oncronbilling_consolenmi

Payment succeeded

payment_success
P2 Highlive

NMI or the ledger reports response code 100 on a real charge.

What should happen

Money landing triggers the post-charge journey instead of silence.

arrives onnmi

Sales inbound transfer

sales_inbound_transfer
P2 Highstub

A qualified inbound conversation transferred to a human sales owner with its customer identity and transcript attached.

What should happen

The human sales owner starts with the customer context, transcript, and next-call brief instead of reconstructing the conversation.

arrives onvapitwenty

Sales offer accepted

sales_offer_accepted
P2 Highstub

The customer accepted the recorded offer terms and is ready for agreement completion.

What should happen

Sales records acceptance evidence and moves the opportunity to agreement without treating acceptance as payment authorization.

arrives ontwentyportalvapi

Sales offer presented

sales_offer_presented
P2 Highstub

A human presented an approved offer and recorded the proposed tier and first-payment terms.

What should happen

The approved offer and its terms are captured for follow-up and conversion reporting; no payment is initiated.

arrives ontwentyportalvapi

Vault without subscription

subscription_missing_after_vault
P2 Highhuman gatestub

NMI vault present but no recurring subscription — the classic vault-no-sub cohort.

What should happen

Human decides create-sub vs HOLD; never silent MIT.

arrives onnmibilling_consolecron

Vault CoF / $0 auth failed

vault_cof_failed
P2 Highhuman gatestub

Customer vault exists but card-on-file validation failed. Never auto-charge; route to Back Office retoken playbook.

What should happen

Retoken request or HOLD; Gate 0.5 stays red for this person.

arrives onnmibilling_consolecron

P3 · Normal

14

Scheduled data quality audit

cron_data_quality_audit
P3 Normallive

What should happen

Gaps are found nightly rather than discovered during a charge run.

arrives oncron

Deal stage changed

deal_stage_changed
P3 Normalstub

An opportunity moved stage in Twenty (VIEW annotation). Sales owns the next action; openarm surfaces it on the Sales desk.

What should happen

Sales playbook advances or parks the deal; no money movement.

arrives ontwentyspine

Inbound communication landed

inbound_comms_land
P3 Normallive

Any inbound message on any channel. Always lands as an observability fact first; classification decides whether it also becomes an action.

What should happen

Every inbound message is on the customer timeline within a minute, whether or not it needs an action.

arrives onslackghl_smstwiliovapiresendagentmailportal

Observability only — this lands on the timeline and never opens a claim.

Nightly billing discovery

nightly_billing_discovery
P3 Normallive

What should happen

Every morning starts with a fresh, honest picture of who can be charged and what is broken.

arrives oncron

Research requested

research_requested
P3 Normallive

What should happen

A sourced brief with a recommendation, filed in the vault so we never research it twice.

arrives onchatslackconsole

Sales application completed

sales_application_completed
P3 Normalstub

The customer completed the sales application and the evidence is available for review.

What should happen

Sales verifies the application evidence and advances or parks the opportunity with a stated next action.

arrives onportaltwenty

Sales financial review complete

sales_financial_review_complete
P3 Normalstub

The budget and financial review presentation is complete and its evidence is attached to the opportunity.

What should happen

Sales records the review result and prepares the appropriate offer without inventing financial facts.

arrives onportaltwentyvapi