Reporting Engine
Autonomous social reporting agent
Manual reporting day → ~25 minutes.
An agent designed to pull every social source, reconcile native vs scraped numbers, score the narrative against a brand-voice gate, and ship a finished report to Sheets, Docs and Slack — unattended.
Reporting used to eat a full day per client: exporting Sprout, cross-checking native dashboards, hand-building decks, second-guessing every stat. The work was high-effort, low-altitude, and easy to get subtly wrong.
Instagram reporting agent — live pull, anomaly flags, and the QA gate that has to pass before anything ships.
Pull every source
Agent pulls 7/30/90-day windows from Sprout and the Instagram Graph API in parallel, plus paid spend from Meta. One run, every account.
Native beats scrape
Dedupes overlapping metrics and applies the native-beats-scrape rule — when a third-party number disagrees with the platform's own, the native figure wins. No double-counting.
Pace-weighted KPIs + anomalies
Computes week-over-week deltas, pace-weighted KPI progress against goal, and flags statistical outliers (a post 3σ above its baseline gets surfaced, not buried).
The eval gate — the moat
Every stat is re-derived from source and every line of written narrative is scored against the brand-voice + stat-accuracy rubric. Below threshold, it does not ship — it loops back. This gate is the whole product.
Write the report
Generates the narrative using the 4-question report framework, builds the data tables, and drafts the Slack-ready summary — in the client's voice, not a template's.
Sheet → Doc → Slack
Writes the data sheet, publishes the formatted doc, and posts the summary to the client channel. The operator reviews a finished artifact instead of building one.
Anyone can wire an API to an LLM and generate a report. The defensible part is the eval gate: a scored rubric that re-checks every number and every sentence before it ships, so the output is trustworthy enough to send to a client unattended. The reclaimed hours don't disappear — they get redirected up an altitude, to the strategy the report is supposed to inform.
want this for your team?
Let's build it →