Enterprise KAM Copilot
A prototype that prepares a key account manager’s QBR pack for a restaurant chain on a food delivery marketplace. Each recommended action names the stored play it came from.
The problem
Before a quarterly review with a large restaurant chain, a key account manager pulls the chain’s numbers, compares them with central targets, works out what is going wrong and then looks up which plays fit. Most of that is lookup and copying, and it takes time away from work with the chain.
I wanted to see how much of that prep an agent could do while keeping every recommendation traceable to a written play.
What it does
You pick a chain and run it. The agent reads the chain’s signals: GMV change on the quarter, contribution margin, on time delivery, share against a competing platform, how far the joint business plan has got and how heavy the promotions are. It compares them with the central targets of a 22% margin floor, 92% on time and 50% share.
It then writes a prep pack with a diagnosis, recommended actions with a play ID beside each one, suggested asks for the joint business plan and a draft opener for the QBR. The KAM still runs the conversation.
About 3 to 4 hours of prep down to about 2 minutes, my estimate on demo data.
How it works
It is one Claude agent working in a loop. It has a goal and two tools, picks which tool to call next, reads the result and repeats until it has enough to write the pack.
Read the account
The first tool,
get_account_signals, returns the chain’s numbers. The agent compares them with the targets and picks the top issues.Look up the play
For each issue it calls
lookup_play. That tool searches a short written playbook and returns only the stored play and its ID.Write and cite
It writes the pack from the plays it retrieved and tags each action with its play ID. If no play covers an issue, it says so and leaves it for a person instead of inventing advice.
Screens from the demo



What would change in production
- Connect the signals tool to real account data, limited to the accounts each KAM owns.
- Give the playbook an owner in the commercial team, with versions and review dates, so the agent cites current plays.
- Build a test set of real accounts with packs a senior KAM has signed off, and score every change against it before release.
- Add a second agent that checks each pack against the cited plays before a person sees it.
- Log every tool call and citation so anyone can trace a line in the pack back to its source.
- Time the prep with real KAMs before claiming any saving.
Honest scope
I built this on my own before I joined Agoda, to learn by building. It has no connection to Agoda or any employer’s systems or data. The chains, numbers and playbook are synthetic.
The public demo replays packs the agent produced earlier, so it runs without an API key. The full version is a Python script that calls Claude. There is no automated evaluation yet. The time saving is my estimate on demo data and has not been measured with real users.