AI sends instant approval requests with expense summaries and policy compliance flags. Managers approve faster with all the context upfront.
Expense approvals get stuck in manager inboxes for days or weeks, delaying employee reimbursements and creating frustration. When managers finally review expenses, they lack context about policy compliance and have to cross-reference amounts against guidelines manually. This bottleneck is entirely avoidable with better notification design.
MultiMail's AI agent sends instant, enriched expense approval notifications the moment an expense report is submitted. Each notification includes an expense summary, policy compliance flags, and one-click approve/reject actions. Autonomous oversight is appropriate because these are internal notifications with verified data — the risk of an incorrect notification is low and the cost of delay is high.
Your expense management system notifies the AI agent when an employee submits an expense report. The event includes itemized expenses, receipts, and the designated approver.
The agent evaluates each expense against your company policy: per-diem limits, category restrictions, receipt requirements, and approval thresholds.
The agent creates a clear notification with the expense summary, compliance flags (all items within policy, or specific violations highlighted), and direct links to approve or reject.
Under autonomous oversight, the notification is sent instantly to the designated manager via send_email. Speed is key — the faster the manager sees it, the faster the employee gets reimbursed.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def notify_expense_approval(expense: dict):
"cm"># Check policy compliance
compliance = check_policy(expense["items"])
items_summary = "\n".join([
f" - {item[&"cm">#039;description']}: ${item['amount']:.2f} "
f"({&"cm">#039;within policy' if item['compliant'] else 'OVER LIMIT'})"
for item in compliance["items"]
])
status = "All items within policy" if compliance["all_compliant"] \
else f"{compliance[&"cm">#039;violations']} policy violation(s) flagged"
body = (
f"Expense approval needed from {expense[&"cm">#039;employee_name']}\n\n"
f"Total: ${expense[&"cm">#039;total']:.2f}\n"
f"Date range: {expense[&"cm">#039;date_range']}\n"
f"Policy check: {status}\n\n"
f"Items:\n{items_summary}\n\n"
f"Approve: {expense[&"cm">#039;approve_url']}\n"
f"Reject: {expense[&"cm">#039;reject_url']}"
)
requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": "[email protected]",
"to": expense["approver_email"],
"subject": f"Expense approval: ${expense[&"cm">#039;total']:.2f} from {expense['employee_name']}",
"text_body": body,
"html_body": build_approval_html(expense, compliance)
}
)Process an expense submission and send an enriched approval request.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def notify_approval_result(expense: dict, decision: str, notes: str):
if decision == "approved":
subject = f"Expense approved: ${expense[&"cm">#039;total']:.2f}"
body = (
f"Hi {expense[&"cm">#039;employee_name']},\n\n"
f"Your expense report for ${expense[&"cm">#039;total']:.2f} has been "
f"approved by {expense[&"cm">#039;approver_name']}. Reimbursement "
f"will be processed in the next pay cycle.\n\n"
f"Details: {expense[&"cm">#039;view_url']}"
)
else:
subject = f"Expense needs revision: ${expense[&"cm">#039;total']:.2f}"
body = (
f"Hi {expense[&"cm">#039;employee_name']},\n\n"
f"Your expense report requires revision.\n\n"
f"Manager notes: {notes}\n\n"
f"Please update and resubmit: {expense[&"cm">#039;edit_url']}"
)
requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": "[email protected]",
"to": expense["employee_email"],
"subject": subject,
"text_body": body
}
)Notify the employee when their expense report is approved or rejected.
"cm">// Using MultiMail MCP tools for expense approvals
async function notifyExpenseApproval(expense: ExpenseReport) {
const compliance = checkPolicy(expense.items);
"cm">// Notify approver
await mcp.send_email({
to: expense.approverEmail,
subject: `Expense approval: $${expense.total.toFixed(2)} from ${expense.employeeName}`,
text_body: [
`${expense.employeeName} submitted an expense report.`,
`Total: $${expense.total.toFixed(2)}`,
`Policy: ${compliance.allCompliant ? "All within policy" : `${compliance.violations} violations`}`,
``,
`Items:`,
...compliance.items.map(i =>
` - ${i.description}: $${i.amount.toFixed(2)} ${i.compliant ? "" : "(OVER LIMIT)"}`
),
``,
`Approve: ${expense.approveUrl}`,
`Reject: ${expense.rejectUrl}`
].join("\n")
});
}Send expense approval notifications using MultiMail MCP tools.
Managers receive approval requests the moment expenses are submitted. No more expenses sitting unnoticed in a queue for days.
Every notification includes compliance flags so managers can spot policy violations at a glance. This speeds up the review process and catches issues before approval.
Direct approve/reject links in the email let managers act immediately without logging into the expense system. This reduces approval time from days to hours.
Faster approval means faster reimbursement. Employees get their money back sooner, which improves satisfaction and encourages timely expense reporting.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.