IQcadence

Alerts

Accounts that need your attention

Active Alerts
Critical / Risk
MRR Exposed
Accounts
Snoozed

MRR Exposure

$0
total at risk

Alerts by Category

0
active alerts

Alerts by Stage

0
stages with alerts
0 selected

All clear!

No alerts right now — all customers are in good shape.

Customers

0 selected

No customers yet

Score your first customer manually or bulk-import via CSV.

Segments

Customers grouped by tag

View
Metric
Untagged
Date Range

CSM Performance

Portfolio metrics for each Customer Success Manager.

CSM Leaderboard

Suggested Focus Areas

Auto-generated priorities per CSM

Workload Balance

Account & MRR distribution across CSMs

Portfolio Movement

Health band changes in the last 7 days

CSM Activity Feed

Recent actions by each manager

Calendar

Upcoming renewals, scheduled touches & overdue contacts

Reports

Export data, generate printable reports, and analyze your portfolio.

Scheduled Reports

Score a Customer

Fill in the signals below to calculate a health score.

10 days
50%
8 — Passive
N/A

Score Preview

Fill in the form and click Calculate to see results here.

Import / Export

Bulk-import customers or export filtered data.

Supported column headers:

Or upload any CSV — you can remap columns after upload.

name, manager, mrr, arr, logins_30d, feature_adoption_pct, open_tickets, nps_category, days_since_contact, renewal_date, months_to_renewal, growth_signal, tier, tags, lifecycle, customer_since, next_touch, scoring_profile, note, sentiment

Drop a CSV file here

or click to browse your files

Settings

Customize scoring, thresholds, scoring profiles, and API integrations.

Signal Weights

Adjust how much each signal contributes to the health score. Weights must total 100%.

Total: 100%

Score Thresholds

Define what score ranges map to each of the 5 health bands.

Critical — belowpts → 0–24
At Risk — belowpts → 25–49
Watch — belowpts → 50–64
Healthy — belowpts → 65–79
Expansion — above80 pts

Expansion Estimate

How to estimate upsell potential for expansion-ready accounts.

Method
Percentage% of each account's MRR

Contact Cadence

Days since last contact before follow-up is flagged, by tier.

Tier Due Soon (days) Overdue (days)
Enterprise
Mid-Market
SMB

Renewal Windows

Days before renewal to trigger each alert level.

Critical — withindays
Warning — withindays
Upcoming — withindays

Signal Thresholds

Adjust detection sensitivity for account signals.

Quiet account afterdays with no logins
Momentum threshold± pts over 7 days

Scoring Profiles

Click a profile to load its weights into the editor on the left.

Score Distribution

Current spread of accounts across health bands.

Data Health

Account

Signed in as

Quick Actions

Manage your scoring configuration.

Custom Webhooks

Configure per-trigger webhook URLs for Zapier or custom integrations. For simple Slack/Teams/Email alerts, use the Create Alert tab instead.

API Key

All inbound API requests require this key in the x-api-key header.

Available Endpoints

Event Log

Loading event log…

User Management

Create, view, and remove users of this app.

All Users

Loading users…

🏢 Clients

Manage your client businesses. Assign users to clients.

All Clients

Loading clients…

Audit Log

Track all changes made to customers, settings, and data.

Loading audit log…

Config History

Alert Rules

Send alerts to Slack, Teams & email — or connect to 5,000+ apps via webhooks & API.

Active Alerts

1
Alerts & Scope
2
Thresholds
3
Delivery & Schedule

Help & Guide

Everything you need to know about iQcadence CS Health Score.

Welcome to iQcadence CS Health Score

A customer success management platform that calculates health scores using weighted signals, helping CS teams identify at-risk accounts, track engagement, manage renewals, and take proactive action before churn occurs.

Quick Start

Get up and running in five steps

  1. Add customers — Use the Score Customer form or CSV Import to load your customer data.
  2. Score them — Enter signal values (Logins, Adoption, Tickets, NPS, CSAT, Days Since Contact, Growth) and the system calculates a weighted health score automatically.
  3. Monitor your portfolio — Home Base shows KPI cards, briefing items, and a portfolio health ring. The Alerts page surfaces accounts that need attention.
  4. Analyze & segment — Use Segments (by tag, tier, or lifecycle stage), Trends (metric charts over time), and CSM Performance to find patterns.
  5. Act & report — Open customer details for Playbooks and QBR Prep, generate PDF/CSV reports, and set up automated alert rules for Slack, Teams, or email.

