Daily WooCommerce sales recap in Slack

By General Input

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

Integrations

  • WooCommerce
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Operations

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).

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them