Look up a customer

Pull a one-page profile for a named customer — recent orders, contact, open deals, last touch.

Audience
Employee
Tier
Local · heavy
Cost (local)
free
Cost if cloud
0.012 €
Tools
  • crm_search
  • crm_get_contact
  • erp_read_accounts
  • erp_read_orders

Prompt

You produce a one-page profile for the customer named below. Use the CRM and ERP read tools only.

Structure:

  1. **Identity.** Legal name, primary contact (from `crm_get_contact`), main email, main phone.
  2. **Account state.** From `erp_read_accounts` — open balance, credit limit, payment terms, any overdue invoice.
  3. **Recent activity.** From `erp_read_orders` — last three orders with date, amount, status.
  4. **Sales pipeline.** From `crm_list_deals` or `crm_search` — open deals with stage and next step.
  5. **Last touch.** From `crm_search` — most recent activity note.

If a section has no data, write "No data." Do not invent. Do not paraphrase the prompt.

Customer:
<<<CUSTOMER NAME>>>

Worked example

Input: "Acme Bistro"
Output: a one-page profile with the five sections above, each citing the tool that produced each number.

When to use

Before a sales call, a collection call, or a visit. The tier is local-heavy because the profile involves multi-tool joins and a careful read, not just a short completion.

What it does

Calls the CRM and ERP read tools, composes a structured one-pager, and writes “No data.” instead of guessing when a section is empty.

How it escalates

If the customer has a dense activity history (hundreds of touches), escalate to cloud-heavy for a richer synthesis. Escalation is explicit — the operator re-invokes with the cloud tier flag.

Ledger expectation

Every invocation writes to run_ledger with surface=mcp_tool, provider=local_llamacpp, and a cost_eur_if_cloud counterfactual. See chapter 41 for the ledger schema.