Daily WooCommerce sales recap in Slack

Every weekday at 8am, get yesterday's WooCommerce revenue, top products, and anomaly callouts posted to a Slack channel.

Agentic Task
WooCommerceSlack BotSalesOperationsDaily DigestsAI Reports

Build me an agent workflow that posts a daily sales recap from WooCommerce to a Slack channel every weekday at 8am.

Trigger: cron, every weekday (Monday through Friday) at 8:00am in my local timezone.

Each run, the agent should:

1. Use the WooCommerce List Orders operation to pull yesterday's orders, filtered by status processing and completed, using yesterday's date range (00:00 to 23:59 local time). Paginate if needed.

2. Compute the following for yesterday: total revenue, order count, average order value, top three SKUs ranked by units sold, and top three customers ranked by spend (use customer name or email).

3. Also pull the prior seven days of completed and processing orders (the seven days before yesterday) and compute the rolling daily average for revenue, order count, and average order value. Compare yesterday's totals to that rolling average and flag anything that moved meaningfully up or down. Also flag any single order that is unusually large compared to the seven-day average order value.

4. Use the Slack Bot Send a Message operation to post the recap to the Slack channel I configure. Format the message as: a one-line headline that summarizes yesterday in plain language (for example, "Yesterday: 42 orders, $6,240 revenue, in line with last week."), followed by a short bulleted list with revenue, order count, average order value, top three SKUs, and top three customers. If any anomalies were detected, add a short "Worth noting" section with one bullet per anomaly written in plain English (for example, "Revenue is up 38% vs the 7-day average" or "One order from Jane Doe totaled $1,840, about 5x the typical order").

Tone rules for the Slack message: neutral, factual, concise. No marketing language. No emojis unless I add them later. Do not use em dashes anywhere in the output; use periods or commas instead. Format numbers with currency symbols and thousands separators. Use Slack mrkdwn (single asterisks for bold, not double).

If yesterday had zero qualifying orders, still post the message, say so plainly, and include the seven-day comparison so the channel knows the workflow ran.

Configurable inputs I should be able to set: the Slack channel ID or name, the schedule, and the anomaly threshold (default: flag anything more than 25% above or below the seven-day rolling average).

Additional information

What does this prompt do?
  • Posts a one-screen recap of yesterday's WooCommerce sales to the Slack channel you choose, every weekday at 8am.
  • Shows yesterday's revenue, order count, average order value, top three products by units sold, and top three customers by spend.
  • Compares yesterday against the prior seven days so spikes, drops, and unusually large orders get called out in plain language.
  • Keeps the tone neutral and the message short so it reads like a daily standup, not a wall of numbers.
What do I need to use this?
  • A WooCommerce store with REST API access (you will create a read-only API key in WooCommerce Settings).
  • A Slack workspace and a channel where the recap should be posted.
  • Permission to install the General Input Slack app in your workspace.
How can I customize it?
  • Change the schedule. Move it to 7am, run it seven days a week, or send it Monday only as a weekend recap.
  • Change the channel. Point it at #sales, #ops, a private leadership channel, or a direct message.
  • Change what counts as an anomaly. Tighten or loosen the threshold for spikes, drops, and large single orders.
  • Add or remove sections. Drop the top customers list, add refunds, or include shipping totals alongside revenue.

Frequently asked questions

Does this work if my store does not get orders every day?
Yes. On a day with zero orders, the recap says so plainly and still includes the seven-day comparison so the channel knows the workflow ran.
Can I send the recap to more than one Slack channel?
Yes. Tell the workflow which channels you want and it will post the same recap to each one. You can also send it as a direct message to specific people.
Will refunds and cancellations be counted?
By default the recap only counts orders that completed or are being processed. You can ask the workflow to subtract refunds or report them as a separate line.
How does it know what is a spike or a drop?
It compares yesterday's revenue, order count, and average order value against the rolling average from the previous seven days, and calls out anything that moves meaningfully in either direction.
Can I change the time it runs?
Yes. The default is 8am on weekdays in your local time, but you can pick any schedule that works for your team.

Stop opening the WooCommerce reports tab every morning.

Connect WooCommerce and Slack once, and Geni posts yesterday's sales recap to your channel every weekday at 8am.