Personalized Usage Reports, Delivered Automatically

AI generates customer-specific usage insights with trends and recommendations. Scheduled delivery keeps customers informed without manual effort.


Why this matters

Manual report generation doesn't scale. As your customer base grows, producing individualized usage reports becomes impossible. Customers lack visibility into their consumption patterns, leading to surprise bills, underutilization of features, and preventable churn. Generic usage dashboards exist, but proactive email reports drive 3x more engagement than passive dashboards.


How MultiMail solves this

MultiMail's AI agent generates personalized usage reports on a configurable schedule — weekly, monthly, or quarterly. Each report includes consumption metrics, trend analysis, and AI-driven recommendations based on the customer's unique usage patterns. Autonomous oversight handles reliable, scheduled delivery at scale.

1

Scheduled Trigger

Your AI agent runs on a configurable schedule (weekly, monthly, etc.) and processes each customer's usage data for the reporting period.

2

Aggregate Usage Data

The agent pulls usage metrics from your product database — API calls, feature adoption, storage consumption, or whatever metrics are relevant to your product.

3

Generate Personalized Insights

The AI analyzes usage patterns and generates insights: month-over-month trends, underutilized features, approaching plan limits, and personalized recommendations.

4

Send Report

Under autonomous oversight, the report is sent via send_email to the customer. Templated reports with customer-specific data are safe for autonomous delivery.


Implementation

Generate Customer Usage Report
python
import requests

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

def generate_usage_report(customer: dict, period: str):
    usage = get_usage_data(customer["id"], period)
    trends = calculate_trends(usage)
    recommendations = generate_recommendations(usage, customer["plan"])

    report = (
        f"Hi {customer[&"cm">#039;name']},\n\n"
        f"Here&"cm">#039;s your {period} usage report:\n\n"
        f"Emails processed: {usage[&"cm">#039;emails_processed']:,} "
        f"({trends[&"cm">#039;emails_change']:+.0f}% vs last period)\n"
        f"Mailboxes active: {usage[&"cm">#039;active_mailboxes']}\n"
        f"Storage used: {usage[&"cm">#039;storage_mb']:.0f} MB of "
        f"{customer[&"cm">#039;storage_limit_mb']} MB\n"
        f"Delivery rate: {usage[&"cm">#039;delivery_rate']:.1f}%\n\n"
        f"Insights:\n"
        + "\n".join(f"- {r}" for r in recommendations)
    )

    requests.post(
        f"{API}/send",
        headers=HEADERS,
        json={
            "from": "[email protected]",
            "to": customer["email"],
            "subject": f"Your {period} usage report: {usage[&"cm">#039;emails_processed']:,} emails processed",
            "text_body": report,
            "html_body": build_report_html(usage, trends, recommendations)
        }
    )

Aggregate usage data and generate a personalized report email.

Batch Report Generation
python
import requests

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

def send_monthly_reports():
    customers = get_all_active_customers()

    for customer in customers:
        try:
            generate_usage_report(customer, "February 2026")
            print(f"Report sent to {customer[&"cm">#039;email']}")
        except Exception as e:
            print(f"Failed for {customer[&"cm">#039;email']}: {e}")
            # Log failure and retry later
            queue_retry(customer, str(e))

    print(f"Sent {len(customers)} usage reports")

Generate and send reports for all customers on a schedule.

MCP Tool Integration
typescript
"cm">// Using MultiMail MCP tools for usage reports

async function sendUsageReport(customer: Customer, period: string) {
  const usage = await getUsageData(customer.id, period);
  const trends = calculateTrends(usage);
  const insights = generateInsights(usage, customer.plan);

  "cm">// Send personalized report
  await mcp.send_email({
    to: customer.email,
    subject: `Your ${period} usage report: ${usage.emailsProcessed.toLocaleString()} emails`,
    text_body: [
      `Hi ${customer.name},`,
      ``,
      `Here's your ${period} summary:`,
      `  Emails processed: ${usage.emailsProcessed.toLocaleString()}`,
      `  Delivery rate: ${usage.deliveryRate}%`,
      `  Storage: ${usage.storageMb}MB / ${customer.storageLimit}MB`,
      ``,
      `Insights:`,
      ...insights.map(i => `  - ${i}`)
    ].join("\n")
  });

  "cm">// Update contact with report metadata
  await mcp.add_contact({
    email: customer.email,
    metadata: { last_report_sent: new Date().toISOString() }
  });
}

Generate and send usage reports using MultiMail MCP tools.


What you get

Proactive Customer Communication

Customers receive insights without logging into a dashboard. Proactive reports drive 3x more engagement than passive analytics and build trust through transparency.

Churn Prevention

Reports that show approaching plan limits or declining usage create natural upgrade and re-engagement touchpoints before customers churn.

Scales to Any Customer Base

Autonomous mode sends personalized reports to every customer on schedule. Whether you have 100 or 100,000 customers, each one gets an individualized report.

AI-Driven Recommendations

Each report includes personalized recommendations based on the customer's actual usage patterns — underutilized features, optimization opportunities, and relevant plan upgrades.


Recommended oversight mode

Recommended
autonomous
Usage reports are data-driven, templated, and based on verified metrics from your product database. They carry no brand risk and benefit from reliable, scheduled delivery. Autonomous mode ensures every customer receives their report on time without human bottleneck.

Common questions

How often should I send usage reports?
Monthly is the most common cadence for SaaS products. Weekly reports work for high-engagement products where usage changes frequently. Quarterly reports suit enterprise customers. Your AI agent can send at different frequencies based on customer segment or plan level.
Can customers customize which metrics they see?
Yes. Store customer preferences in your contact metadata and have your AI agent generate reports tailored to each customer's interests. Some may want detailed API call breakdowns while others prefer high-level summaries. MultiMail delivers whatever content you generate.
What if a customer has no usage in the reporting period?
Zero-usage reports are an important signal for churn prevention. Your agent can send a different template that encourages re-engagement, offers help getting started, or highlights new features. Tag these contacts for your customer success team's attention.
Can I include charts or graphs in the email?
Yes. Generate charts as images in your AI agent's logic and include them as inline images in the HTML email. Many charting libraries (Chart.js, matplotlib) can render to PNG. MultiMail delivers the HTML with embedded images.

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.