The Problem

Ravi runs operations for a mid-sized e-commerce brand doing around £800k/year in revenue. Every Monday morning, he and his team started the week the same way: opening five different Google Sheets — orders, inventory, returns, ad spend, and support tickets — pulling the relevant numbers, doing some quick maths, writing them up in a formatted message, and posting it to the #ops-digest Slack channel before the 9am standup.

The whole ritual took between 2 and 2.5 hours, every single Monday, without fail. When Ravi was on leave, someone else had to do it, which meant explaining the process, hoping the numbers were pulled correctly, and usually the digest arriving late. On a holiday Monday, it sometimes didn't happen at all.

"It's not hard work," he told us. "It's just relentless. Every week, same steps, same sheets, same channel. I keep thinking there must be a better way, but I haven't had time to figure it out."

Sound familiar? Manual reporting is one of the most common time sinks we see in ops teams. The data already exists — it's just sitting in the wrong format, in the wrong place.

What He Actually Needed

Ravi didn't need a BI tool or a new dashboard platform. He needed three things:

Everything he needed was already there. The only missing piece was the automation gluing it together.

What We Built

The solution was a single n8n workflow triggered every Monday at 07:45am. Here's how it flows:

weekly ops digest — Google Sheets → Slack via n8n
Cron Trigger
Mon 07:45am
──▶
📊
Fetch 5 Sheets
Parallel reads
──▶
🧮
Metric Engine
Calc + delta
──▶
✍️
Format Digest
Slack blocks
──▶
💬
Post to Slack
#ops-digest
↳ 5 sheets read in parallel → metrics calculated with week-on-week delta → formatted Slack message posted at 08:00am → team ready for standup

The workflow reads all five sheets in parallel to keep runtime under 15 seconds. Each sheet has a dedicated sub-flow that knows which columns to pull and which calculations to run — total orders, fulfilment rate, return rate, ad spend vs. revenue ratio, open support tickets vs. closed.

The metric engine then calculates week-on-week deltas automatically. If orders are up 12% versus last Monday, the Slack message shows a green arrow and the number. If return rate has ticked up, it's flagged in amber. The team sees at a glance what's moved, not just what the current number is.

The Slack message uses native Block Kit formatting — sections, dividers, emoji status indicators — so it looks clean and is easy to scan in under 30 seconds. We also added a "data as of" timestamp so the team knows exactly which date range is being reported.

The whole build took two and a half days: one day setting up the sheet reads and metric calculations, half a day getting the Slack formatting right, one day testing with real data and edge cases (empty cells, sheets not yet updated by Monday morning, public holidays).

Edge Cases We Had to Handle

One thing that always comes up with reporting automations: what happens when the data isn't ready? Ravi's team updates their sheets throughout the week, but occasionally a sheet wasn't fully updated by Monday morning. We added a validation step that checks whether each sheet was last modified within the past 7 days. If not, the Slack message includes a small warning flag next to that section so the team knows to double-check manually before acting on it.

We also handled the week-on-week comparison carefully. The first run had no previous week to compare against, so we seeded it with the prior week's numbers manually. After that, the workflow stores a snapshot of each Monday's metrics in a separate "history" tab — lightweight, readable, and available if the team ever wants to build a chart.

The Result

// measured results — 6 weeks post-launch

The delta feature turned out to be the most valuable part. In week three, the return rate flag caught a product with a sudden spike in returns — a supplier had shipped a bad batch. Without the automation, that would have been buried in a spreadsheet until someone went looking for it. With the automated digest highlighting it in amber, the team caught it before the next reorder.

"The numbers used to sit in the sheets until someone found them," Ravi told us after the first month. "Now they come to us. It sounds obvious, but it changes how the team operates."

What This Actually Cost

We built this under our Starter plan — one focused workflow, a handful of integrations, delivered in under a week. Ravi got the n8n workflow exported, the Google Sheets structure documented, and a short Loom explaining how to adjust the metric calculations if the business changes. No retainer, no ongoing fee to us.

If your team is spending hours every week manually compiling data that already exists in a spreadsheet somewhere, get in touch. This kind of automation is usually faster to build than people expect.