← Back to Directory
🚨

Customer Success Alerter

Monitor customer health scores, detect churn risk signals, and alert your team before customers leave

šŸ¤– 0 ↑ 0 ↓ Ā |Ā  šŸ‘¤ 0 ↑ 0 ↓
advancedā± 45 minutesšŸ”„ 11 swappable alternatives

šŸ§‚ Ingredients

šŸ”Œ APIs

product_usage_analytics_feature_adoption_session_frequency_engagement_trends

šŸ”„ Alternatives:

Amplitude — Better free tier for analyticsPosthog — Open-source, self-hostablePlausible — Privacy-focused, simple

support_ticket_volume_and_customer_communication_history

šŸ”„ Alternatives:

Zendesk — More robust ticketing systemFreshdesk — More affordableCrisp — Good free tier for startups

alert_cs_team_in_dedicated_channel_with_churn_risk_notifications

šŸ”„ Alternatives:

Discord — Free, great for communitiesTelegram — Simple bot API, no approval neededTeams — Enterprise/Office 365 integration

customer_health_score_dashboard_and_history

šŸ”„ Alternatives:

Airtable — Better for structured data + APINotion Databases — More flexible views

šŸ“‹ Step-by-Step Build Guide

STEP 1

Define health score components

1. Define health score components: login frequency (30%), feature adoption (25%), support tickets (20%), NPS/CSAT (15%), contract value trend (10%)

Define health score components: login frequency (30%), feature adoption (25%), support tickets (20%), NPS/CSAT (15%), contract value trend (10%)

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 2: "Connect to Mixpanel/Amplitude for usage data per customer account") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.
STEP 2

Connect to Mixpanel/Amplitude for usage data per customer account

2. Connect to Mixpanel/Amplitude for usage data per customer account

Connect to Mixpanel/Amplitude for usage data per customer account

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.
STEP 3

Pull support ticket data from Intercom/Zendesk

3. Pull support ticket data from Intercom/Zendesk — volume, severity, resolution time

Parse the input data and extract the specified fields.

Processing steps:
1. Parse the raw input (JSON response, transcript text, HTML content)
2. Identify and extract each required field
3. Normalize data formats: dates to ISO 8601, amounts to numbers, text trimmed
4. Validate extracted data — flag missing or malformed fields
5. Structure the output as a clean JSON object

For text extraction (transcripts, articles):
- Use pattern matching for structured data (dates, amounts, URLs)
- Use semantic understanding for unstructured data (key decisions, action items, sentiment)

Return both the extracted data and a confidence indicator for each field.
STEP 4

Calculate a composite health score (0

4. Calculate a composite health score (0-100) for each account weekly

Process the data and calculate the requested metrics.

Steps:
1. Validate input data — check for nulls, out-of-range values, duplicates
2. Apply the calculation/aggregation logic
3. Compare against benchmarks or previous periods if available
4. Format results with appropriate precision (2 decimal places for percentages, whole numbers for counts)

Include: current value, previous value, change (absolute and %), trend direction (↑↓→).
Flag any anomalies: values >2 standard deviations from the mean.

If insufficient data for a reliable calculation, state the minimum needed and return partial results.
STEP 5

Define churn risk thresholds

5. Define churn risk thresholds: Green (80+), Yellow (60-79), Red (<60)

Define churn risk thresholds: Green (80+), Yellow (60-79), Red (<60)

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.
STEP 6

Detect negative trends

6. Detect negative trends: health score dropped 15+ points in 2 weeks, login frequency down 50%, 3+ support tickets in a week

Detect negative trends: health score dropped 15+ points in 2 weeks, login frequency down 50%, 3+ support tickets in a week

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 7: "When a risk is detected, alert the CS team in Slack with") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.
STEP 7

When a risk is detected, alert the CS team in Slack with

7. When a risk is detected, alert the CS team in Slack with: account name, health score, specific risk signals, and recommended actions

Post a message to Slack using the Web API.

POST https://slack.com/api/chat.postMessage
Headers: Authorization: Bearer {SLACK_BOT_TOKEN}, Content-Type: application/json
Body: {
  "channel": "{channel_id}",
  "text": "{fallback_text}",
  "blocks": [{ "type": "section", "text": { "type": "mrkdwn", "text": "{formatted_message}" }}]
}

Use Slack mrkdwn formatting: *bold*, _italic_, `code`, > blockquote.
For alerts, use emoji prefixes: šŸ”“ critical, 🟔 warning, 🟢 success, ā„¹ļø info.
Keep messages scannable — use bullet points for lists.

Expected response: { "ok": true, "ts": "..." }. If ok is false, check the "error" field.
STEP 8

Weekly

8. Weekly: customer health dashboard — accounts by status, newly at-risk accounts, accounts that improved, and CS team action items

Use the GitHub API to fetch the relevant data.

GET https://api.github.com/repos/{owner}/{repo}/{endpoint}
Headers: Authorization: Bearer {GITHUB_TOKEN}, Accept: application/vnd.github.v3+json

Parse the response and extract the key fields.
Handle pagination if results exceed one page (check Link header).
Rate limit: GitHub allows 5,000 requests/hour with auth. If you get 403, check X-RateLimit-Remaining header.

Format the output concisely with the most important information first.

šŸ¤– Example Agent Prompt

Define health score components: login frequency (30%), feature adoption (25%), support tickets (20%), NPS/CSAT (15%), contract value trend (10%)

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 2: "Connect to Mixpanel/Amplitude for usage data per customer account") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.

Copy this prompt into your agent to get started.