How it works

Follow these 5 simple steps to start receiving daily order report cards via email automatically

schedule icon

Run order report

App connector: Schedule • Time to complete: 1 minute
Why this matters: This trigger runs the report on a consistent daily schedule, providing predictable morning sales insights that help you understand yesterday's performance and start each day informed about business activity.

This scheduled trigger runs once per day at 8 AM. The timing delivers yesterday's complete sales data first thing in the morning when planning the day's activities. You can adjust the schedule to run at different times by modifying the schedule value.

Get List of Orders

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Retrieves all orders from the previous 24 hours to provide the raw data needed for calculating metrics, ensuring the report reflects complete sales activity regardless of order status or payment state.

This step fetches orders from Shopify using a time range filter. The query parameters include status "any" (captures all orders regardless of fulfillment or payment status), created_at_min set to 24 hours ago, and created_at_max set to now. This ensures the report includes every order placed in the past 24 hours: completed purchases, pending payments, abandoned checkouts converted to orders, and any other order activity. The orders are returned as an array with complete order details including financial status, fulfillment status, line items, and pricing.

Time range calculation: The workflow uses date math to calculate exactly 24 hours before the current time, ensuring consistent reporting windows even as the schedule runs daily.

Retrieve Shop

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Fetches your store's domain information needed for generating clickable links in the email report that direct you back to specific areas of your Shopify admin or the MESA workflow editor.

This step retrieves shop details from Shopify including the myshopify domain. This domain is used in the email template to construct links like the workflow customization link that appears at the bottom of the report card, enabling easy access to modify the workflow or view orders in Shopify admin.

Compile order data

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Processes the raw order data through custom JavaScript to calculate meaningful business metrics, transforming a list of orders into actionable insights about sales performance, payment status, and product popularity.

This step runs custom JavaScript that analyzes the order array and calculates key metrics:

  1. Total Orders: Counts all orders in the past 24 hours
  2. Orders Over $100: Counts orders where total price exceeds $100 (high-value orders)
  3. Orders Paid: Counts orders with financial status "paid"
  4. Orders Pending: Counts orders with financial status "pending"
  5. Orders Fulfilled: Counts orders with fulfillment status "fulfilled"
  6. Most Popular Product: Analyzes line items across all orders, counts how many times each product was sold, and identifies the product(s) with the highest sales count

Product popularity logic (from compile_order_data.js): The code maintains a count of each product title across all line items, sorts products by count descending, then returns all products that match the highest count. If multiple products tie for most popular, all are listed comma-separated.

The calculated metrics are returned as an object with properties like orders_total, orders_over_100, orders_paid, orders_pending, orders_fulfilled, and most_popular_product that populate the email template.

email icon

Send Email Report

App connector: Email • Time to complete: 2 minutes
Why this matters: Delivers the analyzed metrics in a professionally formatted HTML email that provides at-a-glance insights into yesterday's sales performance with clear categorization and visual hierarchy.

This step sends an HTML-formatted email to your configured recipient.

Configuration: You must enter the email address during setup—this could be your personal email, a team distribution list, or a business intelligence tool. The email includes:

  1. Subject: "Order Report Card for [current date]"
  2. Body: Professional HTML template with MESA branding, the 24-hour date range covered, and a metrics section with:
  3. Total Orders count
  4. Total Orders Over $100 count
  5. Total Orders Paid count
  6. Total Orders Pending Payment count
  7. Total Orders Fulfilled count
  8. Most Popular Product(s) Sold (comma-separated if multiple tied)
  9. Customization link: Direct link to edit this workflow in MESA

Email formatting: The HTML template uses responsive design that displays properly on desktop and mobile email clients with clear typography, colored sections, and structured layout for scannable metrics.

Make it your own

Customize this workflow even further:

Change the reporting schedule
Modify the schedule trigger to run weekly for a weekly summary, multiple times per day for frequent updates, or on specific days for targeted reporting cadences that match your business rhythm.
Add revenue calculations
Enhance the custom code to calculate total revenue, average order value, revenue by payment status, or other financial metrics beyond order counts for deeper performance insights.
Send to Slack instead of email
Replace or supplement the email step with a Slack message to a channel like #daily-sales or #operations, enabling team visibility and discussion of daily performance.
Filter by order properties
Modify the order retrieval query to include filters for specific tags, product types, sales channels, or customer segments, creating focused reports for different business areas.

Frequently asked questions

Can I customize the metrics shown in the report?
Yes, edit the "Transform Mapping - Compile Order Data" step and modify the custom JavaScript to calculate different metrics. You'll also need to update the email template in the "Send Email Report" step to display your new metrics.
What happens if there are no orders in the past 24 hours?
The report will still send with all counts showing "0" and "Most Popular Product(s) Sold" showing "None". The email provides a complete snapshot even on slow sales days.
Can I get reports for longer time periods like weekly or monthly?
Yes, modify the time range in the "Get List of Orders" step by changing the created_at_min calculation from 24 hours to 7 days (168 hours) or 30 days (720 hours), and adjust the schedule trigger to match your desired frequency.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start receiving daily order report cards via email automatically?

Join thousands who've automated their work and saved an average of 3.5 hours every week.

Start with this template — It's free
7-day free trial • 6 min setup • Cancel anytime