Sidebar Navigation

All pages organized by function

SectionPages
MonitorHome Base, Alerts, Customers, Segments, Trends, CSM Performance, Calendar
AutomateAlert Rules, Reports
DataScore Customer, Import / Export
SettingsWeights & Config, Audit Log
Use the Manager Filter at the top of any page to narrow every view to a single CSM's portfolio.

Key Concepts

Core ideas that power the platform

  • Health Score (0–100) — A weighted composite of your customer signals. Higher = healthier. Configurable weights and thresholds in Settings.
  • Status Bands — Customers are automatically categorized: Critical, At Risk, Watch, Healthy, or Expansion based on score thresholds.
  • Dynamic Decay — Scores gradually decrease as days since last contact increases — no manual update needed.
  • Lifecycle Stages — Track each customer's journey: Onboarding → Active → At Risk → Won/Upsold or Churned.
  • Tiers — Classify customers as SMB, Mid-Market, or Enterprise for segmented views and cadence thresholds.
  • Scoring Profiles — Create custom weight presets (e.g., heavier adoption weight for Enterprise) assignable per customer.

How Scores Work

Weighted composite of customer signals

Each customer's health score is calculated from up to seven signals. Each signal is converted to a 0–100 scale, then combined into a single weighted score.

SignalWhat It MeasuresHow It's Scored
LoginsMonthly login countMore logins = higher. 30+ logins/month = max score
AdoptionFeature adoption %Direct percentage. 100% = max score
TicketsOpen support ticketsFewer = better. 0 tickets = max, 5+ = zero
NPSNet Promoter Score (0–10)Promoter (9–10) = best, Passive = moderate, Detractor = worst
CSATCustomer satisfaction (1–5)5 = max, 1 = zero. Optionally enabled in Settings
Days Since ContactDays since last touchRecent = higher. Degrades over time, zero at 180 days
GrowthExpansion signalStrong = best, Mild = moderate, None = low

Score Weights

Configurable influence per signal

The final score is a weighted average of all signals. Signals with higher weights have more influence. Default weights (customizable in Weights & Config):

SignalDefault WeightShare
Logins2525%
Adoption2525%
Tickets2020%
NPS1515%
Days Since Contact1010%
Growth55%
CSAT can be enabled alongside or instead of NPS in Weights & Config. When both are active, each gets its own weight.

Status Bands

Automatic categorization by score

StatusDefault RangeMeaning
Critical0 – 24Immediate attention required, high churn risk
At Risk25 – 49Significant health concerns, needs intervention
Watch50 – 64Showing early warning signs, monitor closely
Healthy65 – 79Good engagement, stable account
Expansion80 – 100Strong health, potential upsell opportunity

Thresholds are configurable in Weights & Config. The values shown are defaults.

Dynamic Score Decay

Scores adjust automatically over time

When a customer is scored, the "days since contact" baseline is saved. Each time the app loads, the system adds elapsed days since the last update — accounts that haven't been touched gradually see their score decrease without manual updates.

Renewal dates do not penalize scores. Only the "days since contact" signal decays dynamically.

Scoring Profiles

Custom weight presets per segment

Create custom weight presets for different customer types. For example, Enterprise accounts might weigh Adoption more heavily, while SMB accounts might prioritize NPS. Profiles are assigned per-customer and override the global weights during score calculation.

Manage profiles in Weights & Config → Scoring Profiles.

Scoring a Customer

Step-by-step guide

  1. Navigate to Score Customer in the sidebar.
  2. Enter the customer name, tier (SMB / Mid-Market / Enterprise), MRR, and ARR.
  3. Fill in signal values — logins, adoption %, open tickets, NPS, CSAT, days since contact, and growth indicator.
  4. Optionally set a renewal date, lifecycle stage, manager, tags, and sentiment.
  5. Click Save Score. The system calculates the health score and status automatically.
Bulk Rescore in Weights & Config recalculates every customer's score after you change weights — apply new weights retroactively in one click.

Home Base

Your daily command center and landing page

