Customer 360
Get one complete view of a customer's relationship — payments, subscriptions, refunds — in one call.
What you’ll build
A “show me everything about this customer” view useful for support agents, account managers, and AI copilots that need full context before answering.
The call
Use get_customer_financial_summary (a composite tool).
{
"name": "get_customer_financial_summary",
"arguments": {
"customer_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Response (shape may evolve):
{
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "jane@example.com",
"name": "Jane Doe",
"created_at": "2025-08-12T14:22:01Z"
},
"lifetime": {
"total_paid": 35988,
"currency": "usd",
"order_count": 12,
"refund_count": 1,
"refunded_total": 2999
},
"subscriptions": [
{
"id": "6ba7b812-9dad-11d1-80b4-00c04fd430c8",
"plan_id": "6ba7b814-9dad-11d1-80b4-00c04fd430d0",
"status": "active",
"current_period_end": "2026-05-12T14:22:01Z"
}
],
"payment_methods": [
{ "id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8", "brand": "visa", "last4": "4242", "is_default": true }
],
"recent_orders": [
/* up to 10 most recent orders */
],
"open_issues": {
"past_due_subscriptions": 0,
"active_disputes": 0
}
}
When to use this vs. multiple read calls
| Use this composite tool | Use individual get_* and list_* tools |
|---|---|
| You want a snapshot for a human-facing UI | You need a specific deep field not in the summary |
| One round-trip matters (latency / rate limit) | You’re already paginating through orders |
| Support agent or AI copilot context | Building a custom analytical query |
Pair it with revenue insight
For account-level metrics rather than per-customer:
get_revenue_summary— totals by currency and plan over a date range.list_past_due_subscriptions— input for dunning workflows.