The client
A deal desk where the data is the product
A capital markets intelligence firm serving banks and investors active in equity deals. Its value is knowing the deal flow — who is raising, how much, with which banks — and turning that into memos, scores and market views faster than anyone else.
Most of the hours, though, went into keeping that knowledge current rather than using it.
The challenge
Analysts doing data entry between the judgement calls
Every deal record was enriched by hand, every memo was assembled by hand, and every weekly market overview was written from scratch. The deal history sat in a database, with the rest spread across spreadsheets and PDFs.
The surface area
The routine work and the judgement calls were done by the same people, so the routine set the pace for everything else.
Constraints
What we had to design around
- JudgementCapital markets decisions carry real money. The system could take the routine off an analyst’s desk, but anything that needed judgement had to reach a person — with the reasoning attached, not just a flag.
- Data shapeTwenty thousand historical deals in a database, plus the spreadsheets and PDFs that never made it in. Issuers, sectors and bank roles connect across deals, and a flat table hides those connections.
- LanguageAnalysts already speak in commands — “add the IOI”, “memo for this deal”. The interface had to accept that phrasing as it is, not a form that translates it.
- Speed to valueA platform that shows nothing for a quarter does not survive the quarter. The build had to produce something usable every week.
- GrowthScoring, ML pipelines and analytics were already on the roadmap. The architecture had to take new agents without reworking the old ones.
Our approach
Specialists behind one supervisor, on one graph
One large agent that does everything is hard to test and harder to trust. When it gets a memo wrong, you cannot tell whether it misread the question, pulled the wrong deal or wrote badly.
So we split the work. A supervisor reads the command and routes it. Specialists each own one job, with their own tools and memory. And all of them read the same knowledge graph, because ECM questions are about connections — this issuer’s last three raises, every deal this bank led in the sector — and a graph answers those directly.
The solution
Five layers, from a sentence to a deal record
- Conversational interface — A chat-style ECM workspace. It keeps context across a conversation, so “now draft the memo” knows which deal “the” refers to.
- Supervisor agent — Classifies each command and routes it to the specialist that owns it. A response agent assembles one answer from whichever agents ran. Built on Agno, with LangGraph handling the longer deal-lifecycle workflows.
- Specialist agents — Deal analysis, data enrichment, market intelligence and commentary, document generation and alerts. Each has its own tools — database access, reasoning, scraping, statistics, summaries — and its own long-term and context memory.
- Semantic data module — A knowledge graph of deals, issuers, sectors and roles, with GraphRAG search on top — hybrid, keyword and semantic. Agents query it by SQL, Cypher or plain English.
- Ingestion — Connectors migrate the deal database and pull in XLSX and PDF files. A data integration agent fills in and validates what is missing on the way in.

Responsible by design
Four rules for agents near capital markets decisions
Escalate
Routine work is finished; judgement is handed over.
Updating a record or drafting a standard memo completes on its own. A call on a deal goes to an analyst with what the agents found and why.
Explain
No alert without a reason.
Rules decide when an alert fires. The model writes why it matters, so an analyst can dismiss it in seconds or act on it.
Ground
Answers come from the deal history, not the model’s memory.
Every agent reads the same knowledge graph. A memo’s numbers trace back to deal records, not to what a language model recalls.
Validate
Generated documents are checked before they leave.
Document generation includes a quality and consistency pass against the template and the source data before export.
The first rule shapes the rest. The aim is not an agent that makes ECM decisions. It is an analyst who spends their day on decisions because the agents did the rest.
Results
What changed for the deal desk
- 70% less manual ECM processing time — enrichment, IOI updates, standard memos and weekly overviews now run through the agents, so analyst time goes to the deals that need it.
- 70% of routine tasks completed automatically, with complex decisions escalated to an analyst, reasoning attached.
- 85% accuracy on standard ECM queries, answered from the deal history rather than the model’s memory.
- Market alerts in under 30 seconds, each one carrying a written explanation and a priority.
- 99%+ uptime on a scalable architecture — with a framework that takes new agents, so scoring and analytics agents slot into the same supervisor and graph.
Analysts stopped spending their weeks keeping the data current and started spending them on the deals.
Beyond the numbers
What else changes
The deal history stops being a record and becomes something you can ask. “Which issuers in this sector came back within a year?” is a question an analyst would not have time to answer by hand. On the graph it is one sentence.
And because each agent owns one job, the next one — a scoring agent, an analytics agent — is an addition, not a rebuild.
If your analysts spend more time on data than on deals
The first question is which half of their week is routine. That is answerable from a week of their requests, before anything gets built.