Home Base is the first screen you see when you log in. It provides a personalized briefing with at-a-glance KPIs and quick-action items.

Welcome Banner

Displays a personalized greeting with the current date, a portfolio health ring showing your average score, and quick stats (Healthy %, At Risk count, Improving, Declining). Briefing cards highlight the most urgent items — renewals, alerts, and overdue contacts — with one-click navigation.

KPI Cards
CardWhat It Shows
Portfolio HealthActive account count with a 5-segment health bar showing status distribution and counts. Click to navigate to Customers filtered by status.
Revenue at RiskCombined MRR from Critical + At Risk accounts. Click to jump to Alerts.
Upcoming RenewalsAccounts renewing within the next month with total MRR. Click to view the renewal pipeline.
Expansion OpportunityExpansion-band accounts with estimated upsell revenue (20% of their MRR).
Total MRRSum of monthly recurring revenue across all active accounts.
Additional Widgets
  • Renewal Pipeline — Three time-horizon buckets (0–30d, 31–60d, 61–90d) showing count, MRR, and at-risk count per bucket.
  • Priority Accounts — Top accounts ranked by urgency (renewal proximity × health risk). Click any row to open the detail modal.
  • Biggest Drops — Accounts with the largest recent score declines. Click to open and take action.
  • Health Heatmap — Visual heatmap of all customers color-coded by score.
  • Tier Cards — SMB, Mid-Market, and Enterprise summary cards with count, MRR, average score, and at-risk count.

Alerts

Accounts that need your attention, auto-surfaced

Alerts are automatically generated from customer signal values. The sidebar badge shows the active count.

Alert Severities
SeverityMeaning
Red / CriticalHealth crisis, high-ticket load, or imminent renewal at risk
Amber / WarningDeclining trends, overdue contact, negative sentiment, momentum drop
Blue / AttentionUpcoming renewals not yet urgent
Green / OpportunityExpansion or upsell opportunity detected
Alert Categories
CategoryTriggers
HealthCritical or At Risk status (red), Watch status (amber)
Tickets3+ open support tickets
EngagementLow logins or adoption below thresholds
RenewalRenewal within 60 days. Escalates: blue → amber → red by proximity
Quiet AccountsNo activity signals detected — gone silent
MomentumScore trending downward over recent updates
SentimentNegative sentiment logged, NPS detractor, or low CSAT
ExpansionHealthy account with MRR over $3K and 30+ days since touch
View Modes
  • Category — Grouped by alert category with collapsible sections
  • Priority — Ranked by severity (Critical → Warning → Attention → Opportunity)
  • Customer — All alerts grouped by account
  • Table — Compact sortable table view
Side Panel Widgets
  • MRR Exposure — Revenue at risk broken down by risk category (Critical/Risk, Watch, Renewal, No Contact, etc.) with horizontal bars. Click any row to filter the Customers table.
  • By Category — Alert count per category with bar chart. Click to filter.
  • Insights — AI-generated actionable patterns: renewals at risk, engagement clusters, cadence gaps, and more.
Actions
  • Snooze — Hide for 1 day, 7 days, or 30 days. Auto-returns when expired.
  • Dismiss — Permanently remove from the active view.
  • Wake — Un-snooze a snoozed alert immediately.
  • Bulk Actions — Select multiple alerts to snooze or dismiss in batch.

Customers

Full account list with advanced filtering and bulk actions

  • Search — Filter by customer name or tag in real time
  • Status Tabs — Quick filter: All, Healthy, Watch, At Risk, Critical, Expansion, Churned
  • Column Filters — Click the filter icon on any column header for per-column filtering (ranges, enums, text search)
  • Sort — Click column headers to sort by name, score, status, MRR, tier, renewal, delta, and more
  • Bulk Actions — Select multiple customers to assign tags, change lifecycle, assign a manager, or delete
  • Inline Edit — Quick-edit signal values without leaving the table
  • Detail Modal — Click any customer name to open the full detail view
Customer Detail Modal

The detail modal contains seven tabbed sections:

