Daily Shopify sales digest in Slack with a narrative summary

Every weekday at 8am, post yesterday's Shopify revenue, top sellers, and average order value to Slack with a short narrative on what looks unusual today.

Agentic Task
ShopifySlack BotOperationsSalesDaily DigestsAI Reports
PromptCreate

Every weekday morning at 8am Eastern, run a Shopify sales digest for yesterday and post it in our team Slack channel. Two systems: Shopify (data) and Slack (delivery). The point of using an agent rather than a static dashboard is the short narrative at the bottom that calls out what looks different about today.

Trigger: cron, Monday through Friday at 8:00am America/New_York. Skip weekends.

Step 1. Pull yesterday's orders from Shopify using the List Orders operation. Filter to financial_status=paid, status=any, and use created_at_min / created_at_max set to the previous calendar day in America/New_York (00:00:00 to 23:59:59 local, converted to ISO 8601 with the correct offset). Paginate fully via the Link header so we get every order, not just the first page. Use a limit of 250 per page.

Step 2. From those orders, have the agent compute:

  • Gross revenue (sum of total_price across paid orders).

  • Order count.

  • Average order value (revenue / order count).

  • Refund count and refunded amount (from each order's refunds array). Keep this separate from gross revenue so a refund surge shows up rather than quietly netting out.

  • Top 5 SKUs by units sold, with product/variant name, units, and revenue contribution.

  • Biggest single order (value, customer first name + initial, and a short line on what was in it).

  • New vs returning customer mix. Treat an order as 'returning' if the customer's orders_count field shows more than one lifetime order, otherwise 'new'.

Step 3. Write a short narrative (2 to 4 sentences) that calls out anything unusual versus a typical day. Things to surface when they apply:

  • Revenue meaningfully above or below a normal day for this store.

  • One product carrying the day (eg. a single SKU is more than 40% of units or revenue).

  • An unusually high refund count.

  • AOV inflated by one giant order (note the order value alongside the headline AOV).

  • An unusually high or low new-customer share.

If yesterday looked completely normal, the narrative should just say so in one sentence rather than inventing something.

Step 4. Post the digest to Slack using the Send a Message operation. Channel: ask me during setup (default placeholder #shopify-daily). Format the message as:

  • Line 1: TL;DR with a one-line read (eg. 'Solid day, revenue up vs typical, driven by Tee Pack 3-Pack').

  • A bullet list of the headline numbers: revenue, orders, AOV, refunds, new vs returning split.

  • A 'Top sellers' section listing top 5 SKUs with units and revenue.

  • A 'What stood out' short paragraph with the narrative.

Use Slack mrkdwn formatting (single asterisks for bold, not double). Format currency as the store's currency, taken from the orders themselves rather than assumed.

Edge case: if there were zero paid orders yesterday, skip the full digest and post a single short line ('No paid orders yesterday.') instead. Don't compute averages on an empty list.

What does this prompt do?

  • Pulls yesterday's paid Shopify orders every weekday morning so you never have to open the admin before coffee.
  • Calculates the numbers that matter most: gross revenue, order count, average order value, refunds, top five selling products, and new vs returning customer mix.
  • Writes a short, plain-English narrative on what looks different today, like a revenue spike, a refund surge, or one product carrying the day.
  • Posts the digest to your Slack channel with a TL;DR headline up top so the team gets the read at a glance.

What do I need to use this?

  • A Shopify store you can connect with admin access to orders and customers.
  • A Slack workspace, plus the channel you want the digest posted in.
  • A rough sense of what a 'normal day' looks like for your store so the narrative has something to compare against.

How can I customize it?

  • Change the schedule, for example a 7am send, a midday update, or a Monday weekly recap instead of daily.
  • Swap the Slack channel, add a second channel, or send it as a DM to the founder.
  • Adjust the headline numbers or expand the top five sellers list to top ten.

FAQs

Will this work for a small store with only a few orders a day?
Yes. On quiet days the digest just notes the lower volume. The narrative gets more useful the more activity there is to compare against a typical day.
How does it handle refunds and cancelled orders?
It only counts paid orders in revenue, and tracks refunds as a separate callout. That way a refund surge stands out instead of quietly dragging revenue down.
Can I send the digest to more than one Slack channel?
Yes. Add the extra channels when you set it up and the same digest will post to each one.
What timezone does 'yesterday' use?
You pick the timezone during setup, and the agent uses the same window when pulling orders so the day cutoff lines up with how you actually think about it.
Can it compare to last week or last month, not just yesterday vs a typical day?
Yes. Ask for a week-over-week or month-over-month line during setup and the agent will pull the wider window and add the comparison to the summary.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.

Amazon SQS
GitHub
Slack Bot
Agentic Task

Stop opening Shopify before coffee.

Let Geni post yesterday's sales digest to your team Slack every weekday morning, with a plain-English read on what stood out.