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.
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
The first screen you see after login. Provides a personalized briefing with at-a-glance KPIs and quick-action items.
- Getting Started Guide — Three onboarding paths (Integration-first, Manual + Integration, CSV-only) shown when no customers exist; collapsible banner afterward
- Welcome Banner — Greeting, portfolio health ring, quick stats (Healthy %, At Risk, Improving, Declining), and clickable action items
- KPI Cards — Portfolio Health, Revenue at Risk, Upcoming Renewals, Expansion Opportunity, Total MRR
- Widgets — Renewal Pipeline (0–30d / 31–60d / 61–90d), Priority Accounts, Biggest Drops, Health Heatmap, Tier Cards
Customers
Full account list with advanced filtering and bulk actions
Sortable, filterable table of every customer account with status tabs, column filters, Shift-click multi-select, and frozen name column.
- Status Tabs — All, Healthy, Watch, At Risk, Critical, Expansion, Churned, Trash
- Bulk Actions — Re-score, assign tags, change lifecycle, or delete selected rows
- Export — CSV data export or Bulksheet for round-trip editing
- Detail Modal — Click any name to open Overview, Alerts, Playbook, Notes, Sentiment, History, and Contacts tabs. Includes QBR Prep document generator
Alerts
Accounts that need attention, auto-surfaced by signals
Automatically generated alerts from customer signal values. Sidebar badge shows active count.
- Severities — Critical (red), Warning (amber), Attention (blue), Opportunity (green)
- Categories — Health, Tickets, Engagement, Renewal, Quiet Accounts, Momentum, Sentiment, Expansion
- View Modes — Category, Priority, Customer, or Table
- Side Panel — MRR Exposure breakdown, category bar chart, AI-generated insights
- Actions — Snooze (1d/7d/30d), Dismiss, Wake, and Bulk actions
Segments
Group customers by tag, tier, or lifecycle stage
Portfolio-level analytics with KPI cards (total segments, accounts, MRR, at-risk count, average health).
- Segments view — Group by tags with count, avg score, MRR, at-risk %, trend
- Tiers view — SMB / Mid-Market / Enterprise with expandable drill-down
- Stage view — Onboarding, Active, At Risk, Won/Upsold, Churned
- Comparison Chart — Multi-line trend chart with metric dropdown and auto-generated analysis
Trends
Portfolio metrics over time with overlays and analysis
Configurable time-series chart for tracking portfolio performance across multiple metrics.
- Primary & Secondary Metrics — Health Score, Logins, Adoption %, Tickets, NPS, CSAT, MRR, ARR, and more
- Time Range — 7d, 30d, 90d, 6mo, 1yr, 2yr, or year-to-date
- Overlays — Add a CSM portfolio line or individual client lines for comparison
- Trend Analysis — Auto-generated momentum, divergence, and acceleration insights
- Top Movers — Sortable table of customers with the biggest score changes
CSM Performance
Team-level portfolio health and manager leaderboard
Compare CSM portfolios side-by-side with health rankings and actionable insights.
- Manager Leaderboard — Ranked by avg health score with status distribution bars, account count, and MRR
- Drill-Down — Expand any manager to see their individual accounts sorted by urgency
- Focus Areas — Auto-generated insights on high at-risk %, overdue contacts, or declining portfolios
Reports
10 pre-built reports with PDF, CSV, and email delivery
Generate and schedule professional reports across three tiers (Starter, Growth, Enterprise).
- Report Types — Portfolio Summary, At-Risk Accounts, Renewal Forecast, CSM Performance, Segment Analysis, Trend (90d), Churn Risk, Customer Health, Score History, Weekly Digest
- Output — Print as branded PDF with SVG charts, export CSV, or email directly with scheduled recurring delivery
Calendar
Renewals, touch dates, and cadence events on a monthly view
Month-view calendar showing all time-sensitive customer events at a glance.
- Renewals — Blue dots on renewal dates; hover for customer name and MRR
- Next Touch Dates — Green dots for scheduled follow-ups
- Overdue Contacts — Red flags for customers past their cadence threshold
Score a Customer
Manually add or update a customer with signal values
Compact two-column form for entering customer data and calculating health scores in real time.
- Signals — Sliders for Logins, Adoption, Tickets, NPS, CSAT, Days Since Contact, plus a Growth dropdown with N/A option
- Revenue — MRR and ARR fields with bidirectional auto-calculation
- Metadata — Tier, renewal date, lifecycle stage, manager, tags, and sentiment
- Duplicate Prevention — Warns if a customer with the same name already exists
CSV Import
Bulk-load customers from a spreadsheet file
Drag-and-drop or file-picker import with automatic column mapping and preview step.
- Required — Customer Name (recognized as name, company, customer, account)
- Optional Fields — Manager, MRR/ARR, Logins, Adoption, Tickets, NPS, CSAT, Days Since Contact, Growth, Tier, Tags, Renewal Date, Lifecycle, Sentiment
- Duplicate Handling — Existing customers are updated rather than duplicated
- Import from CRM — Also available here: pull historical signal snapshots from Salesforce, HubSpot, or Stripe
Automations
Alert rules, custom rules, and notification channels
Build and manage automated notification rules with delivery to Slack, Teams, or email.
- Alert Rules — 3-step wizard to select alert types, channels, and schedule (real-time / daily / weekly)
- Custom Rules — Multi-condition rules with AND/OR logic across any customer field
- Saved Connections — Reusable channel configs for Slack webhooks, Teams webhooks, and email
- REST API — Push/pull customer data via API with auto-rescoring; Zapier-compatible
Settings
Configure scoring, team, integrations, and account
Central configuration hub with three tabs: Config, Account, and Integrations.
- Config — Signal weights, score thresholds, scoring profiles, contact cadence, renewal windows
- Account — Data health dashboard, quick actions (recalc/backup/restore), manage CSMs, change password
- Integrations — Connect Stripe, HubSpot, or Salesforce with sync toggles, field mapping, and Import from CRM for historical backfill. API & Webhooks sub-tab for developer tools
Audit Log
Full history of every action and configuration change
Timestamped record of all significant actions for compliance and troubleshooting.
- Action Log — Customer scored, settings changed, alerts snoozed, CSV imports, API calls, and more
- Config History — Timeline of weights, thresholds, and profile changes
- Each Entry — Action type, associated customer, user email, timestamp, and details summary
Help & Guide
This page — searchable documentation for every feature
Searchable reference organized into five tabs covering the entire platform.
- Getting Started — Quick start steps, sidebar navigation overview, key concepts
- Pages — One card per sidebar page with description 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
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 | Tier |
|---|---|---|
| Portfolio Summary | Overall book health with KPIs, status distribution, tier breakdown | Starter |
| At-Risk Accounts | Customers scoring below 50, sorted by urgency | Starter |
| Renewal Forecast | Upcoming renewals grouped by month with risk flags | Starter |
| CSM Performance | Manager portfolio comparison with scores | Growth |
| Segment Analysis | Health breakdown by tier and lifecycle stage | Growth |
| Trend (90 Days) | Score trend lines and movement analysis | Growth |
| Churn Risk | Churn probability with contributing factors | Growth |
| Customer Health | Individual customer deep-dive | Enterprise |
| Score History | Historical score changes with timeline | Enterprise |
| Weekly Digest | Auto-generated weekly health summary | Enterprise |
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 Tier = Enterprise AND Renewal within 60 days".
- Name your rule — Give it a descriptive name (e.g., "Enterprise 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.