TabWhat It Shows
OverviewScore ring, signal breakdown bars, account info (tier, MRR, ARR, renewal, lifecycle, manager, tags), cadence status, and quick action buttons (Edit, QBR Prep, Print, Delete)
AlertsAll active alerts for this customer with snooze/dismiss actions
PlaybookAuto-generated action plans based on signal values. Each play has a priority badge, talking points, and checkable action items with tracked progress
NotesTimestamped notes for interactions, decisions, and context. Reverse chronological order
SentimentLog Positive/Neutral/Negative sentiment with context notes. Negative entries trigger alerts
HistoryScore timeline showing all changes with signal snapshots per entry — compare what changed between updates
ContactsManage customer contacts and stakeholders with roles and contact info
QBR Prep

Generate a complete meeting preparation document with: Executive Summary (auto-generated narrative based on status and signals), Wins & Highlights, Risks & Concerns (severity-tagged), a Suggested Agenda with time estimates, contextual Questions to Ask, and Meeting Context notes. Available as print-ready or copy-to-clipboard.

Segments

Group customers by tag, tier, or lifecycle stage

The Segments page provides portfolio-level analytics. KPI cards at the top show total segments, accounts, MRR, at-risk count, and average health.

Three View Modes
ViewGroups ByDetails
SegmentsCustomer tagsEach tag creates a segment. Untagged customers are grouped separately (can be hidden). Shows count, avg score, MRR, at-risk %, trend, renewals
TiersSMB / Mid-Market / EnterpriseSame metrics per tier. Expand any row to see all accounts in that tier with urgency-sorted drill-down
StageLifecycle stageOnboarding, Active, At Risk, Won/Upsold, Churned. Expand for drill-down. "View in Customers" button filters by stage
Comparison Chart

Below the table, a multi-line trend chart compares segments over time. Use the metric dropdown to switch between Health Score, Logins, Adoption, MRR, and more. Filter pills let you focus on specific segments. Includes an auto-generated trend analysis with momentum, convergence/divergence, and risk insights.

Trends

Portfolio metrics over time with overlays and analysis

Main Chart

A configurable time-series chart showing your portfolio's performance. Controls include:

  • Primary Metric — Health Score, Logins, Adoption %, Tickets, NPS, CSAT, Days Since Contact, MRR, ARR, or Customer Count
  • Secondary Metric — Overlay a second metric on a right-axis for correlation analysis
  • Time Range — 7d, 30d, 90d, 6 months, 1 year, 2 years, or year-to-date
  • CSM Overlay — Overlay a specific manager's portfolio line on top of the portfolio average
  • Client Overlays — Add individual customer lines to compare against the portfolio
Trend Analysis

Auto-generated insights below the chart detect momentum shifts, divergence patterns, and acceleration/deceleration in your metrics.

Top Movers

A sortable table of customers with the biggest score changes in the selected time range. Columns: name, current score, delta, status, MRR, manager, tickets, logins, and adoption. Click any row to open the customer detail.

CSM Performance

Team-level portfolio health and manager leaderboard

  • Manager Leaderboard — Ranked by average portfolio health score with status distribution bars, account count, and total MRR
  • Drill-Down — Expand any manager row to see their individual accounts sorted by urgency, with summary stats
  • Focus Areas — Auto-generated insights highlighting managers with high at-risk percentages, overdue contacts, or declining portfolios

Calendar

Renewals, touch dates, and cadence events on a calendar

A month-view calendar showing all time-sensitive customer events:

  • Renewals — Shown as blue dots on renewal dates. Hover for customer name and MRR.
  • Next Touch Dates — Scheduled follow-ups shown as green dots.
  • Overdue Contacts — Customers past their cadence threshold flagged in red.

Navigate between months with arrow buttons. Click any day with events to see the full list.

Lifecycle & Cadence

Customer journey stages and contact cadence rules

Lifecycle Stages
StageDescription
OnboardingNew customer being set up and trained
ActiveFully onboarded, engaged customer (default)
At RiskCustomer showing signs of disengagement or dissatisfaction
Won / UpsoldRecently renewed or expansion completed
ChurnedCustomer has left. Excluded from dashboards, alerts, and scoring
Cadence Thresholds
TierWarningOverdue
Enterprise14 days30 days
Mid-Market21 days45 days
SMB30 days60 days
Priority Score

Ranks accounts by urgency: Renewal Factor (60%) × proximity + Risk Factor (40%) × inverse health. Levels: Critical (70+), High (45–69), Medium (20–44), Low (<20).

