Real-time Triggers
The cofounder reacts to signals. Most signals are written by the daily anomaly detector — so a churn spike surfaces the next morning. Real-time triggers close that gap: an external event becomes a signal the instant it happens, and (for high-severity events) fires a focused run immediately instead of waiting up to 15 minutes for the event orchestrator’s next poll.proactive_mode, min_signal_severity, billing, and a 30-minute per-app
cooldown — so it never storms runs or bypasses your preferences.
RevenueCat webhooks
Subscription lifecycle events (cancellation, expiration, billing issue, refund) becomechurn_spike signals in real time.
Setup — in Settings → Data sources → RevenueCat (after connecting your
key), copy the Webhook URL and Authorization value, then paste them into
RevenueCat → Integrations → Webhooks.
EXPIRATION / BILLING_ISSUE are
high-severity (run now), while CANCELLATION / SUBSCRIPTION_PAUSED / REFUND
wait for the next poll. Bursts collapse to one signal per type per day.
App Store Server Notifications
If you’ve configured Apple’s App Store Server Notifications V2 (the samePOST /v1/webhooks/apple endpoint that powers the mobile inbox), subscriber
churn (EXPIRED, auto-renew off) and refunds now also emit a
churn_spike signal automatically — no extra setup. Hard billing churn
(BILLING_RETRY) is high-severity.
Custom signed webhook
The reusable primitive: any external system (GitHub, Zapier, internal tooling) can POST a signed event that becomes a signal. Setup — get your URL + signing secret:summary (required), plus optional severity
(info|low|medium|high|critical, default medium), appId (defaults
to your live app), metricPath, fingerprint, and magnitude.

