Runs on a schedule
Daily, weekly, or the last Friday of the month — the report goes out whether or not anyone remembers.
Monday metrics in Slack, Friday summary in the inbox, month-end pack in the drive — built from live data, not from whoever had time to copy-paste. You define the report once and the workflow keeps sending it.
Deploys this workflow into your workspace — you'll connect your own accounts.

Workflow that loops over data sources and collects rows from each into one dataset
* Illustrative example, not measured customer data.
Daily, weekly, or the last Friday of the month — the report goes out whether or not anyone remembers.
Pull figures from your database, billing, and ad tools into a single summary instead of six open tabs.
If a metric jumps or a pipeline runs dry on a Wednesday, you hear about it that Wednesday.
Slack channel, email, or a spreadsheet row — the report lands where the team already looks.
Point the workflow at your sources, shape the numbers, and pick a delivery time. It runs from then on.
One workflow queries your database, billing system, and ad platforms in a single run — no exports, no tab-switching.

Workflow that loops over data sources and collects rows from each into one dataset
None of this is complicated math. A weekly digest is five or six numbers everyone technically has access to somewhere. The work is chasing down where "somewhere" is: eight tabs open across a warehouse, a billing dashboard, an ad platform, and a spreadsheet someone built two summers ago that nobody can fully explain anymore.
The bigger cost shows up as distrust, not lost time. Three people quote three different "total signups" numbers in the same meeting — each pulled from a different query, a different date cutoff, or a stale copy of the sheet. Nobody is wrong on purpose. Nobody is working from the same definition.
Warehouse, billing, ad platform, and a spreadsheet nobody remembers building — reassembled from scratch each time.
Whoever pulled the number last defines the number, until someone checks the query behind it.
A metric can fall off a cliff on Tuesday and nobody notices until Friday's readout.
WEXTL doesn't replace whoever owns the report — it removes the part of the job that was never really analysis: finding the number, formatting it the same way twice, and remembering to hit send.
A concrete run, start to finish — the kind of digest a report owner clones from the template library and points at their own sources.
Trigger: the schedule fires Monday at 7am, or someone triggers a manual run to backfill a past week.
Human judgment
A report leaving the team, or a number sitting outside its trailing baseline, holds for review. The routine internal Monday send doesn't wait on anyone.
Monday 7am, or a manual "run now" for a backfill — warehouse, billing, ad platform, CRM, support queue, and the one spreadsheet still kept by hand join into a single dataset.
Each source is checked against a required-freshness rule; a source still mid-ETL holds the run instead of publishing early.
Rollups and week-over-week/run-rate comparisons computed exactly as defined on the canvas, the same way every time.
Summarizes the aggregated table into a few lines, grounded only in numbers already computed.
Leadership gets the five-line summary, the team gets the full table; anything leaving the team pauses for review first.
Posts to Slack and emails the distribution list, then appends an immutable row with a link back to the source run.
Walks back past weekends and marked holidays instead of firing on a fixed date.
Billing totals are pulled only once the period is marked closed, and month-over-month is computed from last month's archived row, not a live doc someone may have since edited.
Grouped by cost center with the same field mapping every month; any line outside its rolling 3-month range is flagged inline instead of buried in a footnote.
Writes an explanation only for what actually needs one, not the whole pack.
The pack always waits for a human; there's no auto-send switch for a board-facing report.
Sends the approved pack and writes the immutable archive row this month's close gets audited against.
The same mechanics, applied to a higher-stakes send: figures that only make sense once the books are actually closed, and a pack that always leaves through a human.
Trigger: the last business day of the month — not a fixed calendar date, so a 31st that falls on a Saturday doesn't fire into a weekend nobody reads until Monday.
Human judgment
Anything board-facing or leaving Finance holds for a person. The workflow assembles the numbers and drafts commentary on the outliers; someone still signs off before it leaves the building.
Judgment showed up exactly where it mattered — the sign-off, the outlier. Everything else just ran on schedule.
Every team eventually has someone whose name is quietly attached to a number that has to show up on time. This is built for that person, whatever their title happens to be.
A revenue or MRR line usually starts as a dashboard someone screenshots and pastes into a deck — a number nobody can re-derive a week later.
Pull the figure straight from billing on the same schedule as everything else, and it lands in the archive as a queried number with the query attached, not a picture.
Billing pulls on the same run as every other source, not a separate manual export.
Each figure keeps the query that produced it, not just a static value.
Appended alongside the rest of the digest, not a separate finance-only doc.
A report is only as trustworthy as its weakest source. These are the tools most reporting workflows actually query and deliver through — an HTTP step reaches a warehouse or internal metrics API with nothing native.
Delivery and source apps are wired the same way: query once, format for the audience, send where the team already reads.
Integrate Reporting workflows with the tools your team already uses.
| Task | By hand | With WEXTL |
|---|---|---|
Building the report | A Friday afternoon and eight tabs | A scheduled run that takes about a minute |
Number definitions | Three people, three totals | One set of queries, identical every run |
Delivery | Whenever someone gets to it | Same time, same format, every send |
Catching a bad week early | Discovered at the Friday readout | Supported |
Where a figure came from | A shrug and a screenshot | Per-step run logs with the actual rows |
When the report owner is out | The report is out too | Supported |