Alerts
Accounts that need your attention
All clear!
No alerts right now — all accounts are in good shape.
Customers
—
No customers yet
Score your first customer manually or bulk-import via CSV.
Segments
Customers grouped by tag
Trends
Portfolio health over time
CSM Performance
Portfolio metrics for each Customer Success 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.
Score Preview
Fill in the form and click Calculate to see results here.
Import / Export
Bulk-import customers or export filtered data.
Import from CRM
Pull historical signal snapshots from a connected integration. Only connected platforms are available.
Or upload any CSV — you can remap columns after upload.
date, name, manager, mrr, arr, logins_30d, feature_adoption_pct, open_tickets, nps, csat, days_since_contact, renewal_date, months_to_renewal, growth_signal, tier, tags, lifecycle, customer_since, next_touch, last_contact_date, 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 Model ⓘ
Proprietary scoring layer that analyzes engagement depth, silent churn patterns, renewal gravity, sentiment trajectory, and 22 more factors to refine health scores beyond simple weighted averages.
Factor Categories
Signal Weights ⓘ
Adjust how much each signal contributes to the health score. Weights must total 100%.
Score Distribution ⓘ
Current spread of accounts across health bands.
Scoring Profiles ⓘ
Click a profile to load its weights into the editor.
Score Thresholds ⓘ
Define what score ranges map to each health band.
Signal Thresholds ⓘ
Adjust detection sensitivity for account signals.
Contact Cadence ⓘ
Days since last contact before follow-up is flagged.
| Tier | Due Soon | Overdue |
|---|---|---|
| Enterprise | ||
| Mid-Market | ||
| SMB |
Renewal Windows ⓘ
Days before renewal to trigger each alert level.
Expansion Estimate ⓘ
How to estimate upsell potential for expansion-ready accounts.
Data Health ⓘ
Quick Actions ⓘ
Manage your scoring configuration.
Manage CSMs ⓘ
CSMs currently assigned to customers.
Account
Signed in as —
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
User Management
Create, view, and remove users of this app.
All Users
🏢 Clients
Manage your client businesses. Assign users to clients.
All Clients
Audit Log
Track all changes made to customers, settings, and data.
Config History ⓘ
Automations
Configure alerts and custom rules to stay on top of customer changes.
Active Alerts
Custom Rules
New Custom Rule
Create Alert
Add Client
Edit Client
Create New User
Edit User
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
- Add customers — Use the Score Customer form or CSV Import to load your customer data.
- Score them — Enter signal values (Logins, Adoption, Tickets, NPS, CSAT, Days Since Contact, Growth) and the system calculates a weighted health score automatically.
- Monitor your portfolio — Home Base shows KPI cards, briefing items, and a portfolio health ring. The Alerts page surfaces accounts that need attention.
- Analyze & segment — Use Segments (by tag, tier, or lifecycle stage), Trends (metric charts over time), and CSM Performance to find patterns.
- 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
| Section | Pages |
|---|---|
| Monitor | Home Base, Alerts, Customers, Segments, Trends, CSM Performance, Calendar |
| Automate | Alert Rules, Reports |
| Data | Score Customer, Import / Export |
| Settings | Weights & Config, Audit Log |
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 six slider-based signals plus a growth dropdown. Each signal is converted to a 0–100 scale, then combined into a single weighted score.
| Signal | What It Measures | How It's Scored |
|---|---|---|
| Logins | Monthly login count | More logins = higher. 30+ logins/month = max score |
| Adoption | Feature adoption % | Direct percentage. 100% = max score |
| Tickets | Open support tickets | Fewer = better. 0 tickets = max, 5+ = zero |
| NPS | Net Promoter Score (0–10) | Promoter (9–10) = best, Passive = moderate, Detractor = worst |
| CSAT | Customer satisfaction (1–5) | 5 = max, 1 = zero. Optionally enabled in Settings |
| Days Since Contact | Days since last touch | Recent = higher. Degrades over time, zero at 180 days |
| Growth | Expansion signal | Dropdown: Strong = best, Mild = moderate, None = low, N/A = excluded from scoring |
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):
| Signal | Default Weight | Share |
|---|---|---|
| Logins | 25 | 25% |
| Adoption | 25 | 25% |
| Tickets | 20 | 20% |
| NPS | 15 | 15% |
| Days Since Contact | 10 | 10% |
| Growth | 5 | 5% |
Status Bands
Automatic categorization by score
| Status | Default Range | Meaning |
|---|---|---|
| Critical | 0 – 24 | Immediate attention required, high churn risk |
| At Risk | 25 – 49 | Significant health concerns, needs intervention |
| Watch | 50 – 64 | Showing early warning signs, monitor closely |
| Healthy | 65 – 79 | Good engagement, stable account |
| Expansion | 80 – 100 | Strong 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.
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
The Score a Customer form uses a compact 2-column layout for efficient data entry.
- Navigate to Score a Customer in the sidebar.
- Enter the customer name (duplicate names are detected and prevented).
- Set tier (SMB / Mid-Market / Enterprise) and enter MRR or ARR — the other auto-calculates bidirectionally (MRR × 12 = ARR).
- Use the signal sliders for Logins, Adoption %, Tickets, NPS, CSAT, and Days Since Contact. Select a Growth level from the dropdown (Strong / Mild / None / N/A).
- Optionally set a renewal date, lifecycle stage, manager, tags, and sentiment.
- Click Save Score. The system calculates the health score and status automatically.
Home Base
Your daily command center and landing page
What it is: The first screen you see after login — a personalized briefing with at-a-glance KPIs and quick-action items.
Why it exists: Gives you an immediate read on portfolio health without clicking through multiple pages. Surfaces the most urgent items so you know exactly where to focus each day.
When no customers exist, a guided onboarding banner appears with three paths: Integration-first (connect Salesforce/HubSpot/Stripe), Manual + Integration (score a few customers then connect), or CSV-only (bulk import from spreadsheet). After onboarding, the banner collapses but remains accessible.
Displays a greeting with a portfolio health ring (donut chart of status distribution), quick stats (Healthy %, At Risk count, Improving, Declining), and clickable action items that link directly to accounts needing attention.
| Card | What It Shows |
|---|---|
| Portfolio Health | Average health score across all active customers with trend arrow |
| Revenue at Risk | Total MRR from customers in Critical or At Risk status |
| Upcoming Renewals | Count and MRR of renewals in the next 30 days |
| Expansion Opportunity | MRR from customers in Expansion status (score 80+) |
| Total MRR | Sum of all active customer MRR |
- Renewal Pipeline — Groups upcoming renewals into 0–30 day, 31–60 day, and 61–90 day buckets with MRR totals and risk flags
- Priority Accounts — Customers ranked by urgency (low score + high MRR + upcoming renewal)
- Biggest Drops — Customers with the largest score decreases in the recent period
- Health Heatmap — Visual grid showing score distribution across your portfolio
Auto-generated to-do list based on overdue contacts, upcoming renewals, at-risk accounts, and recent score drops. Click any item to jump directly to that customer.
Customers
Full account list with advanced filtering, bulk actions, and detail modals
What it is: A sortable, filterable master table of every customer account in your portfolio.
Why it exists: Provides a single place to view, search, filter, and take action on any customer. Combines list management with deep-dive detail modals so you never lose context.
- Search — Type in the search bar at the top to find customers by name instantly.
- Filter by status — Click the status tabs (All, Healthy, Watch, At Risk, Critical, Expansion, Churned, Trash) to narrow the view.
- Column filters — Click the funnel icon on any column header to filter by specific values or ranges.
- Sort — Click any column header to sort ascending/descending.
- Select rows — Click a row to select it; hold Shift and click another row to multi-select a range.
- Bulk actions — With rows selected, use the bulk action bar to re-score, assign tags, change lifecycle, or delete.
- Open details — Click any customer name to open the detail modal.
- Frozen Name Column — The customer name column stays visible as you scroll horizontally through other columns
- Export Options — CSV data export (all columns) or Bulksheet export (editable fields for round-trip editing)
| Tab | Contents |
|---|---|
| Overview | Health score ring, status badge, signal breakdown, MRR/ARR, lifecycle, manager, tags, renewal date, contact info |
| Alerts | Active alerts for this customer with severity, category, and snooze/dismiss actions |
| Playbook | Recommended actions based on the customer's current status and signals — step-by-step guidance |
| Notes | Free-text notes with timestamps; add, edit, or delete notes for internal team communication |
| Sentiment | Sentiment tracking over time with visual timeline and current sentiment indicator |
| History | Score history chart showing how the customer's health has changed over time with each scoring event |
| Contacts | Contact people associated with the account — name, role, email, phone |
Click the QBR Prep button in the detail modal action bar to generate a quarterly business review document with health summary, signal trends, key events, and recommended talking points.
Alerts
Accounts that need attention, auto-surfaced by customer signals
What it is: An automatically generated feed of notifications about accounts that need attention, organized by severity and category.
Why it exists: Instead of manually reviewing every customer, alerts proactively surface the accounts that need your attention based on signal changes, thresholds, and patterns.
Alerts fire automatically when customer signals cross configured thresholds — for example, when a health score drops below 50, a renewal is approaching, or an NPS response is a Detractor. The sidebar badge shows the active alert count.
| Severity | Color | Meaning |
|---|---|---|
| Critical | Red | Immediate action required — high churn risk or major signal failure |
| Warning | Amber | Significant concern that needs timely intervention |
| Attention | Blue | Notable change worth reviewing but not urgent |
| Opportunity | Green | Positive signal — potential expansion or upsell |
| Category | What Triggers It |
|---|---|
| Health | Score drops below threshold or status changes to At Risk / Critical |
| Tickets | Open ticket count exceeds configured maximum |
| Engagement | Login frequency or adoption rate drops significantly |
| Renewal | Renewal date approaching within configured window (e.g., 30 days) |
| Quiet Accounts | No contact or activity for an extended period beyond cadence threshold |
| Momentum | Rapid score drop (e.g., 15+ points) indicating sudden deterioration |
| Sentiment | NPS Detractor response or negative CSAT feedback |
| Expansion | High health score with strong growth signal — upsell opportunity |
- Category view — Alerts grouped by category (Health, Tickets, etc.) with expandable sections
- Priority view — All alerts sorted by severity, highest first
- Customer view — Alerts grouped by customer account
- Table view — Flat sortable/filterable table of all alerts
- MRR Exposure — Total MRR at risk broken down by severity level
- By Category — Bar chart showing alert count per category
- Insights — AI-generated summary of alert patterns and recommended priorities
- Snooze — Temporarily hide an alert for 1 day, 7 days, or 30 days
- Dismiss — Permanently close an alert
- Wake — Reactivate a snoozed alert immediately
- Bulk actions — Select multiple alerts and snooze or dismiss them all at once
Segments
Group customers by tag, tier, or lifecycle stage for portfolio-level analytics
What it is: Portfolio-level analytics that let you compare groups of customers across key metrics.
Why it exists: Understanding how different customer segments perform helps you allocate resources, identify at-risk groups, and spot patterns that individual customer views miss.
- Review KPI cards at the top — total segments, total accounts, total MRR, at-risk count, and average health score.
- Switch view modes using the tabs to see data grouped by tags, tiers, or lifecycle stages.
- Expand any segment by clicking on it to drill down into the individual accounts within that group.
- Use the Comparison Chart to visualize trends across segments over time. Select a metric from the dropdown and the chart auto-generates analysis text.
- Segments by Tags — Groups customers by their assigned tags, showing count, average score, total MRR, at-risk percentage, and trend direction for each tag
- Tiers — Groups by SMB / Mid-Market / Enterprise with expandable drill-down into individual accounts
- Lifecycle Stages — Groups by stage: Onboarding, Active, At Risk, Won/Upsold, Churned — with the same metrics per stage
- Expandable Drill-Down — Click any segment row to expand and see every customer in that group, sorted by health score
A multi-line trend chart comparing segments over time. Use the metric dropdown to switch between Health Score, MRR, Account Count, At-Risk %, and more. The system auto-generates a written analysis below the chart highlighting divergences, trends, and outlier segments.
Trends
Portfolio metrics over time with overlays and automated analysis
What it is: A configurable time-series chart for tracking how portfolio metrics change over days, weeks, and months.
Why it exists: Point-in-time snapshots miss the trajectory. Trends reveal whether your portfolio is improving or declining, and overlays let you compare CSM performance or individual client trajectories against the portfolio baseline.
- Select a primary metric from the dropdown — Health Score, Logins, Adoption %, Tickets, NPS, CSAT, MRR, ARR, and more.
- Optionally add a secondary metric to plot on a second axis for correlation analysis.
- Choose a time range — 7d, 30d, 90d, 6mo, 1yr, 2yr, or year-to-date.
- Add overlays — Select a CSM to overlay their portfolio trend line, or add individual client lines for comparison.
- Read the trend analysis — Auto-generated text below the chart describes momentum, divergence, and acceleration patterns.
- Review Top Movers — A sortable table below shows customers with the biggest score changes in the selected period.
- Primary & Secondary Metrics — Dual-axis chart lets you correlate two metrics (e.g., Health Score vs MRR)
- CSM Overlay — Compare a specific manager's portfolio performance against the overall average
- Client Overlays — Add individual customer trend lines to see how specific accounts track against the portfolio
- Trend Analysis Text — Auto-generated insights covering momentum (improving/declining), divergence (which segments are separating), and acceleration (rate of change)
- Top Movers Table — Sortable list of customers with the largest positive or negative score changes, with delta values and current status
CSM Performance
Team-level portfolio health comparison and manager leaderboard
What it is: A leaderboard and analytics view that compares CSM portfolios side-by-side.
Why it exists: Helps CS leaders identify which managers need support, which portfolios are thriving, and where coaching or resource reallocation can improve outcomes.
- Review the leaderboard — Managers are ranked by average health score. Each row shows status distribution bars, total account count, and portfolio MRR.
- Drill down — Click any manager row to expand and see their individual accounts sorted by urgency (lowest health first).
- Read Focus Areas — Auto-generated insight cards highlight specific issues such as high at-risk percentage, overdue contacts, or declining portfolio trends.
- Manager Leaderboard — Ranked by average health score with color-coded status distribution bars (Critical, At Risk, Watch, Healthy, Expansion), account count, and total MRR per manager
- Drill-Down — Expand any manager to see their individual customer accounts sorted by urgency, with score, status, MRR, and days since contact
- Focus Areas — Auto-generated actionable insights: identifies managers with unusually high at-risk percentages, customers with overdue contacts, and portfolios showing sustained decline
Reports
10 pre-built reports with PDF, CSV, and email delivery
What it is: A library of 10 professional report templates covering every aspect of your customer success program.
Why it exists: Saves hours of manual reporting by auto-generating branded, data-rich documents you can share with leadership, stakeholders, or your CS team on a recurring schedule.
| Report | Description |
|---|---|
| Portfolio Summary | Overall book health with KPIs, status distribution, and tier breakdown |
| At-Risk Accounts | Customers scoring below 50, sorted by urgency with contributing factors |
| Renewal Forecast | Upcoming renewals grouped by month with risk flags and MRR totals |
| CSM Performance | Manager portfolio comparison with average scores, account counts, and status distribution |
| Segment Analysis | Health breakdown by lifecycle stage with metrics per segment |
| Trend (90 Days) | Score trend lines and movement analysis over the past quarter |
| Churn Risk | Churn probability analysis with contributing factors and recommended actions |
| Customer Health | Individual customer deep-dive with full signal history and event timeline |
| Score History | Historical score changes across the portfolio with trend visualization |
| Weekly Digest | Auto-generated weekly health summary covering key changes, alerts, and action items |
- PDF — Use Ctrl+P (Cmd+P on Mac) to print as a branded PDF with SVG charts, color-coded tables, and professional headers/footers
- CSV Export — Download report data as a spreadsheet for further analysis
- Email Delivery — Click the Email button to send a report now, send a test, or schedule recurring delivery (daily, weekly, or monthly)
Calendar
Renewals, touch dates, and cadence events on a monthly view
What it is: A month-view calendar showing all time-sensitive customer events at a glance.
Why it exists: Prevents missed renewals and overdue contacts by putting every important date on a single visual timeline. Helps you plan your week and prioritize outreach.
- Navigate months — Use the left/right arrows to move between months.
- Read the dots — Blue dots indicate renewal dates, green dots indicate scheduled next-touch dates, and red flags mark overdue contacts.
- Click a day — Click any day cell to see a list of all events on that date, including customer name, event type, and MRR.
- Hover for details — Hover over any dot to see the customer name and relevant details without clicking.
- Renewal Dates (blue dots) — Contract renewal dates; hover shows customer name and MRR amount
- Next Touch Dates (green dots) — Scheduled follow-up contacts based on cadence settings or manual scheduling
- Overdue Contacts (red flags) — Customers who have passed their cadence threshold without contact — these need immediate attention
Score a Customer
Manually add or update a customer with signal values and see the score live
What it is: A compact two-column form for entering customer data and calculating health scores in real time.
Why it exists: Lets you quickly add new customers or update existing ones without importing a file. The live score ring shows you exactly how each signal change affects the health score before you save.
- Enter the customer name — Duplicate names are detected and prevented. If a match is found, you can update the existing record instead.
- Set MRR or ARR — Enter either value and the other auto-calculates bidirectionally (MRR x 12 = ARR).
- Adjust the 6 signal sliders:
- Logins — 0 to 100 (monthly login count)
- Adoption — 0 to 100% (feature adoption percentage)
- Tickets — 0 to 10 (open support tickets)
- NPS — 0 to 10 (Net Promoter Score)
- CSAT — 1 to 5 (Customer Satisfaction)
- Days Since Contact — 0 to 90 (with N/A checkbox to exclude from scoring)
- Select Growth — Dropdown with Strong, Mild, None, or N/A (excluded from scoring when N/A).
- Set optional fields — Tier, renewal date, billing interval, lifecycle stage, manager, tags, and next scheduled touch date.
- Watch the score ring — The health score ring updates live as you adjust signals, showing the calculated result before saving.
- Click Save Score — The system saves the customer, calculates the final health score, assigns a status band, and logs the event.
CSV Import
Bulk-load customers from a spreadsheet file
What it is: A drag-and-drop (or file picker) interface for importing customers in bulk from CSV files.
Why it exists: Lets you onboard dozens or hundreds of customers at once instead of entering them one by one. Column mapping and preview ensure data lands in the right fields.
- Upload your file — Drag a CSV onto the drop zone or click to open a file picker.
- Review the column mapping preview — The system auto-matches your column headers to recognized field names. Unmatched columns can be manually mapped.
- Confirm and import — Click Import to load all rows. Existing customers (matched by name) are updated rather than duplicated.
| Field | Required | Recognized Names |
|---|---|---|
| Date (for history) | No | date, snapshot_date, history date |
| Customer Name | Yes | name, company, customer, account |
| Manager | No | manager, csm, owner, rep |
| MRR / ARR | No | mrr, arr, revenue, annual recurring revenue |
| Logins | No | logins, logins_30d, login_frequency |
| Adoption | No | adoption, feature_adoption_pct |
| Tickets | No | tickets, open_tickets |
| NPS / CSAT | No | nps, nps_category, csat |
| Days Since Contact | No | days, days_since_contact |
| Renewal Date | No | renewal_date, renews on |
| Growth / Tier / Tags | No | growth, tier, tags (pipe-separated) |
| Lifecycle / Sentiment | No | lifecycle, stage, sentiment |
The CSV includes a date column — put a date in it to import that row as a historical snapshot on the customer's Trends chart. Leave it blank to update the customer's current signals as usual. This is ideal for backfilling data from internal systems, exported data, or other platforms.
Note: If a snapshot already exists for the same date, it will be overwritten if the new data has more signal fields filled. Historical rows for customers that don't exist in iQcadence are skipped.
If a customer with the same name already exists, the import updates their data rather than creating a duplicate record.
Also available on this page: pull historical signal snapshots from Salesforce, HubSpot, or Stripe to backfill score history for trend analysis.
Automations
Alert rules, custom rules, REST API, and notification channels
What it is: A three-tab automation hub for configuring alert rules, building custom condition-based rules, and connecting via REST API.
Why it exists: Automates the detection-to-notification pipeline so your team gets alerted in Slack, Teams, or email without anyone manually checking dashboards.
- Click "+ Create Alert" to open the 3-step wizard.
- Step 1 — Alerts & Scope: Select alert types and configure thresholds. Choose manager scope (all or specific managers).
- Step 2 — Channels & Schedule: Pick delivery channels from saved connections and set timing (Real-time, Daily, or Weekly).
- Step 3 — Review & Save: Confirm and save. The rule appears in the Active Alerts table.
Manage rules from the table: sort by column headers, filter with the funnel icon, edit, toggle on/off, or delete. Saved Connections are reusable channel configs (Slack webhook, Teams webhook, email) that can be assigned to multiple rules.
Build advanced multi-condition rules with AND/OR logic. Each condition specifies a field, operator, and value. Multiple conditions within a group are joined by AND; add multiple groups joined by OR. Assign notification channels and the rule evaluates on every customer update.
Full REST API documentation with authentication setup, base URL, available actions (list, get, upsert, update, delete, score), customer field reference, and POST/GET examples. Zapier-compatible with polling trigger support.
Settings
Configure scoring, team, integrations, and account preferences
What it is: The central configuration hub for the entire platform, organized into three tabs.
Why it exists: Gives you full control over how scores are calculated, who is on your team, which integrations are active, and how the system behaves.
- Signal Weights — Sliders for each signal that must total 100%. Adjust to emphasize the signals most important to your business
- Score Thresholds — Set the score boundaries for Critical, At Risk, Watch, Healthy, and Expansion status bands
- Scoring Profiles — Create named weight presets for different customer groups, assignable per customer
- Contact Cadence — Define how frequently each customer segment should be contacted (drives overdue alerts)
- Renewal Windows — Configure how far in advance renewal alerts should fire
- Data Health Dashboard — Shows completeness and freshness of your customer data across all fields
- Quick Actions — One-click buttons for recalculating all scores, creating a backup, or restoring from backup
- Manage CSMs — Add, edit, or remove customer success managers who appear in the Manager dropdown
- Password — Change your account password
- Integration Cards — Stripe, HubSpot, and Salesforce each have a card with connect/disconnect, sync status, and configuration
- Sync Toggles — Control which metrics each integration owns (only one integration per metric)
- Field Mapping — Map external fields to iQcadence customer fields
- Pull History Button — One-click historical data backfill from the CRM with configurable lookback periods
- API & Webhooks — Sub-tab for API key management, webhook configuration, and developer documentation
Audit Log
Full history of every action and configuration change
What it is: A timestamped record of all significant actions taken in the platform.
Why it exists: Provides accountability and traceability for compliance, troubleshooting, and understanding who changed what and when.
- Scoring events — Every time a customer is scored or re-scored, with before/after values
- Settings changes — Weight adjustments, threshold changes, profile creation/modification
- CSV imports — Import events with row counts and any errors encountered
- API calls — Inbound API requests with action type and affected customer
- Alert actions — Snooze, dismiss, and wake events with the alert details
- Action Log — Chronological feed of all events with action type, associated customer, user email, timestamp, and details summary
- Config History Timeline — Dedicated view showing a timeline of weights, thresholds, and profile changes for easy before/after comparison
Help & Guide
This page — searchable documentation for every feature
What it is: A searchable in-app reference covering the entire platform, organized into five tabs.
Why it exists: Provides instant answers without leaving the app. The search bar filters across all tabs so you can find any topic quickly.
- Getting Started — Quick start steps, sidebar navigation overview, key concepts
- Pages — One detailed card per sidebar page with purpose, walkthrough, and key features
- Scoring — Signal definitions, weights, status bands, decay, and profiles
- Data & Reports — CSV import/export, CRM import, reports, backup/restore, audit log
- Automation — Alert rules, custom rules, scheduling, integrations, and REST API
Several pages include guided interactive tours accessible from the page header. These tours walk you through the page's key features step-by-step with highlighted elements and explanatory tooltips.
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.
| Field | Required | Recognized Column Names |
|---|---|---|
| Customer Name | Yes | name, company, customer, account |
| Manager | No | manager, csm, owner, rep |
| MRR / ARR | No | mrr, arr, revenue, annual recurring revenue |
| Logins | No | logins, logins_30d, login_frequency |
| Adoption | No | adoption, feature_adoption_pct |
| Tickets | No | tickets, open_tickets |
| NPS / CSAT | No | nps, nps_category, csat |
| Days Since Contact | No | days, days_since_contact |
| Renewal Date | No | renewal_date, renews on |
| Growth / Tier / Tags | No | growth, tier, tags (pipe-separated) |
| Lifecycle / Sentiment | No | lifecycle, stage, sentiment |
Import from CRM
Pull historical signal snapshots from connected integrations
Import historical customer data from Salesforce, HubSpot, or Stripe to backfill signal history. This creates score history entries so you can see trends from before you started using iQcadence.
Choose how far back to pull data: 30 days, 90 days, 6 months, or 1 year. The system creates periodic signal snapshots across the selected range.
- Settings → Integrations — Each integration card has an "Import from CRM" option
- CSV Import page — The Import from CRM section is also available alongside standard CSV import
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
| Report | Description |
|---|---|
| Portfolio Summary | Overall book health with KPIs, status distribution, and tier breakdown |
| At-Risk Accounts | Customers scoring below 50, sorted by urgency |
| Renewal Forecast | Upcoming renewals grouped by month with risk flags |
| CSM Performance | Manager portfolio comparison with scores |
| Segment Analysis | Health breakdown by tier and lifecycle stage |
| Trend (90 Days) | Score trend lines and movement analysis |
| Churn Risk | Churn probability with contributing factors |
| Customer Health | Individual customer deep-dive |
| Score History | Historical score changes with timeline |
| Weekly Digest | Auto-generated weekly health summary |
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. Reports can also be emailed directly — click the Email button to send now, send a test, or schedule recurring delivery.
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.
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
Independent alert rules with automated delivery
Each alert rule is an independent entity. Creating a new rule never affects existing rules. A single rule can include multiple alert types — they appear as one row in the Active Alerts table.
- Click "+ Create Alert" to open the 3-step wizard.
- Step 1 — Alerts & Scope: Select one or more alert types (e.g., Health Below Threshold + Renewal Approaching), configure thresholds, and choose manager scope (All or specific managers).
- Step 2 — Channels & Schedule: Pick delivery channels (Slack, Teams, Email) from your saved connections, and set timing (Real-time, Daily, or Weekly).
- Step 3 — Review & Save: Review your selections and save. The rule appears as a single row in the table.
- Sort — Click any column header to sort the table (Alerts, Conditions, Sent To, Timing, Scope, Created By)
- Filter — Click the funnel icon on column headers to filter by text or dropdown values
- Edit — Click the edit button to reopen the wizard with that rule's settings prefilled
- Toggle — Enable/disable a rule without deleting it
- Delete — Permanently remove a rule (does not affect other rules)
Connections are reusable channel configurations (e.g., a Slack webhook URL named "CS-Alerts Channel"). Create them once, then assign to multiple rules. Supports Slack webhooks, Microsoft Teams webhooks, and email recipients.
Alert Event Types
Seven configurable triggers
| Event | Triggers When | Config |
|---|---|---|
| Health Below Threshold | Score drops below configured value | Score threshold (default: 50) |
| Account At-Risk | Status transitions to At Risk or Critical | — |
| Renewal Approaching | Renewal date within configured days | Days (default: 30) |
| No Contact Alert | Days since contact exceeds maximum | Max days (default: 14) |
| NPS Detractor | NPS changes to Detractor | — |
| Lifecycle Change | Lifecycle transitions to At Risk or Churned | — |
| Rapid Score Drop | Score drops by more than configured points | Points (default: 15) |
Each event type can be individually enabled or disabled per rule. Events are evaluated whenever a customer is scored or updated.
Custom Rules
Multi-condition rules with AND/OR logic
Build advanced automation rules using multiple conditions. For example: "Health Score < 40 AND Lifecycle = Active AND Renewal within 60 days".
- Name your rule — Give it a descriptive name (e.g., "High-Value Risk Alert").
- Add conditions — Pick a field, operator, and value. Multiple conditions within a group are joined by AND. Add multiple groups joined by OR.
- Set channels — Choose which saved connections (Slack, Teams, Email) to notify.
- Save — The rule appears in the Custom Rules table.
Health Score, Status, Tier, Lifecycle, Logins, Adoption %, Tickets, NPS, CSAT, MRR, Days Since Contact, Growth, Momentum, Cadence Status, Renewal Within (days), Tags, and Manager.
The custom rules table supports the same sort and filter capabilities as alert rules — click column headers to sort, use the funnel icon to filter. Enable/disable, edit, or delete rules from the table.
Scheduling & Scope
When and for whom alerts fire
- Real-time — Fires immediately when the condition is detected
- Daily — Batches alerts into a daily summary at a configurable time
- Weekly — Batches alerts into a weekly summary on a configurable day and time
Each alert rule can be scoped to all managers or specific managers. When scoped, alerts only fire for customers assigned to those managers — useful for routing notifications to the right CSM's Slack channel or email inbox.
Integration Sync
How Stripe, HubSpot, and Salesforce sync your data
Each integration pulls data from the external platform and maps it to customer fields in iQcadence. You control which metrics each integration owns via the Sync Overview toggles. Only one integration can own each metric at a time.
When an integration creates a new account and no tier data is available, default tiers differ: HubSpot defaults to SMB, Salesforce defaults to Mid-Market, and Stripe detects tier from product/plan names. You can always override the tier manually or via CSV import.
HubSpot and Salesforce assume deal/opportunity amounts are annual by default and divide by 12 to calculate MRR. If your deals are already in monthly amounts, change the "Deal amounts are" setting on each integration card to "Already Monthly".
HubSpot can sync NPS and CSAT scores from Service Hub feedback surveys. NPS scores (0-10) are mapped to Promoter/Passive/Detractor. CSAT scores (1-5) are mapped to Positive/Neutral/Negative. Requires Service Hub with the feedback submissions scope enabled.
HubSpot and Salesforce can create new customer accounts during sync. Toggle "Create new accounts" off if you only want to update existing accounts. Stripe is update-only and never creates new accounts.
Each integration card includes a Pull History button for one-click historical data backfill. This imports past signal snapshots from the CRM with configurable lookback periods (30d, 90d, 6 months, 1 year), creating score history entries for trend analysis. Also accessible from the CSV Import page under "Import from CRM".
REST API
Push and pull customer data via API — connect Zapier, CRMs, or any HTTP client
All API requests require an x-api-key header. Generate your API key in Settings → Automations → Advanced.
https://qctiyigznbztxcowehnl.supabase.co/functions/v1/api-inbound
| Action | Method | Purpose |
|---|---|---|
| list_customers | GET / POST | Paginated customer list with filters — ideal for Zapier polling triggers |
| get_customer | GET / POST | Get a single customer by ID or name |
| upsert_account | POST | Create or update a customer — auto-rescores when signal fields change |
| update_health | POST | Update a single field — auto-rescores when signal fields change |
| delete_customer | POST | Soft-delete a customer (recoverable) |
| score_customer | POST | Force a full re-score using your saved weights |
| Field | Type | Description |
|---|---|---|
name | String | Account name (required for create, used for lookup) |
logins | Number (0+) | Login count this month — signal, triggers rescore |
adoption | Number (0–100) | Feature adoption percentage — signal, triggers rescore |
tickets | Number (0+) | Open support tickets — signal, triggers rescore |
nps | Number (0–10) | Net Promoter Score — signal, triggers rescore |
csat | Number (1–5) | Customer Satisfaction score — signal, triggers rescore |
days | Number (0+) | Days since last contact — signal, triggers rescore |
growth | String | none, mild, or strong — signal, triggers rescore |
mrr | Number (0+) | Monthly recurring revenue |
arr | Number (0+) | Annual recurring revenue |
tier | String | Customer tier: enterprise, mid, or smb |
lifecycle | String | onboarding, active, atrisk, won, churned |
manager | String | Assigned CSM name |
tags | Array / CSV | Tags array or comma-separated string |
renewal_date | Date | Contract renewal date (YYYY-MM-DD) |
next_touch | Date | Next scheduled contact date (YYYY-MM-DD) |
since | Date | Customer since date (YYYY-MM-DD) |
score | Number (0–100) | Health score — set manually to override auto-scoring |
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
}
}
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
| Parameter | Example | Description |
|---|---|---|
status | critical | Filter by status band |
lifecycle | active | Filter by lifecycle stage |
tier | enterprise | Filter by customer tier |
manager | Sarah | Filter by assigned CSM |
tag | vip | Filter by tag |
updated_since | 2026-03-01T00:00:00Z | Only customers changed after this date |
sort | updated_at | Sort field (also: name, score, mrr, arr, created_at) |
order | desc | Sort direction: asc or desc |
limit | 100 | Results per page (max 500) |
offset | 0 | Pagination offset |
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.
- Actions (push data in): Use "Webhooks by Zapier" → Custom Request. Set the URL, add
x-api-keyheader, POST your JSON body. - 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 customerid.