Catch Customer Issues Before They Become Churns

AI spots declining usage patterns and drafts personalized health check emails. Customer success managers review before every send.


Why this matters

Customer success teams only react to problems after customers complain — by which point the relationship is already strained. Proactive outreach catches issues early and builds loyalty, but identifying which customers need attention and crafting personalized messages does not scale without AI assistance.


How MultiMail solves this

MultiMail's AI agent analyzes usage metrics to identify customers showing declining engagement, then drafts personalized health check emails offering assistance and resources. Gated_send ensures customer success managers review every outreach to maintain relationship quality and strategic alignment.

1

Analyze Usage Metrics

The AI agent monitors customer usage data — API calls, login frequency, feature adoption, support tickets — to identify declining engagement patterns.

2

Identify Declining Accounts

Accounts showing sustained usage decline (e.g., 40% drop over 30 days) are flagged for proactive outreach with specific context about what changed.

3

Draft Personalized Check-Ins

Using send_email, the agent composes helpful check-in emails that reference specific usage changes and offer relevant assistance without being pushy.

4

CSM Reviews and Sends

With gated_send, each health check email enters the CSM's approval queue. They add personal context, adjust the offer, and approve when ready.


Implementation

Send a Customer Health Check Email
python
import requests

API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}

response = requests.post(
    f"{API}/send",
    headers=HEADERS,
    json={
        "from": "[email protected]",
        "to": ["[email protected]"],
        "subject": "Checking in - noticed some changes in your usage",
        "text_body": (
            "Hi team,\n\n"
            "I noticed your API usage dropped 40% this month compared "
            "to last month. Wanted to check in and see if everything "
            "is working as expected.\n\n"
            "A few things that might help:\n\n"
            "- New documentation: Our webhook guide was updated last week\n"
            "- Training: I can set up a 30-min session on advanced features\n"
            "- Support: Any open issues I can help prioritize?\n\n"
            "Happy to jump on a quick call if that&"cm">#039;s easier:\n"
            "https://cal.yourcompany.com/csm-team\n\n"
            "Best,\nYour Customer Success Manager"
        ),
        "html_body": "<p>Hi team,</p><p>I noticed your API usage dropped 40%...</p>"
    }
)
print(f"Health check queued for CSM review: {response.json()[&"cm">#039;id']}")

Draft a personalized health check for a customer showing declining usage.

Identify At-Risk Accounts
python
import requests

API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}

"cm"># Find customers flagged as declining
declining = requests.get(
    f"{API}/contacts/search",
    headers=HEADERS,
    params={"query": "declining-usage active-subscription"}
).json()

print(f"Found {len(declining[&"cm">#039;results'])} accounts needing health checks")

for customer in declining["results"]:
    print(f"  {customer[&"cm">#039;name']} ({customer['email']})")
    # Draft personalized health check for each
    requests.post(
        f"{API}/send",
        headers=HEADERS,
        json={
            "from": "[email protected]",
            "to": [customer["email"]],
            "subject": "Checking in - anything we can help with?",
            "text_body": f"Hi {customer[&"cm">#039;name']}, noticed some changes in your usage..."
        }
    )

Search contacts to find customers with declining engagement patterns.

MCP Tool: Health Check Workflow
typescript
"cm">// Find accounts with declining engagement
const declining = await mcp.search_contacts({
  query: "declining-usage pro-plan active",
  limit: 20
});

"cm">// Draft health check emails
for (const customer of declining.results) {
  const result = await mcp.send_email({
    to: customer.email,
    subject: "Checking in - noticed some changes in your usage",
    text_body: `Hi ${customer.name}, your API usage dropped this month...`
  });

  await mcp.tag_email({
    email_id: result.id,
    tags: ["health-check", "declining-usage", "q1-2026"]
  });
}

"cm">// Check pending for CSM review
const pending = await mcp.list_pending({
  mailbox_id: "success-mailbox-id"
});
console.log(`${pending.emails.length} health checks awaiting CSM review`);

Use MCP tools to identify at-risk accounts and send personalized check-ins.


What you get

Proactive Issue Detection

AI catches engagement declines weeks before customers reach out with complaints, giving your team time to intervene constructively.

Personalized, Not Generic

Each health check references the customer's specific usage changes and offers relevant resources — not a cookie-cutter 'just checking in' message.

CSM-Quality Relationships

Gated send ensures customer success managers add personal context and strategic awareness. The AI handles volume while humans handle nuance.

Measurable Retention Impact

Track which health check outreaches lead to re-engagement versus continued decline. Optimize messaging and timing based on save rates.


Recommended oversight mode

Recommended
gated_send
Health check emails must feel genuinely helpful, not automated or pushy. Customer success managers should review each message to ensure tone, timing, and offered resources match the customer's specific situation and relationship history.

Common questions

What usage metrics trigger a health check?
Common triggers include: 30%+ decline in API calls over 14 days, no logins for 7+ days, support ticket submitted and unresolved for 5+ days, or multiple failed API calls. Your AI agent combines signals to avoid false positives from normal usage variation.
How is this different from churn risk notifications?
Health checks are proactive wellness outreach for any usage decline. Churn risk notifications target accounts showing strong cancellation signals. Health checks happen earlier in the engagement lifecycle, when a friendly check-in can prevent the issue from escalating to churn risk.
Can CSMs customize the offers in health check emails?
Absolutely. The AI drafts suggestions based on usage data, but CSMs can edit the offers before sending. A CSM might replace a generic training offer with a specific feature walkthrough based on their knowledge of the account's goals.
How often should we send health checks?
At most once per month per account. More frequent outreach feels intrusive. The AI agent enforces cooldown periods and prioritizes the most significant engagement declines. Accounts that re-engage after a health check are removed from the queue automatically.

Explore more use cases

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.