Turning Financial Reporting Into a Slack Conversation: An AI Finance Agent for Pare & Co
The firm’s revenue picture lives across QuickBooks, HubSpot and a dozen derived tables. Penny answers questions about it in Slack, raises what needs attention before anyone asks — and every metric she works from was computed by deterministic code before she saw the question.
The work
The Challenge: A Revenue Picture Spread Across Three Systems
Business data is only useful if the people deciding with it can reach it and read it.
The firm’s own revenue picture spans QuickBooks, HubSpot and a dozen derived tables, and reading it correctly means knowing how those systems and metrics relate to one another. A managing director who wanted to know whether their business unit was on target had two options: dig through the underlying data, or ask Finance and wait.
The firm has dashboards. A dashboard answers the question someone anticipated, on the day a person remembers to open it — and the number that needs attention this month is rarely either.
We wanted the numbers to be accessible and transparent to the people accountable for them, without asking everyone to become an expert in the systems underneath.
The Strategy: An AI Finance Agent on a Semantic Layer
That waiting is the difference Penny was built around. A dashboard keeps its answer until someone thinks to look; an intelligent agent pays attention. So the data moves in both directions.
Ask, and she answers. Penny is an AI finance agent who lives in Slack, where the team already works. Authorized users message her directly or mention her in a channel and ask in plain language. What’s our booked revenue next quarter? How far are we from the annual goal? What’s the pipeline for my business unit? She works out what the person needs, retrieves the relevant figures and explains them in conversation. And every answer starts from numbers that were computed before she saw the question.
And when the data needs a person, Penny starts the conversation. She watches for what needs attention and sends it to the person it belongs to, before anyone thought to ask.
- A semantic layer computes the metrics. Nightly processes merge the systems into one timeline, compute the metrics people actually ask for and archive each day’s snapshot: governed definitions of revenue, pipeline and goals, produced by code that gives the same answer every time. When a question needs a calculation on top, the gap to a goal or a change since spring, Penny works it out from those governed numbers, never from raw data. Left to compute metrics itself, a model would be right most of the time. Most of the time is not a standard to run a finance function on, which is why this guardrail is built into the pipeline and tested there.
- A small model guards a capable one. A lightweight gatekeeper decides whether a message is a real question before the Claude agent is invoked at all, which is what lets Penny sit in a channel without answering every “thanks.”
- Access is a list, and read-only. Who can ask is an allowlist: adding a row grants access, removing it revokes it, and no one edits the n8n workflow to onboard a colleague. Penny’s own access to the data cannot write anything anywhere.
- The goals check is the proactive pattern. A monthly workflow confirms revenue goals exist for every business unit across the next sixteen months. A missing goal gets a direct message to its owner; everything in order gets silence.
The Outcomes: Financial Reporting at Conversational Speed
Financial reporting at the firm is now something a person asks about, in the tool they already have open.
Answers arrive in Slack at conversational speed. Revenue, pipeline, goals and forecasts, the questions an FP&A team fields all week, are legible without opening the systems they live in. Business leaders read the data they are accountable for directly, routine questions no longer queue behind Finance, and the numbers stay trustworthy: every metric Penny works from was computed by deterministic code before she saw the question.
And the reporting no one thought to ask for arrives anyway. When the data says something needs attention, Penny raises it first, with the person it belongs to. No dashboard had to be opened, and no one had to know there was something to look for.
The systems underneath stay complex and the calculations stay rigorous. The person who needs an answer asks, “How are we doing?” And when something is off, Penny brings it up first.
The detail
Why it mattered
- Three systems that do not talk to each other. QuickBooks holds the invoices, the truth about money already booked. HubSpot holds the deals, won and still open. Airtable holds the layer that makes the two legible together: a dozen tables of snapshots, history, goals, jobs, clients and derived rollups.
- Reading it correctly is a skill. A snapshot row is a picture as of its month, so summing across rows double-counts overlapping windows and produces a number that looks plausible and is wrong. The unified invoice timeline already merges two sources, so pulling those sources alongside it counts the same revenue twice. One field name says the opposite of what the field holds.
- So a managing director had two options. Learn all of that, or ask Finance and wait.
- A dashboard answers the question someone anticipated. The firm has those. The questions that actually get asked arrive in a person’s own words: what does this pipeline look like, what did we bill this client last quarter, what would the forward three months look like if this deal closed. Each needs someone who knows which of a dozen tables to open first and which totals are already computed. That knowledge lived in one or two heads, and everything else queued behind it.
How Penny works
- Ask where you already work. Penny is built into Slack. There is no new dashboard to learn: team members message her directly or mention her in a channel, and she answers in the thread. Asking about the numbers feels like asking a knowledgeable colleague.
- A semantic layer between the model and the raw data. The nightly pipeline combines the systems, normalizes the data, computes the metrics people ask for and archives each day’s snapshot, so “how has this forecast moved since April” has an answer. The principle is pre-computation: as much of the math as possible happens in deterministic code, where it can be tested and where the answer never depends on how a question was phrased. When a question needs a calculation the pipeline did not anticipate, Penny performs it on those governed figures, and a metric definition is never hers to re-derive.
- Two models, two jobs. A lightweight model reads every message Penny can see and decides one thing: is this a real question. Only real questions reach the Claude agent that does the reasoning. The gatekeeper is what lets her sit in a channel without responding to every “thanks.”
- Access is a list, and read-only. Penny reaches the data through MCP, a read-only connection scoped to a single source, and who can use her is an allowlist: adding a row grants access, removing it revokes it, with no workflow or code changes. The same table holds each person’s name, role and business unit, which Penny uses to interpret “my pipeline” and to fit her answers to the asker’s role, never to decide what someone may see.
- No audit log, on purpose. Penny reads finance data in private messages, and logging those conversations would have been the easy default. It was declined: the privacy of a DM is worth more than the observability, and the security model works at the edges instead, through channel membership, the allowlist and a token that cannot write anything anywhere.
- Proactive, and quiet about it. Penny pushes data out when she judges someone needs to see it, and the goals check is the pattern: a monthly workflow confirms revenue goals exist for every business unit across the next sixteen months. When they do, Penny says nothing. When one is missing, she sends a direct message. That is the kind of alert people still read a year later.
AI finance agent questions
Should an AI agent calculate financial metrics?
As little as possible, and never the definitions. The best practice is a semantic layer: metric definitions computed once in deterministic code, which can be tested and gives the same answer every time. Nightly processes merge QuickBooks, HubSpot and the derived tables, compute the metrics people ask for and archive each day’s snapshot. When a question needs a calculation the pipeline did not anticipate, Penny works it out from those governed numbers. A metric is never re-derived from raw data on the fly.
How does an AI finance agent avoid hallucinating numbers?
By starting from governed numbers. Every metric Penny works from already exists in the data before she receives the question, computed by deterministic code. When she does math on top of them, the inputs are those pre-computed figures, her access to the data is read-only and the metric definitions are never hers to change.
Who can ask an AI agent about company financials?
Whoever is on the allowlist. Adding a row grants access and removing it revokes it, with no workflow or code changes. The same list holds each person’s role and business unit, which Penny uses to interpret questions like “my pipeline” and to fit her answers to the asker’s role, never to decide what someone may see.
Can an AI finance agent work in Slack?
Yes. Penny lives in Slack: team members message her directly or mention her in a channel, and she answers in the thread. A lightweight model first decides whether a message is a real question, so only real questions reach the Claude agent that does the reasoning and Penny can sit in a channel without responding to everything.
Can an AI finance agent be proactive?
Yes, and that is the difference between an agent and a dashboard. Penny pushes data out when someone needs to see it. When everything is in order, she says nothing.
Client leadership

Christopher Murray
Founder & CEOChris Murray founded Pare & Co in 2007 and rebuilt the firm in 2026. He led Penny from concept to prototype to production, where she is now a core tool of the business.