CSV Import

Bulk-load customers from a spreadsheet

Import customers in bulk via drag-and-drop or file picker. The preview step shows a column mapping table — unmatched columns can be manually mapped.

FieldRequiredRecognized Column Names
Customer NameYesname, company, customer, account
ManagerNomanager, csm, owner, rep
MRR / ARRNomrr, arr, revenue, annual recurring revenue
LoginsNologins, logins_30d, login_frequency
AdoptionNoadoption, feature_adoption_pct
TicketsNotickets, open_tickets
NPS / CSATNonps, nps_category, csat
Days Since ContactNodays, days_since_contact
Renewal DateNorenewal_date, renews on
Growth / Tier / TagsNogrowth, tier, tags (pipe-separated)
Lifecycle / SentimentNolifecycle, stage, sentiment
Duplicate handling: If a customer with the same name already exists, the import updates their data rather than creating a duplicate.

CSV Export / Bulksheet

Export enriched data for analysis

Export your full customer dataset as a CSV with 20+ columns including calculated fields (priority score, cadence status, days until renewal). Ideal for pivot tables, Excel, or BI tools. The Bulksheet export from the Customers page includes all editable fields for round-trip editing.

Reports

10 pre-built reports with PDF and CSV output

ReportDescriptionTier
Portfolio SummaryOverall book health with KPIs, status distribution, tier breakdownStarter
At-Risk AccountsCustomers scoring below 50, sorted by urgencyStarter
Renewal ForecastUpcoming renewals grouped by month with risk flagsStarter
CSM PerformanceManager portfolio comparison with scoresGrowth
Segment AnalysisHealth breakdown by tier and lifecycle stageGrowth
Trend (90 Days)Score trend lines and movement analysisGrowth
Churn RiskChurn probability with contributing factorsGrowth
Customer HealthIndividual customer deep-diveEnterprise
Score HistoryHistorical score changes with timelineEnterprise
Weekly DigestAuto-generated weekly health summaryEnterprise

Each report can be printed as a branded PDF with SVG charts, color-coded tables, and professional headers/footers. Use Ctrl+P / Cmd+P to save as PDF.

Backup & Restore

Full dataset export and import as JSON

  • Export / Backup — Downloads a JSON file with all customers, scores, weights, thresholds, and profiles. Timestamped filename.
  • Restore — Upload a previously exported JSON backup. Replaces all current data after confirmation.
Always create a backup before making major configuration changes or when migrating between accounts.

Audit Log

Full history of every action in the app

Records every significant action: customer scored, settings changed, alerts snoozed, CSV imports, and more. Each entry captures the action type, associated customer, user email, timestamp, and details summary.

The Config History tab shows a timeline of settings changes (weights, thresholds, profiles) for compliance and troubleshooting.

Alert Rules

Automated notifications when conditions are met

Configure automated notifications delivered to Slack, Microsoft Teams, Email, or custom Webhook endpoints.

Delivery Channels
  • Slack — Posts rich cards to a Slack channel via incoming webhook URL
  • Microsoft Teams — Posts adaptive cards to a Teams channel via webhook URL
  • Email — Sends formatted email notifications
  • Webhook — Sends JSON payloads to any custom endpoint for CRM/ticketing integration

Alert Event Types

Seven configurable triggers

EventTriggers WhenConfig
Health Below ThresholdScore drops below configured valueScore threshold (default: 50)
Account At-RiskStatus transitions to At Risk or Critical
Renewal ApproachingRenewal date within configured daysDays (default: 30)
No Contact AlertDays since contact exceeds maximumMax days (default: 14)
NPS DetractorNPS changes to Detractor
Lifecycle ChangeLifecycle transitions to At Risk or Churned
Rapid Score DropScore drops by more than configured pointsPoints (default: 15)

Each event type can be individually enabled or disabled. Events are evaluated whenever a customer is scored or updated.

Scheduling & Scope

When and for whom alerts fire

Delivery Schedule
  • Real-time — Fires immediately when the condition is detected
  • Daily — Batches alerts into a daily summary
  • Weekly — Batches alerts into a weekly summary
Manager Scope

