AI implementationTomasz Stępnik · a developer, not a slide deck

Recurring reports with AI commentary


The report someone assembles on Monday morning from the CRM, two spreadsheets and a database assembles itself. AI adds the commentary, every figure leads back to its source, and the result lands by email or on the team channel. Same time, every week.

What I implement

  • Data sources

    CRM (Salesforce and others), Google Sheets and Excel, SQL databases, systems with an API, CSV exports. Several sources in one report.

  • A read-only account

    The report runs on a separate account that sees only the objects and fields it needs. It cannot change or delete anything. You can switch it off at any time.

  • A query, not a guess

    The figures come from a database query or a CRM report, not from a language model. AI receives a finished table and writes about it.

  • AI commentary

    Comparison with the previous period, outliers, three things worth attention. In the length and tone you decide. No invented reasons that are not in the data.

  • Verification

    Every figure in the commentary is checked against the source table. If it does not match, you get a warning instead of a report.

  • Delivery

    Email, Teams, Slack, a PDF on Drive, a row in a spreadsheet. At a fixed time, to the people you name.

  • Someone watching

    A run log, an alert when the report did not arrive or a source returned an empty table. A monthly check that the commentary still makes sense.

  • Questions on demand

    The “ask” variant: a question in plain language, an answer from the data, on the same read-only account. For people who do not want to wait until Monday.

How it goes

  1. A call and a sample report

    You show me the last report, tell me where the data comes from and how long it takes. One hour.

  2. Account and access

    A separate, read-only account in each source. No fields the report does not need.

  3. A prototype in 1–2 weeks

    The first reports go to one person only, who compares them with their own manual version. We fix the queries and the commentary.

  4. Go-live

    The automatic report replaces the manual one. A month of observation: do the figures match, is the commentary read, does anyone correct it.

  5. Care

    A field changed in the CRM, someone moved a spreadsheet, the vendor swapped the model. Someone has to notice and fix it before management gets an empty report.

What AI does, and what it does not

A query counts the figures. AI writes about the figures. Never the other way round.

A language model is good at writing and poor at arithmetic. So in my reports AI never gets raw data with a request to “work out the sales”. It gets a finished table from a query and writes the commentary: what went up, what went down, what is unusual for the week. A second step then checks that every figure in the commentary appears in the table. If not, the report does not go out.

The commentary has rules: it does not invent reasons that are not in the data; it says “the data does not show why” instead of guessing; it does not change its mind from week to week about what matters. We set those rules together on the prototype and write them down. More in the article on the anatomy of the Monday report.

Questions about reports

Can AI get the figures wrong?

It can, which is why it does not calculate them. The figures come from a query against the source, and the commentary is checked against those figures before it is sent. If something does not match, you get a warning instead of a report.

We have no database, only spreadsheets.

That is enough. Google Sheets and Excel on OneDrive are perfectly good sources. We only agree which spreadsheet is the “truth”, so the report does not read a copy from last year.

Can the report include customer data?

It can, if that is needed and the recipients are entitled to it. What goes to the model is usually aggregated or anonymised; names and numbers stay in your systems. We agree this at the start and I record it in the documentation.

What if we change something in the CRM or the spreadsheet?

The report will notice: a missing field or an empty table triggers an alert, not a silent, wrong report. Under a care arrangement I fix it within the monthly hours; otherwise as a small job.

Can we ask questions of the data as we go?

Yes, it is the same mechanism in “ask” form: an assistant connected to the source on a read-only account. I describe it on the page about AI connected to your systems.

Is there a task someone at your company does by hand every week? Describe it in one sentence.

I reply within one business day. The first call is free of obligation.

Describe the task

Describe what you want automated

One sentence about the task is enough to start. You do not need to know the names of any tools. I reply within one business day.

Where the data lives

Prefer email? [email protected]. Phone: +48 666 684 431.