Studio
Case study · Reporting and monitoring

Reports that draft themselves and alarms that fire before things break

The team runs a weekly all-hands, reports on its ad spend, and depends on dozens of automations that use AI and data API keys. We built the n8n workflows that draft the Monday slides, keep ad data in the warehouse and warn the team before a broken key breaks everything that uses it.

Three schedules, each with one job and one place where people see the result.

Team
Leadership and engineering
Built with
  • n8n
  • Claude
  • Google Slides
  • Meta Ads
  • Slack

The problem

Mondays started with copy and paste.

Before every all-hands, someone collected the week's sales, metrics and team updates from several tools and built the slides by hand.

Ad performance lived in the ad platform. Any report that needed it started with an export.

Many automations shared the same AI and API keys. When one expired or ran out of credit, several workflows failed at once, and the first sign was a pile of confusing errors.

What we built

All-hands slides drafted on Monday morning

Every Monday at 06:00, the workflow gathers the week's sales, metrics and team updates, and Claude writes them into the all-hands slide deck. A Slack message says the draft is ready for review.

Ad performance in the warehouse every morning

Early every morning, ad performance reports are pulled into the data warehouse, each one starting where its last run stopped. Reports read from one place instead of from exports.

Every AI key tested every 15 minutes

Every 15 minutes, a workflow tests 34 AI and data API keys. A failed key raises an alert in the infrastructure channel before the automations that use it start to fail, a reminder every 6 hours while it stays broken, and a message when it works again.

Guardrails

How it stays trustworthy

Reports and alarms only help if people believe them.

  • The slides are a draft that the team reviews before the meeting
  • A dry-run switch tests changes without touching the real deck
  • Each ad report resumes from where it stopped, so a failed run is caught up
  • Failed ad syncs are logged, not skipped
  • Key checks alert before dependent automations fail

Why we built it this way

Draft, not deck

Claude writes the first version. The person presenting still owns the story.

Resume, not reload

Each ad report remembers where it stopped, so a failed run is caught up on the next one instead of reloaded from scratch.

Test what everything depends on

One expired key can break many workflows at once. Checking the keys directly turns a pile of confusing failures into one clear alert.

Measured

What the team can see

Each schedule reports in the channel that owns it.

  • A Slack message when the weekly draft is ready
  • Ad sync failures, logged per run
  • Which key failed, when, and when it worked again

Who builds your Monday numbers?

Tell us where your numbers live. We'll show you what can be drafted before your team logs on.

Book a 15-min call