How I Built a Team of Finance AI Agents
They catch what I miss, run 24/7, and only pull me in when something actually needs me.
👋 Join thousands of other finance leaders learning more about AI. I am sharing all the things I (and others) are doing with AI and how you can build an AI-first team/company.
For this post, I asked Alex Altman (Head of Finance at Coram) to explain how he built a small army of AI agents to automate a lot of his review work and catch things he’d normally miss across finance, accounting, and sales ops. He’s built an agent system that’s keeping his team lean and more productive than ever.
How I Built a Team of Finance AI Agents
—by Alex Altman
At Coram I own finance, accounting, legal, HR, ops, inventory, and shipping. It’s a lot to cover while we’re growing quickly. Instead of immediately hiring more people, I started building AI agents for every major function that was higher risk and took up my time.
It was fairly easy to set up with immediate ROI:
Output has improved (numbers are more accurate, fewer mistakes, etc)
I’ve freed up a lot of my time for other things
The agents give me better visibility and confidence into the areas I own but don’t run day-to-day, and they take direct work off my plate where I am the one doing the work.
Each agent watches a specific part of the business, runs on its own schedule, and only talks to me when something needs my attention. They all live in Slack and they’re all connected to our tools - ERP, CRM, AP, procurement, Google Drive, and more.
Here’s what I’ve built so far, and where it’s going.
How these actually get built
Before the agents themselves, the practical part - because this is more accessible than most people think, and there are two paths.
Path 1: MCP connections. You connect Claude directly to your tools through MCP. A finance person can do this immediately, no engineering required. The tradeoff is that each agent queries those APIs live every time it runs, which is slower, can get expensive, and makes it harder to trace a flag back to its source. Great for getting started and proving value.
Path 2: Centralized database. Once you find this valuable, you move the underlying data into a database like Supabase, and the agents read from that instead of hitting each API live. Everything lives in one place, every agent works off a consistent source of truth, and when something gets flagged you can drill straight through to the underlying data. This is what makes the whole thing sustainable at scale.
The build mechanics are the same regardless of path. For each agent you:
Write a skill file that defines what the agent is responsible for, the data sources it watches, and exactly what should get flagged to you
Set up a scheduled prompt so it runs on its own cadence
Tell it to notify you in Slack, or wherever works for you (that instruction lives in the skill file too)
And if the above sounds complicated…it’s not. You just tell Claude and it will do it for you!
One rule that matters: give each agent a clear, narrow responsibility. Don’t try to make one agent do everything - the instructions get muddy and the results get worse. And expect to tune the flags over time, because too many flags is just noise and too few means you’ll miss things.
Building My AI Agent Finance Team
I have segmented my finance AI agents into four categories based on what they do.
Watchers (AP, AR, GL, Cash) monitor transactions and operations in real time
Analysts (variance engine, financial analyst) compare results against expectations
Investigators dig into flags, filter signal from noise, and decide what to escalate
Controller routes escalations to the right person and confirms resolution
The AP Agent (watcher)
The AP agent reviews every bill and every credit card expense that hits our accounts. For each one it does three things:
Checks Google Drive to see whether the vendor has a contract on file, and flags any new vendor without one
Compares the GL coding against how this vendor has been coded historically, and flags anything different
Compares the size of the bill against historical bills from the same vendor, and flags outliers
The simplest way to set this up: upload your AP and expense policy, and tell the agent what you want flagged to you.
I get an alert every morning with the day’s bills, what passed, what was flagged, and what the agent recommends for each one.
The first week it ran, it caught a bill from a vendor we’d been paying for months that didn’t have a contract saved in Drive. Filing discipline I’d been meaning to enforce, now enforced automatically.
The AR / Sales Ops Agent (watcher)
The AR agent watches the other side of the business. For every closed-won deal in our CRM it checks three things:
That the deal record is clean - a number of fields are supposed to auto-populate from the signed quote, but they don’t always populate correctly, so the agent verifies the numbers tie
That an invoice has actually been raised for the deal
That any overdue invoices have a documented response or collections plan
It runs every three hours and gives me a daily summary.
It’s a sales ops agent as much as a finance agent, because CRM cleanliness is a constant battle. The agent doesn’t fix the data itself, but it surfaces every issue so I can route it to the right person.
Right when I set this up, it caught four closed deals where line items hadn’t flowed through correctly from our quote-to-cash pipeline. Without catching it, we would have had incorrect revenue, COGS, and ARR downstream. I fixed the deals manually before quarter-end close and sent the underlying bug to our engineer. That one catch alone paid for the time it took to build.
The GL Review Agent (watcher)
This agent watches the books directly. Every transaction that hits the GL - journal entry, expense, bill, anything - gets evaluated against historical patterns and the prior period. It only surfaces transactions that look off: a coding that doesn’t match how similar transactions were handled before, an amount outside the normal range, anything unexpected. The clean, normal transactions never reach me.
This is the cleanest example of how I think about using AI in finance. The accounting itself happens deterministically through the systems I’ve already built. The monitoring happens probabilistically, with the agent watching for anomalies. I look at the flags when there are flags, and otherwise I leave it alone.
The Cash Agent (watcher)
The cash agent watches the thing every founder actually cares about: where the money is and where it’s going. It pulls our bank activity, AP, and collections together and maintains a rolling 13-week cash forecast, so instead of someone rebuilding a cash model every couple of weeks, it’s always current. It flags the things that move the picture - a big outflow week coming up, collections slipping behind, runway dropping faster than expected.
What makes it powerful is that it rolls up into the controller alongside everything else. If the cash agent sees collections falling behind, that’s not just a number on a forecast - it becomes a routed action item to the right person to chase the specific overdue accounts driving it. It connects the “what’s happening to our cash” question to the “who needs to do something about it” answer, which is usually where cash forecasts fall apart.
The Analyst Agents
The agents above all look at transactions as they happen. The analyst agents do something different - they look at results against expectations.
I actually have two, because they do different jobs.
Variance Engine Agent. It compares actuals to plan every Monday morning across the metrics that matter (Net New ARR, Gross Margin %, Runway, Burn, etc) and surfaces anything beyond a defined threshold. Those thresholds live in a simple config file I can edit (any metric more than X% off plan, any opex line over $Y in variance, departments more than Z heads behind hiring plan, and so on), so I can tune what’s worth flagging without touching the underlying logic.
Financial Analyst Agent. This one doesn’t compare to plan - it studies the actuals themselves and asks “what’s odd here?” MoM and QoQ deltas, gross margin drift, DSO trends, customer concentration, inventory days, mix shifts. It runs monthly after close and produces a handful of numbered observations, each with a quantified change, a hypothesis, and a suggested follow-up. This is the “what does Alex ask his analyst at 7pm on a Sunday” content.
Where the variance engine asks “are we tracking to plan,” the financial analyst asks “what should we be paying attention to that we didn’t think to ask about?”
Both feed into the investigation agent.
The Investigation Agents
Flagging something and explaining it are two different jobs. The analyst agents are good at noticing that hardware margin compressed. But figuring out why requires its own toolset and its own playbook - pull SKU costs, look at average discount and ASP, check for allocation errors. Every domain is like that. So the investigation agent isn’t one generalist. It’s a set of specialists, each with its own analytical playbook, and it routes a flag to whichever specialist is right for it.
The proof it works: on its sixth run, the working capital AI agent self-reported a data gap. It said “inventory data missing from working capital pack” and stopped. That’s exactly the right behavior - a specialist using its tools, finding the data wasn’t there, and being honest about it rather than making something up.
The Controller Agent
This is the layer that turns a pile of agents into an actual team. The watchers and analysts all generate flags, the investigator decides which ones matter, and the controller takes it from there - it routes each escalation to the right person and owns the follow-through. CRM cleanliness issues go to sales ops, billing issues go to our accountant, AP issues go to our admin, and so on. It tags the person in Slack, makes the ask clear, and then actually checks back to confirm the work got done instead of letting it disappear into a backlog.
Once this went live, I stopped being the router. Before, I was the one reading every agent’s output, deciding who needed to act, and chasing it down. Now I only get pulled in when something genuinely needs me. The controller handles the coordination layer that used to eat a surprising amount of my week - and nothing slips, because following up is the agent’s job.
The Finance AI Agent Stack
Once you put all of these AI agents together (watchers, analysts, investigators, and controller), you create an AI team that does meaningful work. Your numbers and accuracy improve. Things get done faster because the agents work 24/7. There are more controls as agents ensure your policies are followed.
Start building AI agents now and you’ll quickly see the ROI. They won’t get everything perfect the first time (just like a new hire), but continue to refine the skills and they will get better.
Footnotes:
I am opening up sponsorships for the first time for this newsletter (CFOpilot). Reach out now and get amaaazing prices! Email onlycfo@onlycfo.io
Subscribe and forward this newsletter to your team.






