Daily Shopify sales digest in Slack with a narrative summary

By General Input

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.

Integrations

  • Shopify
  • Slack Bot

Type

Agentic Task

Categories

  • Operations
  • Sales

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.

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