Latch®

© 2026 Latch — fail-closed churn-save.

Fail-closedSide-effect assertsGolden jobsChurn-saveAudit trailForce-fail

Churn saves that prove® themselves.

When an account looks ready to leave, Latch runs the save play across Slack, your risk ledger and the calendar — and only turns green when every app hands back a real ID.

Moves the tools your CS team already lives in

SlackStripeGmailSheetsCalendarHubSpotIntercomLinear

The save play

One signal in. Three verified side effects out.

01

Signal

Cancel language in Gmail, or a Stripe past_due / cancel webhook.

trigger

02

Alert

Slack #cs gets the account, the reason and the thread link.

slack.message_ts

03

Ledger

Risk row opens with status OPEN_SAVE and the owning CSM.

sheets.updatedRange

04

Hold

Save call blocked on the owner's calendar inside the risk window.

calendar.eventId

Fail-closed by default

A missing ID is a red board, not a rounded-up win.

Most agents report what they intended to do. Latch reports what the apps actually returned. Kill the Slack token mid-run and the board flips to UNLATCHED, writes a FAILED_NOTIFY row and stops the rest of the play.

UNLATCHEDplay_7bd004 · Halcyon Retail
assert stripe.event.id      evt_1PxT9k   PASS
assert slack.message_ts     —            FAIL  invalid_auth (3 retries)
assert sheets.updatedRange  Risk!A41:H41 PASS  FAILED_NOTIFY
assert calendar.eventId     —            SKIP  halted: fail-closed
assert no_silent_send       —            SKIP

board: 2/5 → RED

100%

Golden jobs matching expected outcome (8 fixtures)

3/4

Plays latched today, each with side-effect IDs on record

1.6s

Median signal-to-latch across Slack, ledger and calendar

Latch the save. Keep the proof.

Human stays on every customer-facing send. Latch handles the internal work and the audit trail.