Filter automated alerts to a specific manager's portfolio. When set, alerts only fire for customers assigned to that manager — useful for routing notifications to the right CSM's Slack channel or email inbox.

REST API

Push and pull customer data via API — connect Zapier, CRMs, or any HTTP client

Authentication

All API requests require an x-api-key header. Generate your API key in Settings → Automations → Advanced.

Base URL

https://qctiyigznbztxcowehnl.supabase.co/functions/v1/api-inbound

Available Actions
ActionMethodPurpose
list_customersGET / POSTPaginated customer list with filters — ideal for Zapier polling triggers
get_customerGET / POSTGet a single customer by ID or name
upsert_accountPOSTCreate or update a customer — auto-rescores when signal fields change
update_healthPOSTUpdate a single field — auto-rescores when signal fields change
delete_customerPOSTSoft-delete a customer (recoverable)
score_customerPOSTForce a full re-score using your saved weights
Customer Fields
FieldTypeDescription
nameStringAccount name (required for create, used for lookup)
loginsNumber (0+)Login count this month — signal, triggers rescore
adoptionNumber (0–100)Feature adoption percentage — signal, triggers rescore
ticketsNumber (0+)Open support tickets — signal, triggers rescore
npsNumber (0–10)Net Promoter Score — signal, triggers rescore
csatNumber (1–5)Customer Satisfaction score — signal, triggers rescore
daysNumber (0+)Days since last contact — signal, triggers rescore
growthStringnone, mild, or strongsignal, triggers rescore
mrrNumber (0+)Monthly recurring revenue
arrNumber (0+)Annual recurring revenue
tierStringCustomer tier: enterprise, mid, or smb
lifecycleStringonboarding, active, atrisk, won, churned
managerStringAssigned CSM name
tagsArray / CSVTags array or comma-separated string
renewal_dateDateContract renewal date (YYYY-MM-DD)
next_touchDateNext scheduled contact date (YYYY-MM-DD)
sinceDateCustomer since date (YYYY-MM-DD)
scoreNumber (0–100)Health score — set manually to override auto-scoring
POST Examples

Create / Update a customer:

POST /functions/v1/api-inbound
Header: x-api-key: YOUR_KEY
Header: Content-Type: application/json

{
  "action": "upsert_account",
  "data": {
    "name": "Acme Corp",
    "mrr": 5000,
    "logins": 22,
    "adoption": 75,
    "tickets": 1,
    "tier": "mid",
    "manager": "Sarah"
  }
}

Update a single field:

POST /functions/v1/api-inbound
{
  "action": "update_health",
  "data": {
    "name": "Acme Corp",
    "field": "logins",
    "value": 28
  }
}
GET Examples (Zapier Polling)

List recently changed customers:

GET /functions/v1/api-inbound?action=list_customers&updated_since=2026-03-01T00:00:00Z&sort=updated_at&order=desc&limit=50

Get a single customer:

GET /functions/v1/api-inbound?action=get_customer&name=Acme%20Corp
List Filters
ParameterExampleDescription
statuscriticalFilter by status band
lifecycleactiveFilter by lifecycle stage
tierenterpriseFilter by customer tier
managerSarahFilter by assigned CSM
tagvipFilter by tag
updated_since2026-03-01T00:00:00ZOnly customers changed after this date
sortupdated_atSort field (also: name, score, mrr, arr, created_at)
orderdescSort direction: asc or desc
limit100Results per page (max 500)
offset0Pagination offset
Auto-Scoring

When you push signal fields (logins, adoption, tickets, nps, csat, days, growth) via upsert_account or update_health, the customer's health score is automatically recalculated using your saved scoring weights. The response includes the new score and status. Lifecycle auto-transitions (e.g. risk → at-risk) also fire automatically.

To override auto-scoring, pass an explicit score value — this sets the score directly without recalculating.

Zapier Setup
  1. Actions (push data in): Use "Webhooks by Zapier" → Custom Request. Set the URL, add x-api-key header, POST your JSON body.
  2. Triggers (poll for changes): Use "Webhooks by Zapier" → Retrieve Poll. Set the GET URL with ?action=list_customers&updated_since={{last_poll}}. Zapier auto-deduplicates by customer id.
All API requests are logged in Settings → Automations → API Log for auditing and debugging.