One week at one company
A week after the first call, a sales team works from a list that refreshes itself, a meeting-prep agent they check before every call and a territory model a new rep can ask for a list from.
A deep-tech company in the US sells into hospitals, mostly through integrators. On a Tuesday its sales team worked from a spreadsheet. The following Monday it worked from a ranked list that refreshes itself every morning, a meeting-prep agent the reps check before every external call and a shared model of their territory that a new rep can ask for a list from. Here is how the week went.
The territory was never in the CRM
When we started, the partner list was a spreadsheet of about 2,700 companies. It was dirty, it was unranked, and it was the only list they had. Two reps worked from it in two different ways. The senior rep lives in a terminal and had built his own tooling around it. The newer rep wanted a list and a phone. The ask from the team was simple: junior reps should be able to sit down and dial.
The first call was about the work, not the build. The question is where the decisions actually come from, and here the answer was not the CRM. The territory lived in government sources, hospital lists and integrator registries. The reps knew those sources. Nobody had ever joined them to the CRM, so the CRM only knew about companies someone had already typed in. The 2,700 rows were the residue of years of that.
That call gave us the scope and the standard to build to. The ask was about ten ranked companies a day, each with a decision-maker’s contact details. A list is good if the senior rep would work it without editing it and the newer rep can dial from it. We agreed that before building anything, and we agreed a date. The rep would have a list on Monday.
The rest of the week turned 2,700 rows into 64 accounts
We built the territory as a graph. Hospitals came from the government sources and the hospital lists, integrators from the registries. Every company was normalised to one identity and linked to its CRM record where one existed. Then we ranked.
The 2,700 collapsed to 64 ranked accounts. Forty-eight of them came with contacts already pulled. We showed the list to the senior rep. He said it was exactly what he wanted.
That was the week’s first result: one list, one rep who would work it unchanged.
On Monday the list refreshed itself
A list that is right on Monday is stale by Friday, because accounts move. So it did not ship as a file. It shipped as a job. Every morning at 7am the agent rebuilds a top-50 from the graph, so the rep has a fresh list by 9am. It only shows net-new companies. Once a company has been on the list it stays off for 30 to 60 days, and as companies move stage in the CRM, new ones fill in behind them. The rep never has to ask for a list again. He opens Slack and it is there.
Alongside it runs a meeting-prep agent. At 9am it looks at that day’s external meetings and, for each one, pulls previous calls, emails, deal history and similar companies from the CRM and the graph into a shared Slack channel. Reps can ask follow-up questions in the channel, and feedback they give there changes what the agent produces next time. We did not announce it. The senior rep found it on his own, and now checks it before every external meeting.
Underneath, each run spawns a sub-agent per account, and each run leaves a trace on the graph. The next morning’s run starts where the last one stopped. That is why the 7am job is a refresh and not a rebuild.
The graph now belongs to the team, not to one rep
The graph is shared by the whole sales team and scoped by territory. A new rep can say “new SDR, West Coast territory, make me a list like this one” and get one. That matters because of who is joining. The senior rep is the ceiling: terminal, MCP, his own queries against the model. The newer rep is the floor: a list and a phone. New hires look like the floor, and the team wants them to just dial.
So there are three ways in, and each rep uses the one that fits. The senior rep reaches the agent through MCP inside Claude. The newer rep reaches it through Slack. Anyone can use the chat UI. All three work from the same graph.
Why it took a week
The week was short because the hard part was not the code. It was knowing where the territory actually lived, which took one call with the people who work it, and having a graph to put it in. Once the sources were joined and the standard was agreed, the list, the refresh and the ranking were a few days of building. The week is the first build, not the engagement. We stay to operate and improve what is in use.
A week after the first call, the team works its territory from a list it did not have to make, prepares for calls from a briefing it did not have to write and onboards a rep by asking for a list.