AI sends progressive payment reminders — friendly to urgent — based on payment history and relationship context. No manual follow-ups needed.
Late payments strain cash flow and create awkward situations for account managers who must chase clients for money. Manual reminders are inconsistent — some clients get reminded, others don't, and the timing is rarely optimal. The progressive escalation from friendly nudge to firm notice is difficult to manage manually without damaging relationships.
MultiMail's AI agent handles the entire billing reminder cadence automatically. It sends proactive reminders before due dates, follows up on overdue invoices, and progressively escalates tone based on days overdue and payment history. Autonomous oversight keeps reminders flowing without human bottleneck, because templated billing reminders with personalized amounts are low-risk.
Your AI agent tracks upcoming and past-due payment dates from your billing system. It identifies which customers need reminders based on configurable schedules (e.g., 7 days before, 1 day before, 1 day after, 7 days after).
Before sending a reminder, the agent verifies whether the payment has already been made to avoid embarrassing false reminders.
The agent selects the appropriate tone and urgency based on days relative to due date: pre-due friendly reminder, due-date notice, overdue follow-up, or urgent final notice.
The reminder is sent via send_email under autonomous oversight with the customer's specific amount, due date, and payment link. Each reminder includes clear payment instructions.
import requests
from datetime import datetime, timedelta
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
REMINDER_TIERS = {
-7: {"tone": "friendly", "subject": "Upcoming payment reminder"},
-1: {"tone": "notice", "subject": "Payment due tomorrow"},
1: {"tone": "follow_up", "subject": "Payment past due"},
7: {"tone": "urgent", "subject": "Urgent: Payment overdue"},
14: {"tone": "final", "subject": "Final notice: Payment required"}
}
def process_billing_reminders(invoices: list):
today = datetime.utcnow().date()
for invoice in invoices:
if invoice["status"] == "paid":
continue
days_offset = (today - invoice["due_date"]).days
tier = REMINDER_TIERS.get(days_offset)
if tier:
body = generate_reminder(
tier["tone"], invoice["customer_name"],
invoice["amount"], invoice["due_date"],
invoice["payment_url"]
)
requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": "[email protected]",
"to": invoice["customer_email"],
"subject": f"{tier[&"cm">#039;subject']}: ${invoice['amount']:.2f}",
"text_body": body
}
)Check for upcoming and overdue payments and send appropriate reminder emails.
def generate_reminder(tone: str, name: str, amount: float,
due_date: str, payment_url: str) -> str:
templates = {
"friendly": (
f"Hi {name},\n\n"
f"Just a friendly reminder that your payment of "
f"${amount:.2f} is due on {due_date}.\n\n"
f"Pay now: {payment_url}\n\n"
f"If you&"cm">#039;ve already sent payment, please disregard."
),
"notice": (
f"Hi {name},\n\n"
f"Your payment of ${amount:.2f} is due tomorrow "
f"({due_date}). Please ensure payment is submitted "
f"to avoid any service interruption.\n\n"
f"Pay now: {payment_url}"
),
"urgent": (
f"Dear {name},\n\n"
f"Your payment of ${amount:.2f} was due on {due_date} "
f"and remains outstanding. Please submit payment "
f"immediately to avoid service suspension.\n\n"
f"Pay now: {payment_url}\n\n"
f"If you&"cm">#039;re experiencing difficulties, please reply "
f"to discuss payment arrangements."
)
}
return templates.get(tone, templates["friendly"])Create reminder content that escalates progressively from friendly to urgent.
"cm">// Using MultiMail MCP tools for billing reminders
async function sendBillingReminder(invoice: Invoice) {
const today = new Date();
const daysOffset = daysBetween(invoice.dueDate, today);
const tier = getReminderTier(daysOffset);
if (!tier) return; "cm">// Not a reminder day
"cm">// Send reminder
await mcp.send_email({
to: invoice.customerEmail,
subject: `${tier.subject}: $${invoice.amount.toFixed(2)}`,
text_body: generateReminder(
tier.tone, invoice.customerName,
invoice.amount, invoice.dueDate, invoice.paymentUrl
)
});
"cm">// Track reminder history
await mcp.add_contact({
email: invoice.customerEmail,
metadata: {
last_reminder_sent: today.toISOString(),
reminder_tier: tier.tone,
outstanding_amount: invoice.amount
}
});
}Send billing reminders using MultiMail MCP tools.
Consistent, timely reminders significantly reduce late payments. Customers who receive pre-due reminders are 3x more likely to pay on time.
The AI handles the awkward progression from friendly to firm without your team having to manage the social dynamics of chasing payments.
The AI can adjust tone based on payment history and customer relationship. Long-term customers with a good track record get gentler reminders than chronically late payers.
No more spreadsheets tracking who was reminded and when. The agent handles the entire cadence automatically and logs every touchpoint.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.