How it works in production Integration design
Intradiem Platform
Usage events, coaching logs, schedule adherence, rule activity
→
Signal Processor
Threshold checks on rolling windows, flags anomalies, assigns signal type
→
Routing Rules
Expansion goes to AE. Health risk goes to CSM. Churn goes to both.
→
CRM / CS Platform
Task created, health score updated, Slack alert on urgent signals
→
Rep Action
Expansion call, health check, or renewal risk review
Production architecture
Runs on Salesforce and Gainsight, the stack most enterprise health plans and financial services companies already have. The only custom piece is the signal processor sitting between Intradiem's event stream and the CRM. Everything else is Salesforce Flow and Gainsight Rules Engine configuration.
Technical specifics
30-day rolling averages, not point-in-time snapshots. 14-day suppression window per signal per account so the same alert doesn't fire weekly. Failure-safe: writes to Salesforce via Flow, not direct API, so signals queue through outages rather than drop. Champion job change runs as a weekly Clay enrichment pass.
How this was built
Apollo MCP for company data, Clay for enrichment pipeline design, Claude in Cowork for routing logic. The signal processor is a standalone Python script: evaluates all six signals against rolling-window thresholds, applies the suppression window, outputs routing decisions. Runs against sample data out of the box. Code:
github.com/dallasandrews1/intradiem-signal-processor
Day one reality
Not a live webhook stream. Day one is a daily CSV export from Intradiem's reporting module running on a cron job. The 30-day rolling average works fine on daily data. The architecture shown is the 90-day state. Start with one signal, one destination, one AE expansion before building the pipeline. The value of designing the full architecture up front is knowing exactly what you're building toward.
When a customer's licensed seats are running at 85% capacity, they need more before they've asked. This is the cleanest upsell signal in the platform. The customer already proved value, they just ran out of room.
Threshold: Licensed agents active at 85%+ over a rolling 30 days
Route to AE with expansion proposal and ROI model
High coaching frequency but low roster coverage means they've deployed Intradiem on part of their team and stopped. They're getting value, but leaving 40% of their agents unautomated. Classic land-and-expand gap.
Threshold: 20+ coaching sessions per day, but fewer than 60% of agents receiving them in the past 30 days
Route to CSM for deployment expansion conversation
If a customer is only using a third of the available rules, they either didn't finish onboarding or there's a use case they haven't discovered yet: back-office automation, VTO delivery, after-call work reduction. A QBR conversation fixes this.
Threshold: Active rules below 35% of what's available for their tier
Route to CSM for QBR with a use case discovery agenda
They set up the scheduling integration but never connected the CRM or back-office systems. That's a separate product conversation and a separate revenue line. 90 days of WFM usage with zero CRM connections is the tell.
Threshold: WFM integration active 90+ days, zero CRM or back-office connections
Route to AE for back-office expansion pitch
If total automation events are down 20% month over month for two straight months, someone on the WFM team is working around the system. This doesn't show up in health scores until it's too late. The fix is a stakeholder mapping call, not a feature walk.
Threshold: Automation event volume down 20%+ MoM for two consecutive months
CSM initiates health check immediately. Urgent.
The person who bought Intradiem just left. Their replacement didn't make the decision and has no attachment to it. If this happens within 90 days of renewal, the AE needs to own the relationship rebuild before procurement does.
Threshold: LinkedIn job change detected for the primary champion within 90 days of renewal
AE and CSM both get alerted. New stakeholder mapping starts immediately. Urgent.