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.
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).
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.
FAQs
Does this work if my store does not get orders every day?
Can I send the recap to more than one Slack channel?
Will refunds and cancellations be counted?
How does it know what is a spike or a drop?
Can I change the time it runs?
Related templates
Stage a batch of filings overnight, then approve each completed form from a screenshot before anything is ever submitted.
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Review every conversation Fin closed as resolved, judge which ones actually stuck, and see what the gap is worth against your bill.
Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
One place for sales and ops to request an NDA or vendor agreement, watch its status, and let legal launch the contract in a single click.
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.