Soham Saha

Prototypes

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.

Try the demoBack to prototypes

The demo for Pronto Pizza, a synthetic chain, in about 15 seconds. Open full size

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.

  1. 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.

  2. 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.

  3. 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

KAM Copilot demo after a run for Pronto Pizza: the agent log shows one signals call and three play lookups, followed by the start of the prep pack
The run for Pronto Pizza in Bucharest. One call reads the signals, then three lookups fetch the plays.
Recommended actions for Pronto Pizza, each tagged PLAY-SH-01, PLAY-RL-02 or PLAY-JBP-05, with suggested asks and a draft QBR opener
Each recommended action carries the ID of the play it came from. The opener is a draft for the KAM to rewrite.
KAM Copilot demo for Naija Grill: a diagnosis showing margin 5 points below the floor and the margin play PLAY-MG-03 as the first action
A different chain gets different plays. Naija Grill sits 5 points under the margin floor, so the margin play comes first.

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.

Try the demoBack to prototypes