Weekly Reporting Workflow: Numbers Pulled, Narrative Drafted, Sent on Monday
Every team produces a weekly report from the same queries and the same template, and someone spends Monday morning assembling it. The workflow runs the queries, computes the week-over-week and target deltas, has an AI agent draft the narrative — what moved, why, what to watch — from the numbers and last week's report, and posts it for a one-click approval. The person who used to assemble it now edits three sentences.
Written by Max Zeshut
Founder at Agentmelt · Last updated Sep 11, 2026
The problem
Reports are late, inconsistent between weeks, and built by copying numbers between tabs. The narrative is either missing or written under time pressure. Nobody compares this week to the target because the target lives somewhere else.
What changes when it runs
The report arrives at 7am Monday in the same format every week, with every number sourced, deltas against last week and target, and a narrative that names the three things that changed. The owner approves or edits, and it goes out. Leadership reads a consistent document; the team gets Monday morning back.
Trigger, then 8 steps
Trigger
Schedule Trigger (Monday 6am)
Weekly run after data sources have closed the week; on-demand run for ad-hoc periods.
Run the metric queries
PostgresEach metric defined once in a query catalogue (SQL, API call or sheet range) with owner and target; the run executes all of them for the period and the comparison periods.
Assemble the metrics table
CodeCurrent, previous week, same week last year and target per metric; deltas and flags for metrics outside their tolerance band.
Pull context
HTTP RequestNotable events from the week — releases, campaigns, incidents, holidays — from the calendar, changelog and incident tracker, so the narrative can explain moves.
Draft the narrative
AI AgentFrom the table, the context and last week's approved report, the agent writes the summary: the three biggest moves with likely causes from the context, metrics off target, and what to watch. Every claim references a number in the table.
Render the report
Google DocsTemplate filled with the table, charts generated from the numbers, and the narrative; also a Slack-ready short version.
Approve
WaitOwner reviews in Slack — approve, or edit the doc and approve; edits are kept for next week's prompt context.
Distribute
SlackPosted to the leadership channel and emailed to the list; the doc archived by week.
Maintain the catalogue
Google SheetsMetric definitions, owners and targets live in a sheet; adding a metric is a row, and broken queries alert their owner rather than silently dropping out.
Data it touches
- Data warehouse / databases (BigQuery, Snowflake, Postgres)
- SaaS APIs (HubSpot, Stripe, GA4, Zendesk, Jira)
- Metric catalogue with targets (sheet)
- Calendar, changelog, incident tracker (context)
Guardrails
- Every number in the narrative must appear in the metrics table; the agent cannot introduce figures.
- Causal claims are phrased as likely and tied to a context event; where no event exists the narrative says the cause is unknown.
- The report is approved by its owner before distribution.
- Broken or missing metrics are flagged in the report, never silently omitted.
The catalogue is what makes it reliable
Automated reports break when a query changes or a metric is redefined by someone who forgot to tell the report. Keeping every metric as a row in a catalogue — definition, query, owner, target — makes the report a rendering of the catalogue. A broken query alerts its owner; a new metric is a new row. The narrative is the visible part, but the catalogue is what keeps it correct.
Narrative that respects the numbers
The agent is given the table, the context events and last week's approved narrative, and told that every claim must reference a number and every causal statement must point at an event. That constraint is what makes the draft trustworthy: it cannot say revenue rose because of the campaign unless the campaign is in the context and revenue is in the table. Owners edit tone, not facts.
Tools in the stack
| Tool | Role in this workflow |
|---|---|
| n8n | Queries, assembly, rendering, approval, distribution |
| Claude | Narrative drafting |
| BigQuery / Snowflake / Postgres | Metric sources |
| Google Docs + Slack | Report and delivery |
Want this running without building it?
Automation workflow
$197/month
We set up, host and maintain this workflow on n8n and connect it to your tools. Setup included, cancel monthly, you keep the JSON.
Custom build
$2,500–4,500 one-time
Your systems, your rules, your edge cases. A one-off build on Claude and n8n, delivered with documentation and a walkthrough.
Per report with up to 30 metrics from up to five sources. Board decks with custom charts or multi-team roll-ups are a custom build.
Frequently asked questions
Can it produce charts?
Yes — standard line and bar charts from the metrics table, rendered into the doc. Custom visualisations are a custom addition.
What if a data source is late?
The report notes which metrics are provisional and re-runs when the source updates, replacing the doc and notifying the owner.
Monthly and quarterly reports?
Same workflow with a different period and template; the narrative compares against the prior period and the plan.
Case study
AI Operations Agent for Logistics: 45% Reduction in Manual Reporting
How a 3PL logistics company used an AI operations agent to automate reporting, exception handling, and workflow orchestration across 12 warehouse locations.
Calculator
Put your own numbers in
Estimate the cost of the current process and what this workflow changes.
The pillar
AI Operations & IT Agent
Automate internal IT tickets, employee onboarding, and system monitoring.