{"id":17840,"date":"2026-01-13T05:31:04","date_gmt":"2026-01-13T05:31:04","guid":{"rendered":"https:\/\/www.getmesa.com/blog\/?p=17840"},"modified":"2026-03-31T15:00:47","modified_gmt":"2026-03-31T15:00:47","slug":"shopify-flow-examples","status":"publish","type":"post","link":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/","title":{"rendered":"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)"},"content":{"rendered":"\n<p>You know automation could save you hours every week. You&#8217;ve opened Shopify Flow, stared at that blank canvas, and thought: &#8220;Where do I even start? What&#8217;s actually possible here?&#8221;<\/p>\n\n\n\n<p>Flow&#8217;s visual builder is powerful, but without concrete examples, it&#8217;s like having a fully equipped kitchen without any recipes. You can see the ingredients and tools, but you&#8217;re not sure what you can actually cook.<\/p>\n\n\n\n<p>This guide solves that problem. You&#8217;re about to see exactly what 15 real Shopify merchants have built with Flow\u2014from simple order tagging that takes 5 minutes to set up, to sophisticated fraud prevention systems that save thousands in chargebacks every month.<\/p>\n\n\n\n<div class=\"wp-block-group inline-cta\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><strong>\ud83d\udcd8<\/strong> For a complete overview, see our <strong><a href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-guide\/\" type=\"post\" id=\"17978\">Complete Shopify Flow Guide<\/a><\/strong><\/p>\n\n\n\n<p>Related guides in this series:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-templates\/\" type=\"post\" id=\"17605\">50+ Best Shopify Flow Templates to Install Right Now<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-triggers\/\" type=\"post\" id=\"17899\">Shopify Flow Triggers: Complete Guide to Every Available Trigger<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.getmesa.com/blog\/how-to-extend-shopify-flow\/\" type=\"post\" id=\"4314\">How to Extend Shopify Flow: Connect Any App in Both Directions<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n<figure class=\"wp-block-post-featured-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1584\" height=\"819\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"shopify flow examples\" style=\"object-fit:cover;\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png 1584w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1-300x155.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1-1024x529.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1-768x397.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1-1536x794.png 1536w\" sizes=\"auto, (max-width: 1584px) 100vw, 1584px\" \/><\/figure>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">In this article:<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#What-youll-find-in-this-guide\" >What you&#8217;ll find in this guide<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#How-to-use-this-guide\" >How to use this guide<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#What-to-expect\" >What to expect<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Beginner-examples\" >Beginner examples<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-1-Tag-high-value-orders-%E2%AD%90\" >Example 1: Tag high-value orders \u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-2-Low-stock-inventory-alerts-%E2%AD%90\" >Example 2: Low stock inventory alerts \u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-3-Welcome-first-time-customers-%E2%AD%90\" >Example 3: Welcome first-time customers \u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-4-Tag-orders-by-sales-channel-%E2%AD%90\" >Example 4: Tag orders by sales channel \u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-5-Hide-out-of-stock-products-%E2%AD%90\" >Example 5: Hide out-of-stock products \u2b50<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Intermediate-examples\" >Intermediate examples<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-6-Fraud-prevention-workflow-%E2%AD%90%E2%AD%90\" >Example 6: Fraud prevention workflow \u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-7-Review-request-automation-%E2%AD%90%E2%AD%90\" >Example 7: Review request automation \u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-8-B2B-wholesale-order-routing-%E2%AD%90%E2%AD%90\" >Example 8: B2B wholesale order routing \u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-9-Rush-order-expedited-handling-%E2%AD%90%E2%AD%90\" >Example 9: Rush order expedited handling \u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-10-International-order-customs-preparation-%E2%AD%90%E2%AD%90\" >Example 10: International order customs preparation \u2b50\u2b50<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Advanced-examples\" >Advanced examples<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-11-Multi-order-consolidation-%E2%AD%90%E2%AD%90%E2%AD%90\" >Example 11: Multi-order consolidation \u2b50\u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-12-Win-back-campaign-trigger-%E2%AD%90%E2%AD%90%E2%AD%90\" >Example 12: Win-back campaign trigger \u2b50\u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-13-Seasonal-inventory-threshold-adjustment-%E2%AD%90%E2%AD%90%E2%AD%90\" >Example 13: Seasonal inventory threshold adjustment \u2b50\u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-14-Dynamic-promotion-activation-%E2%AD%90%E2%AD%90%E2%AD%90\" >Example 14: Dynamic promotion activation \u2b50\u2b50\u2b50<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Example-15-Intelligent-fulfillment-routing-%E2%AD%90%E2%AD%90%E2%AD%90\" >Example 15: Intelligent fulfillment routing \u2b50\u2b50\u2b50<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Implementation-best-practices\" >Implementation best practices<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Start-small-scale-strategically\" >Start small, scale strategically<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Testing-workflow-examples-before-going-live\" >Testing workflow examples before going live<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Avoiding-common-mistakes\" >Avoiding common mistakes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#When-to-upgrade-from-Flow-to-MESA\" >When to upgrade from Flow to MESA<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Additional-resources\" >Additional resources<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Related-guides\" >Related guides<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#MESA-template-library\" >MESA template library<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Get-expert-help\" >Get expert help<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Frequently-asked-questions\" >Frequently asked questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading\" id=\"h-what-you-ll-find-in-this-guide\"><span class=\"ez-toc-section\" id=\"What-youll-find-in-this-guide\"><\/span>What you&#8217;ll find in this guide<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Each example in this guide includes everything you need to build it yourself today:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Visual workflow diagrams<\/strong> showing exactly how the automation flows from trigger to action<\/li>\n\n\n\n<li><strong>Step-by-step setup instructions<\/strong> with the exact triggers, conditions, and actions to configure<\/li>\n\n\n\n<li><strong>Business impact metrics<\/strong> so you know which examples deliver the biggest ROI<\/li>\n\n\n\n<li><strong>Customization tips<\/strong> to adjust each workflow for your specific business<\/li>\n\n\n\n<li><strong>Flow vs MESA comparison<\/strong> showing what you can do natively versus what requires advanced capabilities<\/li>\n\n\n\n<li><strong>Difficulty ratings<\/strong> (Beginner \u2b50 | Intermediate \u2b50\u2b50 | Advanced \u2b50\u2b50\u2b50) so you can progress at the right pace<\/li>\n<\/ul>\n\n\n\n<p>The examples are organized by category\u2014order management, inventory control, customer engagement, fulfillment operations, and marketing automation\u2014so you can jump straight to the workflows that matter most for your store right now.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-how-to-use-this-guide\"><span class=\"ez-toc-section\" id=\"How-to-use-this-guide\"><\/span>How to use this guide<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Don&#8217;t try to implement everything at once.<\/strong> The merchants who see the best results start with just one example addressing their biggest time drain, test it thoroughly over a week, then gradually layer in additional workflows.<\/p>\n\n\n\n<p>Here&#8217;s the recommended approach:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Scan the categories<\/strong> and identify your biggest operational pain point<\/li>\n\n\n\n<li><strong>Start with a beginner example<\/strong> to build confidence with Flow&#8217;s interface<\/li>\n\n\n\n<li><strong>Follow the step-by-step setup<\/strong> exactly as written<\/li>\n\n\n\n<li><strong>Test with Flow&#8217;s preview function<\/strong> using historical order data<\/li>\n\n\n\n<li><strong>Monitor the first 10-20 workflow runs<\/strong> to ensure everything works correctly<\/li>\n\n\n\n<li><strong>Customize the conditions<\/strong> based on your results (adjust dollar thresholds, tag names, etc.)<\/li>\n\n\n\n<li><strong>Add another example next week<\/strong> and repeat the process<\/li>\n<\/ol>\n\n\n\n<p>By the end of the month, you&#8217;ll have 4-5 workflows running smoothly, saving you 10+ hours weekly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-to-expect\"><span class=\"ez-toc-section\" id=\"What-to-expect\"><\/span>What to expect<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>These are examples you build, not templates you install.<\/strong> While Shopify offers pre-built templates you can install with one click (covered in our <a href=\"https:\/\/www.getmesa.com\/blog\/shopify-flow-templates\/\">Shopify Flow Templates guide<\/a>), this article shows you what&#8217;s possible when you build workflows from scratch. This gives you complete control over the logic, conditions, and actions.<\/p>\n\n\n\n<p><strong>You don&#8217;t need coding skills.<\/strong> Beginner and intermediate examples use Flow&#8217;s visual interface with dropdowns and simple conditions. Advanced examples may include Liquid code snippets, but we provide copy-paste examples you can use as-is\u2014no programming knowledge required.<\/p>\n\n\n\n<p><strong>Some examples require MESA.<\/strong> Flow is powerful, but it has limitations\u2014no scheduled triggers, no external app connections beyond what has Flow connectors, no historical data queries. Where Flow can&#8217;t handle an example, we show you exactly how MESA extends those capabilities. You&#8217;ll always see what&#8217;s possible with free Flow first, then understand when upgrading to MESA makes sense.<\/p>\n\n\n\n<p>Ready to see what you can build? Let&#8217;s start with beginner examples that take just minutes to implement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-beginner-examples\"><span class=\"ez-toc-section\" id=\"Beginner-examples\"><\/span>Beginner examples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Start here if you&#8217;re new to Shopify Flow. These examples take 5-15 minutes to build, use simple triggers and conditions, and deliver immediate value. No coding required\u2014just follow the step-by-step instructions using Flow&#8217;s visual interface.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-1-Tag-high-value-orders-%E2%AD%90\"><\/span>Example 1: Tag high-value orders \u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically tags orders over $500 as &#8220;VIP&#8221; so your team knows which orders deserve special attention, expedited processing, or personalized thank-you notes.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 3-4 hours\/week (eliminates manual order value checking)<\/li>\n\n\n\n<li><strong>Response speed:<\/strong> Team responds 3x faster to high-value opportunities<\/li>\n\n\n\n<li><strong>Customer experience:<\/strong> Better service for top 15% of orders<\/li>\n\n\n\n<li><strong>Revenue impact:<\/strong> 8-12% increase in AOV from improved VIP treatment<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"615\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-template-vip-order-recognition-1024x615.png\" alt=\"shopify flow VIP order recognition\" class=\"wp-image-17622\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-vip-order-recognition-1024x615.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-vip-order-recognition-300x180.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-vip-order-recognition-768x461.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-vip-order-recognition-1536x922.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-vip-order-recognition-2048x1230.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order created<\/li>\n\n\n\n<li><strong>Add condition:<\/strong> Check a condition\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Order total<\/code><\/li>\n\n\n\n<li>Operator: <code>is greater than<\/code><\/li>\n\n\n\n<li>Value: <code>500<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (in the &#8220;true&#8221; path):\n<ul class=\"wp-block-list\">\n<li>Action 1: Add order tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>VIP<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Action 2: Add customer tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>High-Value<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Action 3: Send internal email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>sales@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>New VIP Order - ${{ order.totalPrice }}<\/code><\/li>\n\n\n\n<li>Body: <code>Customer {{ order.customer.firstName }} placed a {{ order.totalPrice }} order. Order #{{ order.name }}<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adjust threshold:<\/strong> Change <code>$500<\/code> to match your average order value. Aim for the top 10-15% of orders. If your AOV is $75, try $200. If it&#8217;s $250, try $750.<\/li>\n\n\n\n<li><strong>Geographic variations:<\/strong> Add second condition for international orders: &#8220;Shipping country is not [your country]&#8221; AND &#8220;Total &gt; $300&#8221; (lower threshold for international).<\/li>\n\n\n\n<li><strong>Prevent duplicates:<\/strong> Add condition &#8220;Customer does not have tag: High-Value&#8221; to avoid tagging repeat VIP customers multiple times.<\/li>\n\n\n\n<li><strong>Product-specific VIP:<\/strong> Add condition &#8220;Product title contains [luxury brand]&#8221; to flag premium product orders regardless of price.<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Basic order tagging<\/td><td>\u2705 Simple threshold check<\/td><td>\u2705 Simple threshold check<\/td><\/tr><tr><td>Email notifications<\/td><td>\u2705 Plain text only<\/td><td>\u2705 HTML formatted with order details<\/td><\/tr><tr><td>Slack\/SMS alerts<\/td><td>\u274c Internal email only<\/td><td>\u2705 Slack channels + SMS to manager<\/td><\/tr><tr><td>CRM updates<\/td><td>\u274c Not available<\/td><td>\u2705 Update Salesforce\/HubSpot contact<\/td><\/tr><tr><td>Dynamic thresholds<\/td><td>\u274c Fixed $500 year-round<\/td><td>\u2705 Adjust by season, product category, region<\/td><\/tr><tr><td>Customer tier calculation<\/td><td>\u274c Manual tag only<\/td><td>\u2705 Auto-calculate Silver\/Gold\/Platinum based on LTV<\/td><\/tr><tr><td>Account assignment<\/td><td>\u274c Manual<\/td><td>\u2705 Assign specific account manager by region\/tier<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try this MESA template:<\/strong> <a href=\"https:\/\/www.getmesa.com\/templates\/shopify\/tag-customers-as-vip-after-500-spend\" target=\"_blank\" rel=\"noreferrer noopener\">Tag customers as VIP after $500 spend<\/a><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>tag-customers-as-vip-after-500-spend<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"tag-customers-as-vip-after-500-spend\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\t\t<style>.mesa-template-backend {\n    background: rgba(139, 139, 150, 0.1);\n    padding: 22px;\n}\n\n.mesa-template-backend h5,\n.mesa-template-backend p {\n    margin: 0 0 5px;\n}\n\n.mesa-template-backend p {\n    font-size: 16px;\n}\n\n.mesa-template-backend p:last-child {\n    display: inline-block;\n    background: #fff;\n    padding: 5px 10px;\n}\n\n.mesa-template-backend p strong {\n    font-size: 12px;\n}<\/style>\n\t\t\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-2-Low-stock-inventory-alerts-%E2%AD%90\"><\/span>Example 2: Low stock inventory alerts \u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Sends email notification when any product variant drops below 10 units, giving you time to reorder before selling out completely.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 2-3 hours\/week (eliminates manual inventory checking)<\/li>\n\n\n\n<li><strong>Stockout prevention:<\/strong> 85-95% reduction in out-of-stock incidents<\/li>\n\n\n\n<li><strong>Revenue protected:<\/strong> $3,000-8,000\/month in prevented lost sales<\/li>\n\n\n\n<li><strong>Customer satisfaction:<\/strong> Fewer &#8220;notify me when back in stock&#8221; frustrations<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"615\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-template-low-stock-1024x615.png\" alt=\"shopify flow low stock inventory alert\" class=\"wp-image-17630\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-low-stock-1024x615.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-low-stock-300x180.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-low-stock-768x461.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-low-stock-1536x922.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-template-low-stock-2048x1230.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Product \u2192 Product variant inventory quantity changed<\/li>\n\n\n\n<li><strong>Add first condition:<\/strong> Check a condition\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Quantity<\/code><\/li>\n\n\n\n<li>Operator: <code>is less than<\/code><\/li>\n\n\n\n<li>Value: <code>10<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add second condition<\/strong> (nested under first): Check a condition\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Quantity prior<\/code><\/li>\n\n\n\n<li>Operator: <code>is greater than or equal to<\/code><\/li>\n\n\n\n<li>Value: <code>10<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when both conditions are true):\n<ul class=\"wp-block-list\">\n<li>Action 1: Add product tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>Low-Stock<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Action 2: Send internal email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>inventory@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>LOW STOCK ALERT: {{ product.title }}<\/code><\/li>\n\n\n\n<li>Body: <code>Product: {{ product.title }}\\nVariant: {{ productVariant.title }}\\nCurrent inventory: {{ quantity }}\\nSKU: {{ productVariant.sku }}<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Why the second condition matters:<\/strong><\/p>\n\n\n\n<p>Without checking &#8220;Quantity prior \u2265 10,&#8221; you&#8217;d receive alerts every time inventory decreases:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Drops from 9 \u2192 8 units: Alert sent \u274c<\/li>\n\n\n\n<li>Drops from 8 \u2192 7 units: Alert sent \u274c<\/li>\n\n\n\n<li>Drops from 7 \u2192 6 units: Alert sent \u274c<\/li>\n<\/ul>\n\n\n\n<p>With the second condition, you only get ONE alert when inventory crosses the threshold from 10 \u2192 9 units. This prevents inbox flooding.<\/p>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Variable thresholds:<\/strong> Create multiple workflows with different thresholds for different product types:\n<ul class=\"wp-block-list\">\n<li>Fast-movers: Alert at 25 units<\/li>\n\n\n\n<li>Medium-movers: Alert at 10 units<\/li>\n\n\n\n<li>Slow-movers: Alert at 5 units<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Collection-based alerts:<\/strong> Add condition &#8220;Product is in collection: [Bestsellers]&#8221; to set higher thresholds for popular items<\/li>\n\n\n\n<li><strong>Exclude discontinued:<\/strong> Add condition &#8220;Product does NOT have tag: Discontinued&#8221; to avoid alerts for items you&#8217;re phasing out<\/li>\n\n\n\n<li><strong>Include product image:<\/strong> Use Flow&#8217;s variable picker to add <code>{{ product.image }}<\/code> to email for visual identification<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Fixed threshold alerts<\/td><td>\u2705 Set to specific number (10 units)<\/td><td>\u2705 Set to specific number<\/td><\/tr><tr><td>Variable thresholds<\/td><td>\u26a0\ufe0f Requires multiple workflows<\/td><td>\u2705 Different per product\/collection in one workflow<\/td><\/tr><tr><td>Sales velocity calculation<\/td><td>\u274c Not available<\/td><td>\u2705 Alert based on &#8220;days of stock remaining&#8221;<\/td><\/tr><tr><td>Supplier integration<\/td><td>\u274c Manual reorder process<\/td><td>\u2705 Auto-email suppliers with calculated quantities<\/td><\/tr><tr><td>Seasonal adjustment<\/td><td>\u274c Fixed threshold year-round<\/td><td>\u2705 Increase thresholds Oct-Dec automatically<\/td><\/tr><tr><td>Multi-location support<\/td><td>\u26a0\ufe0f Separate workflow per location<\/td><td>\u2705 Consolidated alerts across locations<\/td><\/tr><tr><td>Reorder task creation<\/td><td>\u274c Email only<\/td><td>\u2705 Create Asana\/Clickup tasks with reorder details<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try this MESA template:<\/strong> <a href=\"https:\/\/www.getmesa.com\/templates\/send-slack-message-when-shopify-inventory-runs-low\" target=\"_blank\" rel=\"noreferrer noopener\">Send Slack message when Shopify inventory runs low<\/a><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>send-slack-message-when-shopify-inventory-runs-low<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"send-slack-message-when-shopify-inventory-runs-low\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-3-Welcome-first-time-customers-%E2%AD%90\"><\/span>Example 3: Welcome first-time customers \u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically tags customers on their first purchase and triggers welcome email sequence, creating a positive first impression that drives repeat purchases.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Repeat purchase rate:<\/strong> 25-30% higher for welcomed customers<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 1-2 hours\/week (no manual customer segmentation)<\/li>\n\n\n\n<li><strong>Brand loyalty:<\/strong> Foundation for lifecycle marketing<\/li>\n\n\n\n<li><strong>Email engagement:<\/strong> 40-50% open rates on welcome emails vs 15-20% on regular campaigns<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-trigger-welcome-email-1024x583.png\" alt=\"shopify flow trigger welcome email\" class=\"wp-image-17848\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-trigger-welcome-email-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-trigger-welcome-email-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-trigger-welcome-email-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-trigger-welcome-email-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-trigger-welcome-email-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order created<\/li>\n\n\n\n<li><strong>Add condition:<\/strong> Check a condition\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Customer \u2192 Total orders<\/code><\/li>\n\n\n\n<li>Operator: <code>is equal to<\/code><\/li>\n\n\n\n<li>Value: <code>1<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when condition is true):\n<ul class=\"wp-block-list\">\n<li>Action 1: Add customer tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>First-Time-Buyer<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Action 2: Add order tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>First-Purchase<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Action 3: (Optional) If your email platform has Flow connector:\n<ul class=\"wp-block-list\">\n<li>Trigger Klaviyo list: &#8220;Welcome Sequence&#8221;<\/li>\n\n\n\n<li>OR Add to Mailchimp audience: &#8220;New Customers&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Step-by-step setup (without email platform connector):<\/strong><\/p>\n\n\n\n<p>If your email platform doesn&#8217;t have a Flow connector, use this approach:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Follow steps 1-4 above (tag customer and order)<\/li>\n\n\n\n<li>In your email platform (Klaviyo, Mailchimp, Omnisend):\n<ul class=\"wp-block-list\">\n<li>Create a segment: &#8220;Customers with tag: First-Time-Buyer&#8221;<\/li>\n\n\n\n<li>Set up automated welcome series triggered by this segment<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Flow adds the tag \u2192 Email platform detects tag \u2192 Welcome series sends automatically<\/li>\n<\/ol>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product-based segmentation:<\/strong> Add additional tags based on first purchase category:\n<ul class=\"wp-block-list\">\n<li>IF &#8220;Product type = Apparel&#8221; \u2192 Tag &#8220;First-Purchase-Apparel&#8221;<\/li>\n\n\n\n<li>IF &#8220;Product type = Home Goods&#8221; \u2192 Tag &#8220;First-Purchase-Home&#8221;<\/li>\n\n\n\n<li>Use these tags to send category-specific welcome content<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Include purchase date:<\/strong> Tag customers with &#8220;First-Purchase-[Month]-[Year]&#8221; for anniversary campaigns<\/li>\n\n\n\n<li><strong>Order value segmentation:<\/strong> Add condition checking if first order &gt; $100, tag &#8220;First-Purchase-High-Value&#8221; for VIP onboarding track<\/li>\n\n\n\n<li><strong>Exclude wholesale:<\/strong> Add condition &#8220;Customer does NOT have tag: Wholesale&#8221; to avoid sending retail welcome emails to B2B customers<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>First order detection<\/td><td>\u2705 Simple condition<\/td><td>\u2705 Simple condition<\/td><\/tr><tr><td>Customer tagging<\/td><td>\u2705 Included<\/td><td>\u2705 Included<\/td><\/tr><tr><td>Email platform trigger<\/td><td>\u26a0\ufe0f Only if app has Flow connector<\/td><td>\u2705 Klaviyo, Mailchimp, Omnisend, etc.<\/td><\/tr><tr><td>Product-based segmentation<\/td><td>\u26a0\ufe0f Requires multiple workflows<\/td><td>\u2705 Dynamic segmentation in one workflow<\/td><\/tr><tr><td>Personalized content<\/td><td>\u26a0\ufe0f Limited variables<\/td><td>\u2705 Include first product purchased, recommendations<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try these MESA templates<\/strong><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>create-unique-discount-codes-for-new-shopify-customers<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"create-unique-discount-codes-for-new-shopify-customers\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>add-shopify-customer-to-google-sheets<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"add-shopify-customer-to-google-sheets\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>subscribe-shopify-customers-to-klaviyo-list-after-first-order<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"subscribe-shopify-customers-to-klaviyo-list-after-first-order\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-4-Tag-orders-by-sales-channel-%E2%AD%90\"><\/span>Example 4: Tag orders by sales channel \u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically tags every order with its source channel (Instagram, Facebook, Online Store, POS, Amazon, etc.) for clean reporting on which platforms drive the most revenue.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 1-2 hours\/week (eliminates manual channel tagging)<\/li>\n\n\n\n<li><strong>Marketing insights:<\/strong> Clear data on which channels produce highest AOV and conversion<\/li>\n\n\n\n<li><strong>Resource allocation:<\/strong> Optimize ad spend based on actual revenue by channel<\/li>\n\n\n\n<li><strong>Fulfillment routing:<\/strong> Route orders from different channels to appropriate workflows<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-tag-orders-sales-channel-1024x583.png\" alt=\"shopify flow tag orders by sales channel\" class=\"wp-image-17850\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-tag-orders-sales-channel-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-tag-orders-sales-channel-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-tag-orders-sales-channel-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-tag-orders-sales-channel-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-tag-orders-sales-channel-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order created<\/li>\n\n\n\n<li><strong>Add action<\/strong> (no condition needed):\n<ul class=\"wp-block-list\">\n<li>Add order tags<\/li>\n\n\n\n<li>Tag: <code>Source-{{ order.sourceName }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>How it works:<\/strong><\/p>\n\n\n\n<p>Flow&#8217;s <code>{{ order.sourceName }}<\/code> variable automatically contains the channel name:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Source-web<\/code> for online store orders<\/li>\n\n\n\n<li><code>Source-pos<\/code> for point-of-sale orders<\/li>\n\n\n\n<li><code>Source-instagram<\/code> for Instagram Shopping<\/li>\n\n\n\n<li><code>Source-facebook<\/code> for Facebook Shop<\/li>\n\n\n\n<li><code>Source-amazon<\/code> for Amazon marketplace<\/li>\n\n\n\n<li>And so on for every sales channel you use<\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Standardize naming:<\/strong> Some channels have inconsistent names. Create separate workflows for each major channel:\n<ul class=\"wp-block-list\">\n<li>IF <code>Source name = \"instagram\"<\/code> \u2192 Tag: <code>Channel-Instagram<\/code><\/li>\n\n\n\n<li>IF <code>Source name = \"pos\"<\/code> \u2192 Tag: <code>Channel-POS<\/code><\/li>\n\n\n\n<li>This gives you cleaner, more readable tags<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add channel-specific workflows:<\/strong> Once orders are tagged by channel, create follow-up workflows:\n<ul class=\"wp-block-list\">\n<li>Orders tagged &#8220;Channel-POS&#8221; \u2192 Send in-store purchase thank you<\/li>\n\n\n\n<li>Orders tagged &#8220;Channel-Instagram&#8221; \u2192 Request Instagram story tag from customer<\/li>\n\n\n\n<li>Orders tagged &#8220;Channel-Amazon&#8221; \u2192 Special packing slip for marketplace orders<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Combine with fulfillment routing:<\/strong> Route Instagram orders to warehouse with branded packaging, POS orders to local fulfillment<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Basic channel tagging<\/td><td>\u2705 Simple variable insertion<\/td><td>\u2705 Simple variable insertion<\/td><\/tr><tr><td>Tag standardization<\/td><td>\u26a0\ufe0f Multiple workflows needed<\/td><td>\u2705 Mapping rules in one workflow<\/td><\/tr><tr><td>Channel-specific actions<\/td><td>\u26a0\ufe0f Separate workflows per channel<\/td><td>\u2705 Conditional logic in one workflow<\/td><\/tr><tr><td>Analytics integration<\/td><td>\u274c Tags only<\/td><td>\u2705 Push to MixPanel, Google Sheets for dashboard<\/td><\/tr><tr><td>Historical data<\/td><td>\u274c Only tags new orders<\/td><td>\u2705 Backfill tags for historical orders<\/td><\/tr><tr><td>Attribution tracking<\/td><td>\u274c Channel only<\/td><td>\u2705 Capture UTM parameters, landing pages<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-5-Hide-out-of-stock-products-%E2%AD%90\"><\/span>Example 5: Hide out-of-stock products \u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically unpublishes products from your online store the moment inventory hits zero, preventing frustrated shoppers from attempting to buy unavailable items.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 2-3 hours\/week (no manual product visibility management)<\/li>\n\n\n\n<li><strong>Conversion rate:<\/strong> 8-12% improvement (cleaner catalog without dead ends)<\/li>\n\n\n\n<li><strong>Customer experience:<\/strong> Fewer &#8220;out of stock&#8221; frustrations and support tickets<\/li>\n\n\n\n<li><strong>Lost sales prevention:<\/strong> Customers find available alternatives instead of bouncing<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-unpublish-tag-out-of-stock-products-1024x583.png\" alt=\"shopify flow unpublish and tag out of stock products\" class=\"wp-image-17851\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-unpublish-tag-out-of-stock-products-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-unpublish-tag-out-of-stock-products-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-unpublish-tag-out-of-stock-products-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-unpublish-tag-out-of-stock-products-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-unpublish-tag-out-of-stock-products-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Product \u2192 Product variant inventory quantity changed<\/li>\n\n\n\n<li><strong>Add condition:<\/strong> Check a condition\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Quantity<\/code><\/li>\n\n\n\n<li>Operator: <code>is equal to<\/code><\/li>\n\n\n\n<li>Value: <code>0<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when condition is true):\n<ul class=\"wp-block-list\">\n<li>Action 1: Unpublish product\n<ul class=\"wp-block-list\">\n<li>Publication: <code>Online Store<\/code> (or select specific sales channels)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Action 2: Add product tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>Out-of-Stock<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Important considerations:<\/strong><\/p>\n\n\n\n<p><strong>Multi-variant products:<\/strong> This workflow unpublishes the ENTIRE product when ANY variant hits zero. If you have a t-shirt with sizes S, M, L, XL and only size M sells out, the entire product becomes hidden.<\/p>\n\n\n\n<p>To handle multi-variant products better, you need more complex logic (see &#8220;Advanced tip&#8221; below).<\/p>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tag with timestamp:<\/strong> Instead of just &#8220;Out-of-Stock&#8221;, use &#8220;OOS-{{ &#8220;now&#8221; | date: &#8220;%Y-%m-%d&#8221; }}&#8221; to track when items went out of stock<\/li>\n\n\n\n<li><strong>Sales channel specific:<\/strong> Unpublish only from specific channels (hide from Online Store but keep on POS for in-store-only inventory)<\/li>\n\n\n\n<li><strong>Notification addition:<\/strong> Add email action to inventory manager with list of newly out-of-stock products<\/li>\n\n\n\n<li><strong>Pair with republish workflow:<\/strong> Create companion workflow (see Beginner Example idea) that republishes when inventory &gt; 0<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced tip for multi-variant products:<\/strong><\/p>\n\n\n\n<p>For products with multiple variants, you&#8217;d need to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Count how many variants have quantity &gt; 0<\/li>\n\n\n\n<li>Only unpublish if ALL variants = 0<\/li>\n\n\n\n<li>This requires MESA or advanced Liquid code in Flow<\/li>\n<\/ol>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Basic unpublishing<\/td><td>\u2705 When any variant hits zero<\/td><td>\u2705 When any variant hits zero<\/td><\/tr><tr><td>Multi-variant handling<\/td><td>\u274c Unpublishes entire product<\/td><td>\u2705 Only unpublish when all variants OOS<\/td><\/tr><tr><td>Auto-republishing<\/td><td>\u26a0\ufe0f Requires separate workflow<\/td><td>\u2705 Included in same automation<\/td><\/tr><tr><td>&#8220;Notify when available&#8221;<\/td><td>\u274c Manual setup<\/td><td>\u2705 Auto-enable back-in-stock notifications<\/td><\/tr><tr><td>Alternative recommendations<\/td><td>\u274c Not available<\/td><td>\u2705 Show similar products on hidden product pages<\/td><\/tr><tr><td>Inventory buffer<\/td><td>\u274c Hide only at zero<\/td><td>\u2705 Hide at 2-3 units (prevent overselling)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try these MESA templates<\/strong><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>update-product-status-when-variant-out-of-stock<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"update-product-status-when-variant-out-of-stock\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>email-notification-shopify-product-out-of-stock<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"email-notification-shopify-product-out-of-stock\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<p><strong>You&#8217;ve completed the beginner examples!<\/strong> These five workflows form the foundation of smart store automation. Once you&#8217;ve implemented 2-3 of these and they&#8217;re running smoothly for a week, you&#8217;re ready to progress to intermediate examples with more complex logic and app integrations.<\/p>\n\n\n\n<p><strong>Next steps:<\/strong> Choose ONE example from above that addresses your biggest pain point. Build it in the next 15 minutes. Monitor it for a week. Then come back and add another.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-intermediate-examples\"><span class=\"ez-toc-section\" id=\"Intermediate-examples\"><\/span>Intermediate examples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>These examples require understanding conditions, multiple actions, and some business logic. Build time: 20-30 minutes. Best implemented after you&#8217;re comfortable with beginner workflows and ready for more sophisticated automation.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-6-Fraud-prevention-workflow-%E2%AD%90%E2%AD%90\"><\/span>Example 6: Fraud prevention workflow \u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically detects potentially fraudulent orders using Shopify&#8217;s risk analysis, holds fulfillment, tags for review, and notifies your fraud team before products ship.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Chargeback reduction:<\/strong> 40-60% fewer fraudulent orders processed<\/li>\n\n\n\n<li><strong>Revenue protected:<\/strong> $2,400-5,000\/month in prevented fraud losses<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 5-8 hours\/week on manual fraud review<\/li>\n\n\n\n<li><strong>False positive reduction:<\/strong> 25% fewer legitimate customers flagged vs manual review<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-fraud-detection-1024x583.png\" alt=\"shopify flow fraud detection\" class=\"wp-image-17853\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-fraud-detection-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-fraud-detection-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-fraud-detection-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-fraud-detection-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-fraud-detection-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order risk analyzed<\/li>\n\n\n\n<li><strong>Add condition group<\/strong> (using OR logic):\n<ul class=\"wp-block-list\">\n<li><strong>Condition 1:<\/strong> Risk level\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Risk level<\/code><\/li>\n\n\n\n<li>Operator: <code>is equal to<\/code><\/li>\n\n\n\n<li>Value: <code>High<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>OR<\/strong><\/li>\n\n\n\n<li><strong>Condition 2 (nested AND):<\/strong> Billing\/shipping mismatch + high value\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Billing address \u2192 Address1<\/code><\/li>\n\n\n\n<li>Operator: <code>is not equal to<\/code><\/li>\n\n\n\n<li>Variable: <code>Shipping address \u2192 Address1<\/code><\/li>\n\n\n\n<li><strong>AND<\/strong><\/li>\n\n\n\n<li>Variable: <code>Order total<\/code><\/li>\n\n\n\n<li>Operator: <code>is greater than<\/code><\/li>\n\n\n\n<li>Value: <code>1000<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when any condition is true):\n<ul class=\"wp-block-list\">\n<li><strong>Action 1:<\/strong> Hold fulfillment<\/li>\n\n\n\n<li><strong>Action 2:<\/strong> Add order tags\n<ul class=\"wp-block-list\">\n<li>Tags: <code>Fraud-Review<\/code>, <code>High-Risk<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 3:<\/strong> Add customer tags\n<ul class=\"wp-block-list\">\n<li>Tag: <code>High-Risk-Customer<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 4:<\/strong> Add order note\n<ul class=\"wp-block-list\">\n<li>Note: <code>HOLD FOR FRAUD REVIEW - Risk Level: {{ order.risk.level }}, Reason: {{ order.risk.message }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 5:<\/strong> Send internal email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>fraud@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>\ud83d\udea8 HIGH RISK ORDER - {{ order.name }}<\/code><\/li>\n\n\n\n<li>Body: <br><code>Order: {{ order.name }}<\/code><br><code>Customer: {{ customer.email }}<\/code><br><code>Amount: ${{ order.totalPrice }}<\/code><br><code>Risk: {{ order.risk.level }}<\/code><br><code>Details: {{ order.risk.message }}<\/code><br><code>Billing: {{ order.billingAddress.address1 }}<\/code><br><code>Shipping: {{ order.shippingAddress.address1 }}<\/code><br><br><code>Review at: https:\/\/{{ shop.domain }}\/admin\/orders\/{{ order.id }}<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Understanding the condition logic:<\/strong><\/p>\n\n\n\n<p>This workflow flags orders if EITHER:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Shopify&#8217;s risk analysis marks it as &#8220;High&#8221;<\/li>\n\n\n\n<li>OR the billing and shipping addresses don&#8217;t match AND the order is over $1,000<\/li>\n<\/ul>\n\n\n\n<p>The OR logic casts a wider net\u2014catching both Shopify&#8217;s automated risk detection AND suspicious patterns you&#8217;ve identified.<\/p>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Geographic risk:<\/strong> Add condition &#8220;Shipping country is [high-risk country]&#8221; to your OR logic<\/li>\n\n\n\n<li><strong>Graduated response:<\/strong> Create separate workflows for medium vs high risk:\n<ul class=\"wp-block-list\">\n<li>Medium risk: Tag only (no hold), notify junior staff<\/li>\n\n\n\n<li>High risk: Hold fulfillment, escalate to fraud specialist<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Velocity checking:<\/strong> Add condition &#8220;Customer total orders = 1&#8221; to flag first-time customers making large purchases<\/li>\n\n\n\n<li><strong>Payment method:<\/strong> If you accept multiple payment methods, add conditions for higher-risk methods (certain gateways, COD)<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Shopify risk analysis<\/td><td>\u2705 Uses built-in risk score<\/td><td>\u2705 Uses built-in risk score<\/td><\/tr><tr><td>Multiple risk factors<\/td><td>\u2705 Combine with OR\/AND logic<\/td><td>\u2705 Combine with OR\/AND logic<\/td><\/tr><tr><td>Additional risk signals<\/td><td>\u274c Limited to order data<\/td><td>\u2705 IP geolocation, email verification, velocity checks<\/td><\/tr><tr><td>Blacklist management<\/td><td>\u274c Not available<\/td><td>\u2705 Check against Google Sheets blacklist<\/td><\/tr><tr><td>Historical fraud patterns<\/td><td>\u274c Can&#8217;t query past orders<\/td><td>\u2705 Check customer&#8217;s previous risk scores<\/td><\/tr><tr><td>Auto-cancel obvious fraud<\/td><td>\u26a0\ufe0f Possible but risky without confidence scoring<\/td><td>\u2705 With multi-factor confidence scoring<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try these MESA templates<\/strong><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>auto-cancel-high-risk-orders-shopify<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"auto-cancel-high-risk-orders-shopify\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>receive-slack-alert-for-high-risk-shopify-orders<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"receive-slack-alert-for-high-risk-shopify-orders\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>tag-cancel-fraudulent-orders-address-discrepancies<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"tag-cancel-fraudulent-orders-address-discrepancies\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-7-Review-request-automation-%E2%AD%90%E2%AD%90\"><\/span>Example 7: Review request automation \u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically triggers review collection emails through your review platform (Yotpo, Judge.me, Loox) at the optimal time after delivery, with exclusions for unhappy customers.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Review volume:<\/strong> 25-35% increase with optimized timing<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 2 hours\/week (no manual review request sending)<\/li>\n\n\n\n<li><strong>Social proof:<\/strong> More reviews = 15-20% higher conversion rates<\/li>\n\n\n\n<li><strong>SEO benefit:<\/strong> Fresh review content improves search rankings<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-review-request-1024x583.png\" alt=\"shopify flow review request\" class=\"wp-image-17855\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-review-request-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-review-request-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-review-request-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-review-request-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-review-request-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order fulfilled<\/li>\n\n\n\n<li><strong>Add condition 1:<\/strong> Check fulfillment status\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Fulfillment status<\/code><\/li>\n\n\n\n<li>Operator: <code>is equal to<\/code><\/li>\n\n\n\n<li>Value: <code>Fulfilled<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add condition 2 (nested):<\/strong> Exclude problem customers\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Customer tags<\/code><\/li>\n\n\n\n<li>Operator: <code>does not contain<\/code><\/li>\n\n\n\n<li>Value: <code>Negative-Reviewer<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add action 1:<\/strong> Wait for time delay\n<ul class=\"wp-block-list\">\n<li>Duration: <code>7 days<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add action 2:<\/strong> (Depends on your review app)\n<ul class=\"wp-block-list\">\n<li><strong>If using Yotpo:<\/strong> Trigger Yotpo \u2192 Send review request<\/li>\n\n\n\n<li><strong>If using Judge.me:<\/strong> Trigger Judge.me \u2192 Request review<\/li>\n\n\n\n<li><strong>If using Loox:<\/strong> Trigger Loox \u2192 Send review email<\/li>\n\n\n\n<li><strong>If no connector:<\/strong> Send email to review platform API endpoint<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Optimal timing research:<\/strong><\/p>\n\n\n\n<p>Don&#8217;t send review requests immediately after fulfillment. Customers need time to receive and use products:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fast consumables<\/strong> (skincare, snacks, supplements): 7 days after delivery<\/li>\n\n\n\n<li><strong>Durable goods<\/strong> (furniture, electronics, appliances): 14-21 days (time to use product)<\/li>\n\n\n\n<li><strong>Apparel &amp; accessories<\/strong>: 10 days (time to wear and wash)<\/li>\n\n\n\n<li><strong>Subscription boxes<\/strong>: 5-7 days (opens quickly, uses immediately)<\/li>\n<\/ul>\n\n\n\n<p>Adjust the &#8220;Wait&#8221; duration based on your product category.<\/p>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product-specific timing:<\/strong> Create multiple workflows with different wait times:\n<ul class=\"wp-block-list\">\n<li>Apparel products \u2192 Wait 10 days<\/li>\n\n\n\n<li>Electronics \u2192 Wait 21 days<\/li>\n\n\n\n<li>Food\/beverage \u2192 Wait 7 days<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Exclude unhappy customers:<\/strong> Tag customers who leave 1-2 star reviews as &#8220;Negative-Reviewer&#8221; (using another workflow) to prevent review request fatigue<\/li>\n\n\n\n<li><strong>Incentivize reviews:<\/strong> Include discount code in review request for next purchase<\/li>\n\n\n\n<li><strong>A\/B test timing:<\/strong> Create two workflows with 7-day vs 14-day delays, track which gets better response rates<\/li>\n<\/ul>\n\n\n\n<p><strong>Setting up the &#8220;Negative-Reviewer&#8221; tag workflow:<\/strong><\/p>\n\n\n\n<p>Create a companion workflow:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trigger: Product review created (if app supports)<\/li>\n\n\n\n<li>Condition: Review rating &lt; 3 stars<\/li>\n\n\n\n<li>Action: Tag customer &#8220;Negative-Reviewer&#8221;<\/li>\n<\/ul>\n\n\n\n<p>This prevents future review requests to customers who&#8217;ve already left negative feedback.<\/p>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Basic review trigger<\/td><td>\u2705 If app has Flow connector<\/td><td>\u2705 All major review apps<\/td><\/tr><tr><td>Timing customization<\/td><td>\u2705 Fixed wait duration<\/td><td>\u2705 Dynamic by product type\/category<\/td><\/tr><tr><td>Exclude negative reviewers<\/td><td>\u26a0\ufe0f Requires manual tagging<\/td><td>\u2705 Automatic exclusion based on past ratings<\/td><\/tr><tr><td>Personalization<\/td><td>\u26a0\ufe0f Limited variables<\/td><td>\u2705 Product images, purchase details, names<\/td><\/tr><tr><td>Delivery confirmation<\/td><td>\u26a0\ufe0f Based on fulfillment only<\/td><td>\u2705 Wait for actual delivery (tracking integration)<\/td><\/tr><tr><td>Review rate tracking<\/td><td>\u274c Manual<\/td><td>\u2705 Track conversion by segment<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try these MESA templates<\/strong><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>send-stamped-io-review-request-after-order-delivery<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"send-stamped-io-review-request-after-order-delivery\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>tag-customers-after-leaving-multiple-reviews<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"tag-customers-after-leaving-multiple-reviews\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>create-gorgias-ticket-for-negative-yotpo-review<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"create-gorgias-ticket-for-negative-yotpo-review\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>tag-shopify-customer-who-leaves-review<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"tag-shopify-customer-who-leaves-review\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-8-B2B-wholesale-order-routing-%E2%AD%90%E2%AD%90\"><\/span>Example 8: B2B wholesale order routing \u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically identifies wholesale\/B2B orders and routes them through special handling\u2014dedicated fulfillment, account manager notification, payment terms application, and custom workflows.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 4-6 hours\/week (eliminates manual B2B order identification)<\/li>\n\n\n\n<li><strong>Processing accuracy:<\/strong> 95%+ of wholesale orders get proper treatment<\/li>\n\n\n\n<li><strong>Account management:<\/strong> Ensures every B2B order reaches assigned rep<\/li>\n\n\n\n<li><strong>Revenue protection:<\/strong> Proper payment terms prevent fulfillment before payment<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-b2b-order-routing-1024x583.png\" alt=\"shopify flow b2b order routing\" class=\"wp-image-17856\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-b2b-order-routing-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-b2b-order-routing-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-b2b-order-routing-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-b2b-order-routing-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-b2b-order-routing-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order created<\/li>\n\n\n\n<li><strong>Add condition group<\/strong> (OR logic):\n<ul class=\"wp-block-list\">\n<li><strong>Condition 1:<\/strong> Check customer tag\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Customer tags<\/code><\/li>\n\n\n\n<li>Operator: <code>contains<\/code><\/li>\n\n\n\n<li>Value: <code>Wholesale<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>OR<\/strong><\/li>\n\n\n\n<li><strong>Condition 2:<\/strong> Check if B2B customer (Shopify Plus)\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Customer \u2192 Company<\/code><\/li>\n\n\n\n<li>Operator: <code>is not empty<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when conditions met):\n<ul class=\"wp-block-list\">\n<li><strong>Action 1:<\/strong> Add order tags\n<ul class=\"wp-block-list\">\n<li>Tags: <code>B2B-Order<\/code>, <code>Wholesale<\/code>, <code>NET-30<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 2:<\/strong> Add order note\n<ul class=\"wp-block-list\">\n<li>Note: <code>WHOLESALE ORDER - NET 30 TERMS. Do not ship until payment verified. Account Manager: [assign based on region]. Company: {{ customer.company.name }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 3:<\/strong> Send internal email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>wholesale@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>New B2B Order from {{ customer.company.name }}<\/code><\/li>\n\n\n\n<li>Body: <br><code>Company: {{ customer.company.name }}<\/code><br><code>Contact: {{ customer.firstName }} {{ customer.lastName }}<\/code><br><code>Order #: {{ order.name }}<\/code><br><code>Amount: ${{ order.totalPrice }}<\/code><br><br><code>Review order: https:\/\/{{ shop.domain }}\/admin\/orders\/{{ order.id }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 4:<\/strong> (If multi-location) Assign fulfillment location\n<ul class=\"wp-block-list\">\n<li>Location: <code>Wholesale Warehouse<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Account manager assignment:<\/strong> Create separate workflows for different regions:\n<ul class=\"wp-block-list\">\n<li>IF &#8220;Shipping state = CA, OR, WA&#8221; \u2192 Email <code>westcoast@yourstore.com<\/code><\/li>\n\n\n\n<li>IF &#8220;Shipping state = NY, NJ, CT&#8221; \u2192 Email <code>eastcoast@yourstore.com<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Tiered wholesale handling:<\/strong>\n<ul class=\"wp-block-list\">\n<li>IF &#8220;Customer tag contains: Wholesale-Tier-1&#8221; \u2192 NET-30 + 40% discount verification<\/li>\n\n\n\n<li>IF &#8220;Customer tag contains: Wholesale-Tier-2&#8221; \u2192 NET-15 + 30% discount verification<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Minimum order enforcement:<\/strong> Add condition &#8220;Order total &lt; $500&#8221; \u2192 Tag &#8220;Below-Minimum&#8221; + notify sales team<\/li>\n\n\n\n<li><strong>Custom packing slips:<\/strong> Route B2B orders to different packing slip template (company logo, no pricing)<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Basic B2B identification<\/td><td>\u2705 Tag or company detection<\/td><td>\u2705 Tag or company detection<\/td><\/tr><tr><td>Account manager routing<\/td><td>\u26a0\ufe0f Static email addresses<\/td><td>\u2705 Dynamic assignment by territory\/tier<\/td><\/tr><tr><td>ERP integration<\/td><td>\u274c Not available<\/td><td>\u2705 Sync to Odoo, QuickBooks<\/td><\/tr><tr><td>Payment terms management<\/td><td>\u26a0\ufe0f Note only, manual enforcement<\/td><td>\u2705 Integrate with accounting system<\/td><\/tr><tr><td>Pricing verification<\/td><td>\u274c Not available<\/td><td>\u2705 Flag if discount doesn&#8217;t match tier<\/td><\/tr><tr><td>Volume discount validation<\/td><td>\u274c Manual<\/td><td>\u2705 Auto-verify quantity breaks applied<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try these MESA templates<\/strong><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>send-wholesale-applications-to-google-sheets<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"send-wholesale-applications-to-google-sheets\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>route-wholesale-orders-by-customer-tag<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"route-wholesale-orders-by-customer-tag\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>update-tax-exempt-status-on-company-location-from-customer-tag<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"update-tax-exempt-status-on-company-location-from-customer-tag\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-9-Rush-order-expedited-handling-%E2%AD%90%E2%AD%90\"><\/span>Example 9: Rush order expedited handling \u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically detects orders with expedited shipping and prioritizes them through your fulfillment process with immediate notifications and special handling tags.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SLA compliance:<\/strong> 98% on-time shipping (up from 85% manual)<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 2 hours\/week (no manual rush order identification)<\/li>\n\n\n\n<li><strong>Customer satisfaction:<\/strong> Fewer complaints about missed delivery promises<\/li>\n\n\n\n<li><strong>Premium revenue:<\/strong> Protect 5-8% revenue from expedited shipping fees<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-rush-order-handling-1024x583.png\" alt=\"\" class=\"wp-image-17858\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-rush-order-handling-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-rush-order-handling-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-rush-order-handling-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-rush-order-handling-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-rush-order-handling-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order created<\/li>\n\n\n\n<li><strong>Add condition group<\/strong> (using OR logic):\n<ul class=\"wp-block-list\">\n<li><strong>Condition 1:<\/strong> Shipping method name\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Shipping line \u2192 Title<\/code><\/li>\n\n\n\n<li>Operator: <code>contains<\/code><\/li>\n\n\n\n<li>Value: <code>Express<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>OR<\/strong><\/li>\n\n\n\n<li><strong>Condition 2:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Shipping line \u2192 Title<\/code><\/li>\n\n\n\n<li>Operator: <code>contains<\/code><\/li>\n\n\n\n<li>Value: <code>Overnight<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>OR<\/strong><\/li>\n\n\n\n<li><strong>Condition 3:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Shipping line \u2192 Title<\/code><\/li>\n\n\n\n<li>Operator: <code>contains<\/code><\/li>\n\n\n\n<li>Value: <code>2-Day<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when any condition true):\n<ul class=\"wp-block-list\">\n<li><strong>Action 1:<\/strong> Add order tags\n<ul class=\"wp-block-list\">\n<li>Tags: <code>Rush-Order<\/code>, <code>Priority-Fulfillment<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 2:<\/strong> Add order note\n<ul class=\"wp-block-list\">\n<li>Note: <code>\u26a0\ufe0f EXPEDITED SHIPPING - {{ order.shippingLine.title }}<\/code><br><code>MUST SHIP TODAY by 3pm for on-time delivery<\/code><br><code>Delivery promise: [calculate based on method]<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 3:<\/strong> Send internal email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>warehouse@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>\ud83d\udea8 RUSH ORDER {{ order.name }} - Ship Today<\/code><\/li>\n\n\n\n<li>Body: <code>EXPEDITED SHIPPING SELECTED<\/code><br><br><code>Order: {{ order.name }}<\/code><br><code>Shipping: {{ order.shippingLine.title }}<\/code><br><code>Customer: {{ customer.firstName }} {{ customer.lastName }}<\/code><br><code>Destination: {{ order.shippingAddress.city }}, {{ order.shippingAddress.provinceCode }}<\/code><br><br><code>Process immediately.<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Advanced setup with SMS (requires MESA):<\/strong><\/p>\n\n\n\n<p>Add SMS notification to warehouse manager&#8217;s mobile for immediate awareness:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Send SMS: <code>RUSH ORDER {{ order.name }} - {{ order.shippingLine.title }} - Ship by 3pm today<\/code><\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Urgency levels:<\/strong> Create tags based on shipping speed:\n<ul class=\"wp-block-list\">\n<li>Overnight \u2192 Tag &#8220;Rush-Priority-1&#8221; (most urgent)<\/li>\n\n\n\n<li>2-Day \u2192 Tag &#8220;Rush-Priority-2&#8221;<\/li>\n\n\n\n<li>Express \u2192 Tag &#8220;Rush-Priority-3&#8221;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cut-off time enforcement:<\/strong> Add condition &#8220;Order created before 2pm&#8221; \u2192 Different handling for after-hours rush orders<\/li>\n\n\n\n<li><strong>Specific carrier routing:<\/strong> Match expedited orders to fastest carrier:\n<ul class=\"wp-block-list\">\n<li>Overnight \u2192 Auto-select FedEx Priority Overnight<\/li>\n\n\n\n<li>2-Day \u2192 Auto-select UPS 2nd Day Air<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Holiday rush:<\/strong> During peak season (Nov-Dec), treat ALL orders as rush to meet holiday delivery promises<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>Shipping method detection<\/td><td>\u2705 Keyword matching<\/td><td>\u2705 Keyword matching<\/td><\/tr><tr><td>Email notifications<\/td><td>\u2705 Standard alerts<\/td><td>\u2705 HTML formatted with priority styling<\/td><\/tr><tr><td>SMS alerts<\/td><td>\u274c Not available<\/td><td>\u2705 Send to warehouse manager mobile<\/td><\/tr><tr><td>Carrier selection<\/td><td>\u274c Manual<\/td><td>\u2705 Auto-select fastest carrier by destination<\/td><\/tr><tr><td>SLA monitoring<\/td><td>\u274c Not available<\/td><td>\u2705 Track processing time, escalate if delayed<\/td><\/tr><tr><td>Priority queue<\/td><td>\u26a0\ufe0f Tag only, manual prioritization<\/td><td>\u2705 Integrate with 3PL API for queue position<\/td><\/tr><tr><td>Shipping label creation<\/td><td>\u274c Manual<\/td><td>\u2705 Auto-generate draft labels<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Try these MESA templates<\/strong><\/p>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>update-shopify-order-status-and-email-for-express-shipping<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"update-shopify-order-status-and-email-for-express-shipping\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"mesa-template-backend frontend-hidden\">\n    <p><strong>MESA Template ID<\/strong><\/p>\n    <p>tag-expedited-shipping-orders-shopify<\/p>\n<\/div>\n\n<div class=\"mesa-template\" data-template=\"tag-expedited-shipping-orders-shopify\"><\/div>\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-10-International-order-customs-preparation-%E2%AD%90%E2%AD%90\"><\/span>Example 10: International order customs preparation \u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>What it does:<\/strong> Automatically flags international shipments and prepares them for customs documentation, reducing delays and ensuring compliance with destination country requirements.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 2 hours\/week on customs prep<\/li>\n\n\n\n<li><strong>Customs delays:<\/strong> Reduced from 15% to 3% of shipments<\/li>\n\n\n\n<li><strong>Customer satisfaction:<\/strong> Faster international delivery<\/li>\n\n\n\n<li><strong>Compliance:<\/strong> Fewer rejected shipments due to documentation errors<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"583\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/shopify-flow-international-order-processing-1024x583.png\" alt=\"shopify flow international order processing\" class=\"wp-image-17860\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-international-order-processing-1024x583.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-international-order-processing-300x171.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-international-order-processing-768x437.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-international-order-processing-1536x875.png 1536w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-international-order-processing-2048x1166.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Step-by-step setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create new workflow<\/strong> in Shopify Flow<\/li>\n\n\n\n<li><strong>Select trigger:<\/strong> Order \u2192 Order created<\/li>\n\n\n\n<li><strong>Add condition:<\/strong> Check shipping destination\n<ul class=\"wp-block-list\">\n<li>Variable: <code>Shipping address \u2192 Country code<\/code><\/li>\n\n\n\n<li>Operator: <code>is not equal to<\/code><\/li>\n\n\n\n<li>Value: <code>US<\/code> (or your store&#8217;s country)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Add actions<\/strong> (when condition true):\n<ul class=\"wp-block-list\">\n<li><strong>Action 1:<\/strong> Add order tags\n<ul class=\"wp-block-list\">\n<li>Tags: <code>International<\/code>, <code>Customs-Required<\/code>, <code>Ship-{{ order.shippingAddress.countryCode }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 2:<\/strong> Add order note\n<ul class=\"wp-block-list\">\n<li>Note: <code>INTERNATIONAL SHIPMENT to {{ order.shippingAddress.country }}<\/code><br><br><code>Requires customs documentation<\/code><br><code>Declared value: ${{ order.totalPrice }}<\/code><br><code>HS codes required: Check products for codes<\/code><br><code>Restricted items: Verify destination allows all products<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 3:<\/strong> Send internal email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>shipping@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>International Order {{ order.name }} - {{ order.shippingAddress.country }}<\/code><\/li>\n\n\n\n<li>Body: <br><code>Destination: {{ order.shippingAddress.city }}, {{ order.shippingAddress.country }}<\/code><br><code>Value: ${{ order.totalPrice }}<\/code><br><code>Items: {{ order.lineItems.size }}<\/code><br><br><code>Required documents:<\/code><br><code>- Commercial invoice<\/code><br><code>- Customs declaration<\/code><br><code>- HS codes for all items<\/code><br><br><code>Review order: https:\/\/{{ shop.domain }}\/admin\/orders\/{{ order.id }}<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Save and turn on<\/strong> the workflow<\/li>\n<\/ol>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>High-value threshold:<\/strong> Add condition &#8220;Order total &gt; $800&#8221; (or your country&#8217;s de minimis value) \u2192 Tag &#8220;Customs-Duties-Required&#8221; + additional documentation notice<\/li>\n\n\n\n<li><strong>Restricted countries:<\/strong> Create separate workflows for high-risk destinations requiring extra compliance:\n<ul class=\"wp-block-list\">\n<li>IF &#8220;Country = Russia or China or Brazil&#8221; \u2192 Tag &#8220;Enhanced-Customs&#8221; + escalate to compliance team<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Product restrictions:<\/strong> Add conditions checking for restricted items:\n<ul class=\"wp-block-list\">\n<li>IF &#8220;Product type = Cosmetics&#8221; AND &#8220;Shipping to EU&#8221; \u2192 Tag &#8220;Requires-Cosmetics-Certificate&#8221;<\/li>\n\n\n\n<li>IF &#8220;Product type = Food&#8221; \u2192 Tag &#8220;Perishable-Customs&#8221; + expedited processing<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Region-specific handling:<\/strong>\n<ul class=\"wp-block-list\">\n<li>EU shipments \u2192 IOSS number required<\/li>\n\n\n\n<li>Canada\/Mexico \u2192 USMCA certificate beneficial<\/li>\n\n\n\n<li>Australia \u2192 Strict biosecurity documentation<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Flow vs MESA:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Feature<\/th><th>Flow<\/th><th>MESA<\/th><\/tr><\/thead><tbody><tr><td>International detection<\/td><td>\u2705 Country comparison<\/td><td>\u2705 Country comparison<\/td><\/tr><tr><td>Basic customs flagging<\/td><td>\u2705 Tag and notify<\/td><td>\u2705 Tag and notify<\/td><\/tr><tr><td>HS code lookup<\/td><td>\u274c Manual<\/td><td>\u2705 Auto-populate from product database<\/td><\/tr><tr><td>Commercial invoice<\/td><td>\u274c Manual creation<\/td><td>\u2705 Auto-generate PDF<\/td><\/tr><tr><td>Restricted item checking<\/td><td>\u26a0\ufe0f Manual conditions<\/td><td>\u2705 Database of country restrictions<\/td><\/tr><tr><td>Duties calculation<\/td><td>\u274c Not available<\/td><td>\u2705 Estimate duties for customer<\/td><\/tr><tr><td>Courier integration<\/td><td>\u274c Manual<\/td><td>\u2705 Create customs documents via ShipStation\/ShipBob<\/td><\/tr><tr><td>Compliance tracking<\/td><td>\u274c Not available<\/td><td>\u2705 Flag permits needed, track expiration<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<p><strong>You&#8217;ve completed the intermediate examples!<\/strong> These five workflows introduce multi-condition logic, app integrations, and more sophisticated business rules. Once you&#8217;ve successfully implemented 2-3 intermediate examples and they&#8217;re running smoothly, you&#8217;re ready for advanced workflows requiring external data, scheduled triggers, and complex automation.<\/p>\n\n\n\n<p><strong>Next steps:<\/strong> Choose one intermediate example that solves a current operational challenge. Build it following the step-by-step instructions. Test thoroughly. Monitor for 1-2 weeks. Then add another.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-advanced-examples\"><span class=\"ez-toc-section\" id=\"Advanced-examples\"><\/span>Advanced examples<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>These examples combine multiple conditions, require external integrations, use scheduled triggers, or implement complex business logic that Flow cannot handle natively. Build time: 45-60 minutes. These workflows require MESA or advanced Flow techniques. Best implemented after mastering beginner and intermediate workflows.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-11-Multi-order-consolidation-%E2%AD%90%E2%AD%90%E2%AD%90\"><\/span>Example 11: Multi-order consolidation \u2b50\u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Why it&#8217;s advanced:<\/strong> Requires querying order history, comparing timestamps across multiple orders, and coordinating actions on orders that aren&#8217;t the current trigger.<\/p>\n\n\n\n<p><strong>What it does:<\/strong> Detects when a customer places 2+ orders within 24 hours and automatically holds all orders to ship together in one package, reducing shipping costs and improving the customer experience.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shipping cost savings:<\/strong> $400-600\/month (15-25% reduction on multi-order customers)<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 2-3 hours\/week (eliminates manual consolidation checks)<\/li>\n\n\n\n<li><strong>Better unboxing experience:<\/strong> One package vs 3-4 small packages<\/li>\n\n\n\n<li><strong>Environmental benefit:<\/strong> Less packaging waste, fewer shipments<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"1024\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/workflow-example-multi-order-consolidation-884x1024.png\" alt=\"workflow example diagram: multi-order-consolidation\" class=\"wp-image-17862\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-multi-order-consolidation-884x1024.png 884w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-multi-order-consolidation-259x300.png 259w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-multi-order-consolidation-768x890.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-multi-order-consolidation.png 1206w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/figure>\n\n\n\n<p><strong>Why Flow can&#8217;t do this:<\/strong><\/p>\n\n\n\n<p>Shopify Flow lacks critical capabilities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No order history queries:<\/strong> Can&#8217;t search for &#8220;customer&#8217;s other orders in last 24 hours&#8221;<\/li>\n\n\n\n<li><strong>No timestamp comparisons:<\/strong> Can&#8217;t calculate &#8220;is this order within 24 hours of previous order?&#8221;<\/li>\n\n\n\n<li><strong>No cross-order actions:<\/strong> Can&#8217;t apply tags to multiple orders simultaneously<\/li>\n\n\n\n<li><strong>No counting\/aggregation:<\/strong> Can&#8217;t count how many orders exist in a time window<\/li>\n<\/ul>\n\n\n\n<p><strong>MESA implementation:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Trigger:<\/strong> Order created<\/li>\n\n\n\n<li><strong>Get Order Data action:<\/strong> Query orders\n<ul class=\"wp-block-list\">\n<li>Filter: <code>Customer ID = {{ order.customer.id }}<\/code><\/li>\n\n\n\n<li>Date range: Last 24 hours<\/li>\n\n\n\n<li>Status: Any (unpaid, paid, fulfilled)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Condition:<\/strong> Check order count\n<ul class=\"wp-block-list\">\n<li>Variable: <code>{{ orders.length }}<\/code><\/li>\n\n\n\n<li>Operator: <code>is greater than or equal to<\/code><\/li>\n\n\n\n<li>Value: <code>2<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Loop action:<\/strong> For each order in results\n<ul class=\"wp-block-list\">\n<li><strong>Sub-action 1:<\/strong> Update order\n<ul class=\"wp-block-list\">\n<li>Add tag: <code>CONSOLIDATE<\/code><\/li>\n\n\n\n<li>Hold fulfillment: <code>true<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sub-action 2:<\/strong> Add order note\n<ul class=\"wp-block-list\">\n<li>Note: <code>Part of consolidation group - {{ orders.length }} orders. Ship together with: [list order numbers]<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Send email:<\/strong> Notify warehouse\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>warehouse@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>\ud83c\udf81 CONSOLIDATE SHIPMENT - Customer {{ customer.firstName }} {{ customer.lastName }}<\/code><\/li>\n\n\n\n<li>Body: <code>Customer placed {{ orders.length }} orders in 24 hours. Consolidate into single shipment:<\/code><br><br><code>[Loop through orders listing order numbers, items, totals]<\/code><br><br><code>Total consolidated value: $[sum of all order totals]<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Send email:<\/strong> Notify customer\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>{{ customer.email }}<\/code><\/li>\n\n\n\n<li>Subject: <code>Your orders are being combined for eco-friendly shipping<\/code><\/li>\n\n\n\n<li>Body: <code>Great news! We noticed you placed multiple orders and we're combining them into one shipment to reduce packaging waste. You'll receive one package with all your items.<\/code><br><br><code>Orders included:<\/code><br><code>[List order numbers]<\/code><br><br><code>Expected ship date: [tomorrow's date]<\/code><br><br><code>Thank you for helping us reduce our environmental impact!<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Setup requirements:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MESA subscription<\/li>\n\n\n\n<li>Understanding of &#8220;Get Data&#8221; actions and filtering<\/li>\n\n\n\n<li>Basic loop logic familiarity<\/li>\n\n\n\n<li>Time to test with historical data<\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time window adjustment:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Domestic orders: 24-hour window<\/li>\n\n\n\n<li>International orders: 48-hour window (longer processing time anyway)<\/li>\n\n\n\n<li>Same-day orders: 4-hour window for same-day shipping promises<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Product category exceptions:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Exclude perishables (can&#8217;t wait for consolidation)<\/li>\n\n\n\n<li>Exclude time-sensitive items (gifts with delivery dates)<\/li>\n\n\n\n<li>Exclude pre-orders (different fulfillment timeline)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Subscription order handling:<\/strong> Exclude subscription orders (separate fulfillment schedule)<\/li>\n\n\n\n<li><strong>Value threshold:<\/strong> Only consolidate if combined value &gt; $50 (below that, consolidation isn&#8217;t worth delay)<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Intelligent routing:<\/strong> If orders contain items from different warehouses, don&#8217;t consolidate (would require inter-warehouse transfer)<\/li>\n\n\n\n<li><strong>Customer notification timing:<\/strong> Wait 2 hours after second order before notifying (in case they place a third order)<\/li>\n\n\n\n<li><strong>Automatic release:<\/strong> If 24 hours pass with no additional orders, automatically unhold and ship<\/li>\n\n\n\n<li><strong>Tracking consolidation:<\/strong> Track monthly savings in Google Sheets dashboard<\/li>\n<\/ul>\n\n\n\n<p><strong>Testing strategy:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create test customer account<\/li>\n\n\n\n<li>Place 2 test orders within minutes<\/li>\n\n\n\n<li>Verify both orders get tagged and held<\/li>\n\n\n\n<li>Check that emails send with correct order details<\/li>\n\n\n\n<li>Confirm warehouse can identify which orders to combine<\/li>\n\n\n\n<li>Test edge cases: 3 orders, orders 23 hours apart, orders with different shipping addresses<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-12-Win-back-campaign-trigger-%E2%AD%90%E2%AD%90%E2%AD%90\"><\/span>Example 12: Win-back campaign trigger \u2b50\u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Why it&#8217;s advanced:<\/strong> Requires scheduled daily triggers, customer history analysis, date calculations, and email platform API integration.<\/p>\n\n\n\n<p><strong>What it does:<\/strong> Runs daily automated checks to identify customers with no purchase in 90+ days and automatically triggers segmented re-engagement campaigns with escalating offers.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Revenue recovered:<\/strong> $800-2,000\/month from customers who were drifting away<\/li>\n\n\n\n<li><strong>Churn prevention:<\/strong> 10-15% of at-risk customers return<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 3 hours\/week (eliminates manual customer segmentation)<\/li>\n\n\n\n<li><strong>Automated lifecycle marketing:<\/strong> Set it once, runs forever<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"883\" height=\"1024\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/workflow-example-win-back-campaign-883x1024.png\" alt=\"workflow example diagram: win-back campaign\" class=\"wp-image-17863\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-win-back-campaign-883x1024.png 883w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-win-back-campaign-259x300.png 259w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-win-back-campaign-768x891.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-win-back-campaign-1324x1536.png 1324w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-win-back-campaign.png 1443w\" sizes=\"auto, (max-width: 883px) 100vw, 883px\" \/><\/figure>\n\n\n\n<p><strong>Why Flow can&#8217;t do this:<\/strong><\/p>\n\n\n\n<p>Shopify Flow lacks essential capabilities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No scheduled triggers:<\/strong> Can&#8217;t run daily\/weekly checks automatically<\/li>\n\n\n\n<li><strong>No customer data queries:<\/strong> Can&#8217;t fetch &#8220;all customers&#8221; and filter by order history<\/li>\n\n\n\n<li><strong>No date calculations:<\/strong> Can&#8217;t calculate &#8220;days since last order&#8221; dynamically<\/li>\n\n\n\n<li><strong>No email platform API triggers:<\/strong> Can&#8217;t trigger Klaviyo\/Mailchimp sequences programmatically<\/li>\n<\/ul>\n\n\n\n<p><strong>MESA implementation:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/docs.getmesa.com\/tools\/schedule\" target=\"_blank\" rel=\"noreferrer noopener\">Schedule Trigger<\/a>:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Frequency: Daily<\/li>\n\n\n\n<li>Time: 9:00 AM (adjust to your timezone)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Get Customer Data action:<\/strong> Fetch customers with orders\n<ul class=\"wp-block-list\">\n<li>Query: All customers<\/li>\n\n\n\n<li>Include: Last order date, order count, total spent<\/li>\n\n\n\n<li>Filter: Has placed at least one order (exclude never-purchased)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/docs.getmesa.com\/tools\/transform\" target=\"_blank\" rel=\"noreferrer noopener\">Transform data<\/a>:<\/strong> Calculate days since last order\n<ul class=\"wp-block-list\">\n<li>For each customer: <code>days_inactive = (today - last_order_date)<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/docs.getmesa.com\/tools\/filter\" target=\"_blank\" rel=\"noreferrer noopener\">Filter condition<\/a>:<\/strong> Segment 90-day inactive\n<ul class=\"wp-block-list\">\n<li>Condition: <code>days_inactive &gt;= 90<\/code> AND <code>days_inactive &lt; 91<\/code><\/li>\n\n\n\n<li>Result: Customers who hit exactly 90 days today<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/docs.getmesa.com\/tools\/loop\" target=\"_blank\" rel=\"noreferrer noopener\">Loop<\/a>:<\/strong> For each 90-day inactive customer\n<ul class=\"wp-block-list\">\n<li><strong>Sub-action 1:<\/strong> Update Shopify customer\n<ul class=\"wp-block-list\">\n<li>Add tag: <code>At-Risk-Churn-90<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sub-action 2:<\/strong> Trigger Klaviyo flow\n<ul class=\"wp-block-list\">\n<li>API endpoint: Klaviyo list\/profile<\/li>\n\n\n\n<li>List: &#8220;90-Day Win-Back&#8221;<\/li>\n\n\n\n<li>Profile: Customer email, name, last product purchased<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sub-action 3:<\/strong> (Optional) Update CRM\n<ul class=\"wp-block-list\">\n<li>HubSpot\/Salesforce: Set contact status = &#8220;At Risk&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Repeat steps 4-5<\/strong> for other segments:\n<ul class=\"wp-block-list\">\n<li>120-day segment: Tag <code>At-Risk-Churn-120<\/code>, trigger &#8220;Last Chance&#8221; flow with 20% discount<\/li>\n\n\n\n<li>180+ day segment: Tag <code>Lost-Customer<\/code>, suppress from marketing (save costs)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Send summary report:<\/strong> Daily digest email\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>marketing@yourstore.com<\/code><\/li>\n\n\n\n<li>Subject: <code>Daily Win-Back Report - {{ date }}<\/code><\/li>\n\n\n\n<li>Body: <br><code>Today's churn segments:<\/code><br><code>- 90-day: {{ count_90 }} customers tagged<\/code><br><code>- 120-day: {{ count_120 }} customers tagged<\/code><br><code>- 180+ day: {{ count_180 }} customers suppressed<\/code><br><br><code>Total win-back emails triggered: {{ total_triggered }}<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Setup requirements:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MESA subscription<\/li>\n\n\n\n<li>Email marketing platform with API access (Klaviyo, Mailchimp, Omnisend)<\/li>\n\n\n\n<li>Pre-built email sequences in your platform:\n<ul class=\"wp-block-list\">\n<li>90-day: &#8220;We miss you&#8221; gentle reminder<\/li>\n\n\n\n<li>120-day: &#8220;Last chance&#8221; with escalated discount (20% off)<\/li>\n\n\n\n<li>180+ day: Suppression to avoid wasting sends<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Historical purchase data for initial segmentation<\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product-based win-back:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Consumables (skincare, supplements): 60-day window (faster repurchase cycle)<\/li>\n\n\n\n<li>Durable goods (furniture, electronics): 180-day window (longer repurchase cycle)<\/li>\n\n\n\n<li>Apparel: 90-day window (seasonal refresh)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Exclude active subscribers:<\/strong> Add condition &#8220;Customer does NOT have tag: Active-Subscriber&#8221; (they&#8217;re still engaged via subscriptions)<\/li>\n\n\n\n<li><strong>VIP handling:<\/strong> Different win-back offers by customer tier:\n<ul class=\"wp-block-list\">\n<li>VIP customers: Personalized call from account manager at 60 days<\/li>\n\n\n\n<li>Regular customers: Standard email sequence<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Seasonal adjustments:<\/strong> Pause win-back campaigns during holiday season (customers naturally return then)<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Predictive churn:<\/strong> Use purchase frequency to predict churn earlier (customer who bought every 30 days but hasn&#8217;t in 45 days)<\/li>\n\n\n\n<li><strong>Recommended products:<\/strong> Include last-purchased items or complementary products in win-back emails<\/li>\n\n\n\n<li><strong>Multi-channel approach:<\/strong>\n<ul class=\"wp-block-list\">\n<li>90 days: Email only<\/li>\n\n\n\n<li>120 days: Email + retargeting ads on Facebook\/TikTok<\/li>\n\n\n\n<li>150 days: Email + SMS (last attempt before suppression)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Expected results:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Email open rates:<\/strong> 18-25% (higher than regular campaigns due to relevance)<\/li>\n\n\n\n<li><strong>Click-through rates:<\/strong> 8-12%<\/li>\n\n\n\n<li><strong>Conversion rates:<\/strong> 3-5% of recipients make purchase<\/li>\n\n\n\n<li><strong>ROI:<\/strong> For every $1 spent on win-back campaigns, expect $6-10 return<\/li>\n<\/ul>\n\n\n\n<p><strong>Testing strategy:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Run initial query to identify current segment sizes<\/li>\n\n\n\n<li>Start with 90-day segment only (test on smaller group)<\/li>\n\n\n\n<li>Monitor email deliverability and engagement rates<\/li>\n\n\n\n<li>Verify customers are properly tagged in Shopify<\/li>\n\n\n\n<li>Check email platform for sequence triggering<\/li>\n\n\n\n<li>After 2 weeks of data, add 120-day segment<\/li>\n\n\n\n<li>After 1 month, add 180+ day suppression<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-13-Seasonal-inventory-threshold-adjustment-%E2%AD%90%E2%AD%90%E2%AD%90\"><\/span>Example 13: Seasonal inventory threshold adjustment \u2b50\u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Why it&#8217;s advanced:<\/strong> Requires date-based logic, dynamic threshold calculations, and scheduled automation to adjust inventory alerts based on season.<\/p>\n\n\n\n<p><strong>What it does:<\/strong> Automatically increases low-stock alert thresholds during peak seasons (Q4 holiday) and returns them to normal levels during slower periods, preventing stockouts during high demand without carrying excess inventory year-round.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stockout prevention:<\/strong> 95%+ availability during peak season<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 5 hours\/week during seasonal transitions (no manual threshold updates)<\/li>\n\n\n\n<li><strong>Cash flow optimization:<\/strong> 15-20% reduction in off-season inventory carrying costs<\/li>\n\n\n\n<li><strong>Demand planning:<\/strong> Automated adjustment eliminates human error<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"892\" height=\"1024\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/workflow-example-seasonal-inventory-threshold-adjustment-892x1024.png\" alt=\"workflow example diagram: seasonal inventory threshold adjustment\" class=\"wp-image-17864\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-seasonal-inventory-threshold-adjustment-892x1024.png 892w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-seasonal-inventory-threshold-adjustment-261x300.png 261w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-seasonal-inventory-threshold-adjustment-768x882.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-seasonal-inventory-threshold-adjustment-1338x1536.png 1338w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-seasonal-inventory-threshold-adjustment.png 1458w\" sizes=\"auto, (max-width: 892px) 100vw, 892px\" \/><\/figure>\n\n\n\n<p><strong>Why Flow can&#8217;t do this:<\/strong><\/p>\n\n\n\n<p>Shopify Flow cannot:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Run scheduled checks:<\/strong> No time-based triggers<\/li>\n\n\n\n<li><strong>Perform date calculations:<\/strong> Can&#8217;t check &#8220;is today between Oct 1 and Dec 31?&#8221;<\/li>\n\n\n\n<li><strong>Store variable thresholds:<\/strong> Can&#8217;t maintain per-product thresholds<\/li>\n\n\n\n<li><strong>Update metafields:<\/strong> Can&#8217;t write threshold values back to products<\/li>\n\n\n\n<li><strong>Do mathematical calculations:<\/strong> Can&#8217;t multiply base threshold \u00d7 seasonal multiplier<\/li>\n<\/ul>\n\n\n\n<p><strong>MESA implementation:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Trigger:<\/strong> Schedule\n<ul class=\"wp-block-list\">\n<li>Frequency: Daily<\/li>\n\n\n\n<li>Time: 6:00 AM<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Get current date action:<\/strong> Store today&#8217;s date\n<ul class=\"wp-block-list\">\n<li>Variable: <code>current_date<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Determine season action:<\/strong> Conditional logic <br><code>IF current_date between Oct 1 and Dec 31: <\/code><br>  <code>season = \"peak\" multiplier = 2.5 <\/code><br><code>ELSE IF current_date between Jan 1 and Mar 15: <\/code><br>  <code>season = \"post-holiday\" multiplier = 1.0 <\/code><br><code>ELSE: <\/code><br>  <code>season = \"standard\" multiplier = 1.0<\/code><\/li>\n\n\n\n<li><strong>Get Products action:<\/strong> Fetch all active products\n<ul class=\"wp-block-list\">\n<li>Filter: Status = Active<\/li>\n\n\n\n<li>Include: Variants, inventory levels, base threshold metafield<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Loop:<\/strong> For each product\n<ul class=\"wp-block-list\">\n<li><strong>Sub-action 1:<\/strong> Calculate adjusted threshold\n<ul class=\"wp-block-list\">\n<li>Formula: <code>adjusted_threshold = base_threshold \u00d7 multiplier<\/code><\/li>\n\n\n\n<li>Example: Base = 20 units \u2192 Peak season = 20 \u00d7 2.5 = 50 units<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sub-action 2:<\/strong> Check current inventory\n<ul class=\"wp-block-list\">\n<li>IF <code>current_inventory &lt; adjusted_threshold<\/code>:\n<ul class=\"wp-block-list\">\n<li>Send low stock alert<\/li>\n\n\n\n<li>Tag product: <code>Low-Stock-Seasonal<\/code><\/li>\n\n\n\n<li>Email: Include product, current stock, adjusted threshold<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sub-action 3:<\/strong> Update product metafield\n<ul class=\"wp-block-list\">\n<li>Metafield: <code>custom.seasonal_threshold<\/code><\/li>\n\n\n\n<li>Value: <code>{{ adjusted_threshold }}<\/code><\/li>\n\n\n\n<li>Purpose: Track what threshold is currently active<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Send summary report:<\/strong> Daily digest\n<ul class=\"wp-block-list\">\n<li>Count products flagged as low stock<\/li>\n\n\n\n<li>List top 10 products closest to threshold<\/li>\n\n\n\n<li>Show current season and multiplier in effect<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Setup requirements:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MESA subscription<\/li>\n\n\n\n<li>Product metafield setup:\n<ul class=\"wp-block-list\">\n<li><code>custom.base_threshold<\/code> (Integer) &#8211; Store base reorder point for each product<\/li>\n\n\n\n<li><code>custom.seasonal_threshold<\/code> (Integer) &#8211; Current adjusted threshold<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Historical sales data to determine appropriate base thresholds and multipliers<\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product-specific multipliers:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Seasonal products (decorations, holiday items): 3x multiplier<\/li>\n\n\n\n<li>Evergreen products (basics, essentials): 1.5x multiplier<\/li>\n\n\n\n<li>Subscription items: No adjustment (predictable demand)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Regional variations:<\/strong>\n<ul class=\"wp-block-list\">\n<li>US-centric business: October-December peak<\/li>\n\n\n\n<li>Australia: November-January peak (summer holidays)<\/li>\n\n\n\n<li>Multiple regions: Weighted multiplier based on sales distribution<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Pre-season buffer:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Start increasing thresholds September 15 (before peak demand)<\/li>\n\n\n\n<li>Ensures stock arrives before crush begins<\/li>\n\n\n\n<li>Adjust lead times into multiplier calculation<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Category-based timing:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Back-to-school items: August peak (2x multiplier)<\/li>\n\n\n\n<li>Summer apparel: May-July peak<\/li>\n\n\n\n<li>Different workflows for different product categories<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sales velocity integration:<\/strong> Instead of fixed multiplier, calculate based on actual sales trends: <code>multiplier = (last_30_days_sales \/ historical_average_sales) \u00d7 1.2<\/code><\/li>\n\n\n\n<li><strong>Supplier lead time consideration:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Products with 30-day lead time: Start increasing threshold earlier<\/li>\n\n\n\n<li>Products with 7-day lead time: Can wait longer to adjust<\/li>\n\n\n\n<li>Formula: <code>adjusted_threshold = base \u00d7 multiplier \u00d7 (lead_time_days \/ 7)<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Automated reorder triggering:<\/strong> When threshold is crossed, automatically:\n<ul class=\"wp-block-list\">\n<li>Generate purchase order draft<\/li>\n\n\n\n<li>Email supplier with quantities needed<\/li>\n\n\n\n<li>Create task in project management tool<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Example threshold calculations:<\/strong><\/p>\n\n\n\n<p><strong>Product: Winter Coat<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Base threshold: 15 units<\/li>\n\n\n\n<li>Historical Q4 sales: 150 units\/month (vs 30 units\/month average)<\/li>\n\n\n\n<li>Lead time: 45 days<\/li>\n\n\n\n<li>October 1 adjustment: 15 \u00d7 2.5 \u00d7 1.5 (lead time factor) = 56 units<\/li>\n\n\n\n<li>Alert triggers when inventory drops below 56 units<\/li>\n<\/ul>\n\n\n\n<p><strong>Product: Basic T-Shirt<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Base threshold: 50 units<\/li>\n\n\n\n<li>Consistent year-round sales: 200 units\/month<\/li>\n\n\n\n<li>Lead time: 14 days<\/li>\n\n\n\n<li>October 1 adjustment: 50 \u00d7 1.5 (slight bump) = 75 units<\/li>\n\n\n\n<li>Alert triggers when inventory drops below 75 units<\/li>\n<\/ul>\n\n\n\n<p><strong>Testing strategy:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Start with small product subset (10-20 SKUs)<\/li>\n\n\n\n<li>Run manual calculation to verify math is correct<\/li>\n\n\n\n<li>Compare historical peak season stockouts to baseline<\/li>\n\n\n\n<li>Monitor first seasonal transition closely<\/li>\n\n\n\n<li>Adjust multipliers based on actual performance<\/li>\n\n\n\n<li>Expand to full catalog after successful pilot<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-14-Dynamic-promotion-activation-%E2%AD%90%E2%AD%90%E2%AD%90\"><\/span>Example 14: Dynamic promotion activation \u2b50\u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Why it&#8217;s advanced:<\/strong> Requires scheduled triggers to automatically activate and deactivate workflows, discount codes, or collection visibility at precise times without manual intervention.<\/p>\n\n\n\n<p><strong>What it does:<\/strong> Automatically enables seasonal promotion workflows at scheduled times (Black Friday double points starts Nov 24 at 12:01 AM), runs them for the promotional period, then disables them and cleans up promotional tags when the sale ends.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Time saved:<\/strong> 3-4 hours during promotional periods (no manual activation\/deactivation)<\/li>\n\n\n\n<li><strong>Error prevention:<\/strong> 100% reliable timing (never forget to start or end promotions)<\/li>\n\n\n\n<li><strong>Team coordination:<\/strong> Eliminates &#8220;who&#8217;s turning on the BFCM workflow?&#8221; confusion<\/li>\n\n\n\n<li><strong>Clean data:<\/strong> Automatic tag cleanup prevents promotional tags lingering on old orders<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"948\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/workflow-example-dynamic-promotions-1024x948.png\" alt=\"workflow example diagram: dynamic promotion activation\" class=\"wp-image-17865\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-dynamic-promotions-1024x948.png 1024w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-dynamic-promotions-300x278.png 300w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-dynamic-promotions-768x711.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-dynamic-promotions.png 1380w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Why Flow can&#8217;t do this:<\/strong><\/p>\n\n\n\n<p>Shopify Flow cannot:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Schedule workflow activation:<\/strong> No ability to enable\/disable other workflows programmatically<\/li>\n\n\n\n<li><strong>Control discount codes:<\/strong> Can&#8217;t activate or deactivate discount codes<\/li>\n\n\n\n<li><strong>Publish\/unpublish collections:<\/strong> No control over collection visibility<\/li>\n\n\n\n<li><strong>Time-based cleanup:<\/strong> Can&#8217;t remove tags from historical orders in bulk<\/li>\n<\/ul>\n\n\n\n<p><strong>MESA implementation:<\/strong><\/p>\n\n\n\n<p><strong>Part 1: Promotion Start Automation<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Trigger:<\/strong> Schedule\n<ul class=\"wp-block-list\">\n<li>Date: November 24, 2026<\/li>\n\n\n\n<li>Time: 12:01 AM (your timezone)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Enable workflow action:<\/strong> Activate BFCM workflow\n<ul class=\"wp-block-list\">\n<li>Workflow ID: &#8220;bfcm-double-loyalty-points&#8221;<\/li>\n\n\n\n<li>Status: <code>On<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Update collection:<\/strong> Make sale collection visible\n<ul class=\"wp-block-list\">\n<li>Collection: &#8220;Black Friday Deals&#8221;<\/li>\n\n\n\n<li>Published: <code>true<\/code><\/li>\n\n\n\n<li>Sales channels: Online Store, Mobile App<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Activate discount code:<\/strong> Enable promo code\n<ul class=\"wp-block-list\">\n<li>Code: <code>BFCM2026<\/code><\/li>\n\n\n\n<li>Active: <code>true<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Send notifications:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Slack:<\/strong> Post to #marketing channel\n<ul class=\"wp-block-list\">\n<li>Message: <code>\ud83c\udf89 BLACK FRIDAY PROMOTION IS NOW LIVE! Double points workflow activated. BFCM2026 code enabled.<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Email:<\/strong> To marketing team\n<ul class=\"wp-block-list\">\n<li>Subject: <code>\u2705 BFCM Promotion Started Successfully<\/code><\/li>\n\n\n\n<li>Body: Confirmation of all activated components<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Part 2: Promotion End Automation<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Trigger:<\/strong> Schedule\n<ul class=\"wp-block-list\">\n<li>Date: November 28, 2026<\/li>\n\n\n\n<li>Time: 11:59 PM (your timezone)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Disable workflow action:<\/strong> Deactivate BFCM workflow\n<ul class=\"wp-block-list\">\n<li>Workflow ID: &#8220;bfcm-double-loyalty-points&#8221;<\/li>\n\n\n\n<li>Status: <code>Off<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Update collection:<\/strong> Hide sale collection\n<ul class=\"wp-block-list\">\n<li>Collection: &#8220;Black Friday Deals&#8221;<\/li>\n\n\n\n<li>Published: <code>false<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Deactivate discount code:<\/strong> Disable promo code\n<ul class=\"wp-block-list\">\n<li>Code: <code>BFCM2026<\/code><\/li>\n\n\n\n<li>Active: <code>false<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Clean up promotional tags:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Get all orders with tag &#8220;BFCM-2026&#8221;<\/li>\n\n\n\n<li>Loop through orders<\/li>\n\n\n\n<li>Remove tag: &#8220;BFCM-2026&#8221;<\/li>\n\n\n\n<li>Add tag: &#8220;BFCM-2026-Ended&#8221; (for historical tracking)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Send notifications:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Slack:<\/strong> Post to #marketing\n<ul class=\"wp-block-list\">\n<li>Message: <code>\ud83d\uded1 Black Friday promotion has ended. All workflows disabled. {{ order_count }} orders processed during sale.<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Email:<\/strong> To marketing team with summary\n<ul class=\"wp-block-list\">\n<li>Total orders during promotion<\/li>\n\n\n\n<li>Total revenue<\/li>\n\n\n\n<li>Most popular products<\/li>\n\n\n\n<li>Discount code usage stats<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Setup requirements:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MESA subscription<\/li>\n\n\n\n<li>Pre-built workflows that will be activated\/deactivated<\/li>\n\n\n\n<li>Discount codes created in Shopify (but set to inactive initially)<\/li>\n\n\n\n<li>Collections prepared and ready to publish<\/li>\n\n\n\n<li>Test environment to verify timing and actions<\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Multiple promotions:<\/strong> Create separate scheduled workflows for each campaign:\n<ul class=\"wp-block-list\">\n<li>BFCM: Nov 24-28<\/li>\n\n\n\n<li>Cyber Monday: Nov 29-30<\/li>\n\n\n\n<li>Holiday shipping cutoff: Dec 15<\/li>\n\n\n\n<li>New Year sale: Jan 1-5<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Graduated activation:<\/strong> Phase promotions in stages:\n<ul class=\"wp-block-list\">\n<li>12:01 AM: VIP early access (tag-based workflow)<\/li>\n\n\n\n<li>6:00 AM: General public access (everyone)<\/li>\n\n\n\n<li>11:59 PM: Sale ends<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Geographic variations:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Enable promotion at midnight in each timezone<\/li>\n\n\n\n<li>US East Coast: 12:01 AM EST<\/li>\n\n\n\n<li>US West Coast: 12:01 AM PST (3 hours later)<\/li>\n\n\n\n<li>International: 12:01 AM local time<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Failsafe notifications:<\/strong> Send alerts if actions fail\n<ul class=\"wp-block-list\">\n<li>IF workflow enable fails \u2192 Page on-call engineer<\/li>\n\n\n\n<li>IF discount code doesn&#8217;t activate \u2192 Immediate team alert<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pre-promotion warmup:<\/strong>\n<ul class=\"wp-block-list\">\n<li>24 hours before: Send &#8220;Coming Soon&#8221; emails to VIPs<\/li>\n\n\n\n<li>2 hours before: Send countdown email to all subscribers<\/li>\n\n\n\n<li>30 minutes before: Slack reminder to support team<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Real-time monitoring:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Every 15 minutes during promotion: Check order volume<\/li>\n\n\n\n<li>IF orders spike &gt;200% normal \u2192 Alert team of traffic surge<\/li>\n\n\n\n<li>IF orders drop to zero \u2192 Alert team of potential site issue<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Post-promotion analysis:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Automatically generate Google Sheets report<\/li>\n\n\n\n<li>Compare this year&#8217;s performance to last year<\/li>\n\n\n\n<li>Email summary to executive team<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Testing strategy:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Test in staging environment:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Schedule test promotion for tomorrow at 1:00 PM<\/li>\n\n\n\n<li>Verify all actions execute correctly<\/li>\n\n\n\n<li>Confirm notifications send<\/li>\n\n\n\n<li>Check workflow enables\/disables properly<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Dry run before live promotion:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Schedule &#8220;test activation&#8221; 1 week before actual promotion<\/li>\n\n\n\n<li>Execute all steps but with test workflows\/collections<\/li>\n\n\n\n<li>Verify timing is correct<\/li>\n\n\n\n<li>Confirm team receives notifications<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Monitor first live promotion closely:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Have team member awake at activation time<\/li>\n\n\n\n<li>Verify promotion started correctly<\/li>\n\n\n\n<li>Check customer-facing elements (collection visible, code works)<\/li>\n\n\n\n<li>Document any issues for next promotion<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Example-15-Intelligent-fulfillment-routing-%E2%AD%90%E2%AD%90%E2%AD%90\"><\/span>Example 15: Intelligent fulfillment routing \u2b50\u2b50\u2b50<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Why it&#8217;s advanced:<\/strong> Requires querying multiple data sources (inventory at multiple locations, shipping zones, carrier performance), complex decision trees based on product availability and delivery promises, and integration with fulfillment systems.<\/p>\n\n\n\n<p><strong>What it does:<\/strong> Automatically analyzes each order and intelligently routes it to the optimal fulfillment location based on inventory availability, customer proximity, carrier performance, product type, and delivery speed requirements\u2014minimizing shipping costs while maximizing delivery speed.<\/p>\n\n\n\n<p><strong>Business impact:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Shipping cost reduction:<\/strong> 20-30% savings through optimized routing<\/li>\n\n\n\n<li><strong>Delivery speed:<\/strong> 25% faster average delivery times<\/li>\n\n\n\n<li><strong>Time saved:<\/strong> 6-8 hours\/week (eliminates manual order routing decisions)<\/li>\n\n\n\n<li><strong>Customer satisfaction:<\/strong> 95%+ on-time delivery through smart carrier selection<\/li>\n\n\n\n<li><strong>Inventory optimization:<\/strong> Balanced inventory draw across locations<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"914\" height=\"1024\" src=\"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/workflow-example-smart-fulfillment-routing-914x1024.png\" alt=\"workflow example diagram: intelligent fulfillment routing system\" class=\"wp-image-17866\" srcset=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-smart-fulfillment-routing-914x1024.png 914w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-smart-fulfillment-routing-268x300.png 268w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-smart-fulfillment-routing-768x861.png 768w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-smart-fulfillment-routing-1370x1536.png 1370w, https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/workflow-example-smart-fulfillment-routing.png 1464w\" sizes=\"auto, (max-width: 914px) 100vw, 914px\" \/><\/figure>\n\n\n\n<p><strong>Why Flow can&#8217;t do this:<\/strong><\/p>\n\n\n\n<p>Shopify Flow cannot:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Query multi-location inventory:<\/strong> Can&#8217;t check stock levels across warehouses simultaneously<\/li>\n\n\n\n<li><strong>Perform complex calculations:<\/strong> Can&#8217;t calculate shipping zones or compare distances<\/li>\n\n\n\n<li><strong>Access external carrier data:<\/strong> No integration with carrier performance analytics<\/li>\n\n\n\n<li><strong>Make multi-factor decisions:<\/strong> Limited conditional logic for complex decision trees<\/li>\n\n\n\n<li><strong>Update fulfillment locations dynamically:<\/strong> Can&#8217;t programmatically assign to specific warehouses<\/li>\n<\/ul>\n\n\n\n<p><strong>MESA implementation:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Trigger:<\/strong> Order created<\/li>\n\n\n\n<li><strong>Get inventory data:<\/strong> Check all locations\n<ul class=\"wp-block-list\">\n<li>Location 1: Los Angeles warehouse<\/li>\n\n\n\n<li>Location 2: Chicago warehouse<\/li>\n\n\n\n<li>Location 3: New Jersey warehouse<\/li>\n\n\n\n<li>For each line item: Check inventory availability<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Calculate fulfillment options:<\/strong> <br><code>For each location: <\/code><br><code>- Check if has all items in stock <\/code><br><code>- Calculate shipping zone to customer <\/code><br><code>- Look up carrier performance to destination <\/code><br><code>- Check location-specific constraints<\/code><br><\/li>\n\n\n\n<li><strong>Decision tree &#8211; Location selection:<\/strong> <br><br><strong>Priority 1: Inventory availability<\/strong> <br><code>IF only one location has full inventory: <\/code><br><code>\u2192 Route to that location <\/code><br><code>\u2192 Skip further logic <\/code><br><br><code>IF multiple locations have full inventory: <\/code><br><code>\u2192 Continue to Priority 2 <\/code><br><br><code>IF no location has full inventory: <\/code><br><code>\u2192 Tag \"Split-Shipment-Required\" <\/code><br><code>\u2192 Route each item to nearest location with stock <\/code><br><code>\u2192 Notify customer of multiple shipments<\/code> <br><br><strong>Priority 2: Shipping speed requirements<\/strong> <br><code>IF order has expedited shipping: <\/code><br><code>\u2192 Route to location closest to customer <\/code><br><code>\u2192 Select fastest carrier to zone <\/code><br><br><code>IF order is standard shipping: <\/code><br><code>\u2192 Continue to Priority 3<\/code> <br><br><strong>Priority 3: Cost optimization<\/strong> <br><code>Calculate shipping cost from each location: <\/code><br><code>LA to customer: $8.50 (Zone 6) <\/code><br><code>Chicago to customer: $6.25 (Zone 4) <\/code><br><code>NJ to customer: $5.75 (Zone 3) <\/code><br><br><code>Route to location with lowest shipping cost<\/code> <br><br><strong>Priority 4: Inventory balancing<\/strong> <br><code>IF multiple locations have equal shipping cost: <\/code><br><code>\u2192 Check inventory levels <\/code><br><code>\u2192 Route to location with highest stock levels <\/code><br><code>\u2192 Goal: Prevent any one warehouse from running out<\/code><br><\/li>\n\n\n\n<li><strong>Select optimal carrier:<\/strong> <br><code>For destination zone: <\/code><br><code>- Check carrier on-time performance (last 30 days) <\/code><br><code>- UPS: 96% on-time <\/code><br><code>- FedEx: 94% on-time <\/code><br><code>- USPS: 89% on-time <\/code><br><br><code>IF expedited shipping: <\/code><br><code>\u2192 Select carrier with best performance <\/code><br><br><code>IF standard shipping: <\/code><br><code>\u2192 Select carrier with best cost\/performance ratio<\/code><br><\/li>\n\n\n\n<li><strong>Apply routing actions:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Action 1:<\/strong> Assign fulfillment location\n<ul class=\"wp-block-list\">\n<li>Location: <code>{{ optimal_location }}<\/code><\/li>\n\n\n\n<li>Update order: Fulfillment location<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 2:<\/strong> Add order tags\n<ul class=\"wp-block-list\">\n<li>Tags: <code>Routed-{{ location_name }}<\/code>, <code>Carrier-{{ carrier_name }}<\/code>, <code>Zone-{{ shipping_zone }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 3:<\/strong> Add order note\n<ul class=\"wp-block-list\">\n<li>Note: <code>INTELLIGENT ROUTING\\nLocation: {{ location_name }}<\/code><br><code>Reason: {{ routing_reason }}<\/code><br><code>Carrier: {{ carrier_name }} ({{ on_time_percentage }}% on-time)<\/code><br><code>Shipping cost: ${{ shipping_cost }}<\/code><br><code>Expected delivery: {{ estimated_delivery_date }}<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 4:<\/strong> Send warehouse notification\n<ul class=\"wp-block-list\">\n<li>Recipient: <code>{{ location_email }}<\/code><\/li>\n\n\n\n<li>Subject: <code>New Order Routed to {{ location_name }} - {{ order.name }}<\/code><\/li>\n\n\n\n<li>Body: <code>Order details, items, packing instructions, recommended carrier<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Action 5:<\/strong> Update fulfillment system\n<ul class=\"wp-block-list\">\n<li>API call to 3PL\/WMS<\/li>\n\n\n\n<li>Send order data with location assignment<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Handle split shipments<\/strong> (if needed): <br><code>IF no single location has full inventory: <\/code><br><code>- Split order by item <\/code><br><code>- Route each item to nearest location with stock <\/code><br><code>- Tag order: \"Split-Shipment\" <\/code><br><code>- Email customer: Explain multiple packages <\/code><br><code>- Coordinate timing for simultaneous delivery where possible<\/code><br><\/li>\n\n\n\n<li><strong>Track routing performance:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Log decision to Google Sheets<\/li>\n\n\n\n<li>Columns: Order, Location, Carrier, Shipping Cost, Zone, Delivery Time<\/li>\n\n\n\n<li>Monthly analysis: Optimize routing logic based on performance data<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Setup requirements:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MESA subscription<\/li>\n\n\n\n<li>Multiple fulfillment locations configured in Shopify<\/li>\n\n\n\n<li>Historical carrier performance data (ShipStation, Shippo, or carrier APIs)<\/li>\n\n\n\n<li>Google Sheets or database for routing performance tracking<\/li>\n\n\n\n<li>Integration with 3PL\/WMS systems (ShipBob, ShipStation, ShipMonk, etc.)<\/li>\n<\/ul>\n\n\n\n<p><strong>Customization tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product-specific rules:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Fragile items \u2192 Route to location with best packaging reputation<\/li>\n\n\n\n<li>Perishables \u2192 Route to closest location (speed critical)<\/li>\n\n\n\n<li>Oversized items \u2192 Route to warehouse with freight carriers<\/li>\n\n\n\n<li>Custom\/personalized items \u2192 Route to location with customization capability<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Customer tier considerations:<\/strong>\n<ul class=\"wp-block-list\">\n<li>VIP customers \u2192 Always use fastest location + premium carrier<\/li>\n\n\n\n<li>First-time customers \u2192 Optimize for speed (better first impression)<\/li>\n\n\n\n<li>Repeat customers \u2192 Balance between speed and cost<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Time-based routing:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Orders before 2pm \u2192 Can ship same day from any location<\/li>\n\n\n\n<li>Orders after 2pm \u2192 Route to warehouse still open (timezone consideration)<\/li>\n\n\n\n<li>Weekend orders \u2192 Route to location with weekend fulfillment<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Seasonal adjustments:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Q4 peak \u2192 Route to location with most available capacity<\/li>\n\n\n\n<li>Post-holiday returns period \u2192 Route away from warehouses processing returns<\/li>\n\n\n\n<li>Prime Day\/BFCM \u2192 Pre-position inventory, route to pre-stocked locations<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Predictive inventory routing:<\/strong> <br><code>Check sales velocity at each location: <\/code><br><code>- LA: Fast-moving inventory running low <\/code><br><code>- Chicago: High stock levels <\/code><br><br><code>Route orders to Chicago to preserve LA inventory <\/code><br><code>Gives time to restock LA before it sells out<\/code><br><\/li>\n\n\n\n<li><strong>Weather-based routing:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Check weather at each location and along routes<\/li>\n\n\n\n<li>Avoid routing through severe weather zones<\/li>\n\n\n\n<li>Shift to southern routes during winter storms<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Carrier strike\/delay handling:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Monitor carrier service alerts<\/li>\n\n\n\n<li>Automatically switch to backup carrier if primary is delayed<\/li>\n\n\n\n<li>Reroute to location with alternate carrier options<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Return rate optimization:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Track return rates by location<\/li>\n\n\n\n<li>Route to locations with lowest return rates for quality-sensitive products<\/li>\n\n\n\n<li>May indicate better QC or packing at certain warehouses<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Example routing scenarios:<\/strong><\/p>\n\n\n\n<p><strong>Scenario 1: Standard order, multiple options<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Order: $75, 2 items, standard shipping<\/li>\n\n\n\n<li>Customer: Denver, CO<\/li>\n\n\n\n<li>Inventory: All locations have stock<\/li>\n\n\n\n<li>Routing decision:\n<ul class=\"wp-block-list\">\n<li>LA to Denver: Zone 4, $6.75<\/li>\n\n\n\n<li>Chicago to Denver: Zone 3, $5.50<\/li>\n\n\n\n<li>NJ to Denver: Zone 5, $7.25<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Result:<\/strong> Route to Chicago (lowest cost, good transit time)<\/li>\n<\/ul>\n\n\n\n<p><strong>Scenario 2: Rush order<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Order: $200, 1 item, overnight shipping<\/li>\n\n\n\n<li>Customer: Boston, MA<\/li>\n\n\n\n<li>Inventory: LA and NJ have stock<\/li>\n\n\n\n<li>Routing decision:\n<ul class=\"wp-block-list\">\n<li>LA to Boston: 3-day transit minimum (even overnight)<\/li>\n\n\n\n<li>NJ to Boston: Next-day delivery possible<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Result:<\/strong> Route to NJ (only location that can meet promise)<\/li>\n<\/ul>\n\n\n\n<p><strong>Scenario 3: Split shipment required<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Order: 3 items, standard shipping<\/li>\n\n\n\n<li>Customer: Atlanta, GA<\/li>\n\n\n\n<li>Inventory:\n<ul class=\"wp-block-list\">\n<li>Item A: Only in LA<\/li>\n\n\n\n<li>Item B: Only in Chicago<\/li>\n\n\n\n<li>Item C: In Chicago and NJ<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Routing decision:\n<ul class=\"wp-block-list\">\n<li>Item A \u2192 LA to Atlanta<\/li>\n\n\n\n<li>Item B &amp; C \u2192 Chicago to Atlanta (consolidate 2 items)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Result:<\/strong> 2 shipments instead of 3 (minimize splits)<\/li>\n\n\n\n<li><strong>Action:<\/strong> Email customer explaining split for faster delivery<\/li>\n<\/ul>\n\n\n\n<p><strong>Testing strategy:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Start with test location subset:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Test routing between 2 locations first<\/li>\n\n\n\n<li>Verify inventory checks work correctly<\/li>\n\n\n\n<li>Confirm assignments update in Shopify<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Test each priority tier:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Create test orders that hit each routing rule<\/li>\n\n\n\n<li>Verify Priority 1 (inventory) works<\/li>\n\n\n\n<li>Test Priority 2 (speed) overrides cost when needed<\/li>\n\n\n\n<li>Confirm Priority 3 (cost) works for standard orders<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Edge case testing:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Out of stock everywhere \u2192 What happens?<\/li>\n\n\n\n<li>Split shipments \u2192 Are costs still optimized?<\/li>\n\n\n\n<li>Same-day cutoff \u2192 Does it route correctly by time?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Monitor first 50 routed orders:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Track actual delivery times vs estimates<\/li>\n\n\n\n<li>Verify shipping costs align with projections<\/li>\n\n\n\n<li>Check warehouse feedback on routing decisions<\/li>\n\n\n\n<li>Adjust logic based on real-world results<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>A\/B test routing logic:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Route 50% of orders using intelligent routing<\/li>\n\n\n\n<li>Route 50% using existing logic (control group)<\/li>\n\n\n\n<li>Compare: Costs, delivery times, customer satisfaction<\/li>\n\n\n\n<li>Full rollout after proving ROI<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Expected results:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Month 1:<\/strong> 10-15% shipping cost reduction (conservative as logic is optimized)<\/li>\n\n\n\n<li><strong>Month 2:<\/strong> 20-25% reduction as routing data improves<\/li>\n\n\n\n<li><strong>Month 3+:<\/strong> 25-30% steady-state savings<\/li>\n\n\n\n<li><strong>Delivery speed:<\/strong> Average 1 day faster delivery<\/li>\n\n\n\n<li><strong>Customer complaints:<\/strong> 40% reduction in &#8220;where&#8217;s my order?&#8221; tickets<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-cyan-bluish-gray-color has-alpha-channel-opacity has-cyan-bluish-gray-background-color has-background is-style-dots\"\/>\n\n\n\n<p><strong>You&#8217;ve completed the advanced examples!<\/strong> These five workflows represent the cutting edge of ecommerce automation\u2014multi-order logic, scheduled customer analysis, dynamic inventory management, and time-based promotion control. These examples require MESA&#8217;s advanced capabilities but deliver exponential returns in time savings and operational efficiency.<\/p>\n\n\n\n<p><strong>Important reminder:<\/strong> Don&#8217;t attempt advanced workflows until you&#8217;ve successfully implemented several beginner and intermediate examples. Build your automation confidence incrementally.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-implementation-best-practices\"><span class=\"ez-toc-section\" id=\"Implementation-best-practices\"><\/span>Implementation best practices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Building workflows is exciting, but the merchants who see lasting success follow a methodical approach. Here&#8217;s how to implement these examples without overwhelming yourself or your team.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Start-small-scale-strategically\"><\/span>Start small, scale strategically<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The biggest mistake is trying to automate everything in the first week. Instead, build momentum with this proven progression:<\/p>\n\n\n\n<p><strong>Week 1: Your foundation workflow<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose ONE beginner example addressing your biggest time drain<\/li>\n\n\n\n<li>If you spend hours checking inventory \u2192 Start with low stock alerts<\/li>\n\n\n\n<li>If VIP orders get lost in the queue \u2192 Start with high-value order tagging<\/li>\n\n\n\n<li>Follow the setup instructions exactly as written<\/li>\n\n\n\n<li>Monitor every single workflow run for the first week<\/li>\n<\/ul>\n\n\n\n<p><strong>Week 2-3: Build confidence<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add 2 more beginner examples<\/li>\n\n\n\n<li>Focus on different categories (one order workflow, one customer workflow)<\/li>\n\n\n\n<li>Adjust conditions to match your business (dollar amounts, tag names, recipients)<\/li>\n\n\n\n<li>Document what you&#8217;ve learned in a shared doc or spreadsheet<\/li>\n<\/ul>\n\n\n\n<p><strong>Month 2: Layer in complexity<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Implement 2-3 intermediate examples<\/li>\n\n\n\n<li>Add workflows requiring app connections (review platforms, support tools)<\/li>\n\n\n\n<li>Introduce more sophisticated condition logic (multiple AND\/OR statements)<\/li>\n\n\n\n<li>Start seeing compound time savings as workflows work together<\/li>\n<\/ul>\n\n\n\n<p><strong>Month 3+: Advanced automation<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore advanced examples requiring MESA or complex logic<\/li>\n\n\n\n<li>Build multi-step workflows connecting several systems<\/li>\n\n\n\n<li>Optimize based on 60+ days of performance data<\/li>\n\n\n\n<li>Consider contacting <a href=\"https:\/\/www.getmesa.com\/partners\/services\" target=\"_blank\" rel=\"noreferrer noopener\">MESA service partners<\/a> for custom builds<\/li>\n<\/ul>\n\n\n\n<p>By month 3, you&#8217;ll have 8-12 workflows running smoothly, saving 15+ hours weekly without ever feeling overwhelmed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Testing-workflow-examples-before-going-live\"><\/span>Testing workflow examples before going live<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Flow has no sandbox environment\u2014every workflow runs on live data. This makes testing critical.<\/p>\n\n\n\n<p><strong>Pre-activation testing:<\/strong><\/p>\n\n\n\n<p><strong>1. Use Flow&#8217;s Preview function<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Select a historical order\/customer\/product that should trigger the workflow<\/li>\n\n\n\n<li>Verify conditions evaluate correctly (shows green checkmarks for &#8220;true&#8221;)<\/li>\n\n\n\n<li>Check that the workflow would take the expected path<\/li>\n\n\n\n<li>Limitation: Preview shows logic flow but not actual action outputs<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Verify all connections<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check email notification recipients are correct (not placeholder addresses)<\/li>\n\n\n\n<li>Confirm app integrations are connected (Klaviyo, Gorgias, Yotpo, etc.)<\/li>\n\n\n\n<li>Ensure tags are spelled consistently with existing workflows<\/li>\n\n\n\n<li>Test notification formats (send test email to yourself first)<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Start workflows paused<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build the complete workflow but leave it paused<\/li>\n\n\n\n<li>Review all conditions one final time<\/li>\n\n\n\n<li>Check for typos in tag names or email addresses<\/li>\n\n\n\n<li>Only activate after you&#8217;ve triple-checked everything<\/li>\n<\/ul>\n\n\n\n<p><strong>Post-activation monitoring:<\/strong><\/p>\n\n\n\n<p><strong>First 10 runs are critical:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check workflow run history after every trigger for the first day<\/li>\n\n\n\n<li>Verify tags are applied correctly<\/li>\n\n\n\n<li>Confirm notifications reach the right people with correct content<\/li>\n\n\n\n<li>Look for unexpected triggers or false positives<\/li>\n\n\n\n<li>Adjust conditions immediately if something&#8217;s wrong<\/li>\n<\/ul>\n\n\n\n<p><strong>Testing checklist<\/strong> (complete before activating):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83d\udd32 All required apps are connected and authenticated<\/li>\n\n\n\n<li>\ud83d\udd32 Email notifications use real addresses, not examples<\/li>\n\n\n\n<li>\ud83d\udd32 Tag names match your existing tagging convention<\/li>\n\n\n\n<li>\ud83d\udd32 Conditions use correct operators (&gt;, &lt;, =, \u2260, contains)<\/li>\n\n\n\n<li>\ud83d\udd32 No conflicting workflows targeting the same events<\/li>\n\n\n\n<li>\ud83d\udd32 Error notifications are enabled (you&#8217;ll know if it breaks)<\/li>\n\n\n\n<li>\ud83d\udd32 You&#8217;ve tested with Flow&#8217;s Preview on 3-5 historical records<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Avoiding-common-mistakes\"><\/span>Avoiding common mistakes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Mistake #1: Automation overload<\/strong><\/p>\n\n\n\n<p><em>Problem:<\/em> Implementing 15 workflows in one week creates chaos and makes troubleshooting impossible.<\/p>\n\n\n\n<p><em>Solution:<\/em> Add maximum 2 workflows per week. Give each workflow 5-7 days to prove itself before adding another.<\/p>\n\n\n\n<p><strong>Mistake #2: Skipping the testing phase<\/strong><\/p>\n\n\n\n<p><em>Problem:<\/em> Workflow accidentally sends 500 customer emails with wrong discount code or tags every order incorrectly.<\/p>\n\n\n\n<p><em>Solution:<\/em> Always use Preview function. Always monitor first 10-20 runs. Always start with harmless actions (add internal tags) before customer-facing actions (send emails).<\/p>\n\n\n\n<p><strong>Mistake #3: Set-it-and-forget-it syndrome<\/strong><\/p>\n\n\n\n<p><em>Problem:<\/em> Seasonal Black Friday workflow still running in March, or workflow silently failing for 2 weeks unnoticed.<\/p>\n\n\n\n<p><em>Solution:<\/em> Monthly workflow audit (15 minutes). Review which workflows haven&#8217;t triggered in 30 days. Check error rates. Disable seasonal workflows when out of season. Update notification recipients as team members change.<\/p>\n\n\n\n<p><strong>Mistake #4: Notification fatigue<\/strong><\/p>\n\n\n\n<p><em>Problem:<\/em> Sales team receives 50+ Slack messages daily from various workflows and starts ignoring all automation alerts.<\/p>\n\n\n\n<p><em>Solution:<\/em> Consolidate similar notifications into daily digests. Use priority-based routing (only alert manager for orders &gt;$1,000). Audit notification volume monthly\u2014if your team ignores alerts, you&#8217;ve over-automated.<\/p>\n\n\n\n<p><strong>Mistake #5: Building when templates exist<\/strong><\/p>\n\n\n\n<p><em>Problem:<\/em> Spending 2 hours building custom logic that MESA template solves in 5 minutes.<\/p>\n\n\n\n<p><em>Solution:<\/em> Before building complex workflows, check <a href=\"https:\/\/www.getmesa.com\/templates\" target=\"_blank\" rel=\"noreferrer noopener\">MESA&#8217;s template library<\/a>. Many advanced examples already exist as one-click templates. Save custom building for truly unique business logic.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"When-to-upgrade-from-Flow-to-MESA\"><\/span>When to upgrade from Flow to MESA<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Flow handles 70-80% of common automation needs. Consider MESA when you need:<\/p>\n\n\n\n<p><strong>External integrations:<\/strong> CRM (<a href=\"https:\/\/www.getmesa.com\/apps\/salesforce\/integrate\" target=\"_blank\" rel=\"noreferrer noopener\">Salesforce<\/a>, <a href=\"https:\/\/www.getmesa.com\/apps\/hubspot\/integrate\" target=\"_blank\" rel=\"noreferrer noopener\">HubSpot<\/a>), productivity tools (<a href=\"https:\/\/www.getmesa.com\/apps\/google-sheets\/integrate\" target=\"_blank\" rel=\"noreferrer noopener\">Google Sheets<\/a>, <a href=\"https:\/\/www.getmesa.com\/apps\/airtable\/integrate\" target=\"_blank\" rel=\"noreferrer noopener\">Airtable<\/a>, <a href=\"https:\/\/www.getmesa.com\/apps\/slack\/integrate\" target=\"_blank\" rel=\"noreferrer noopener\">Slack<\/a>), email platforms without Flow connectors<\/p>\n\n\n\n<p><strong>Scheduled workflows:<\/strong> Daily inventory audits, weekly customer segmentation updates, monthly report generation<\/p>\n\n\n\n<p><strong>Historical data queries:<\/strong> &#8220;Find all customers with no purchase in 90+ days,&#8221; &#8220;Identify products with zero sales this month&#8221;<\/p>\n\n\n\n<p><strong>Advanced logic:<\/strong> Complex calculations, conditional aggregation (sum only items over $50), multi-step data transformations<\/p>\n\n\n\n<p><strong>Decision framework:<\/strong> If you&#8217;re spending 2+ hours trying to make Flow do something, check if MESA handles it natively. If a MESA template exists, the monthly subscription pays for itself in saved time.<\/p>\n\n\n\n<p>The next section covers additional resources to support your automation journey.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-additional-resources\"><span class=\"ez-toc-section\" id=\"Additional-resources\"><\/span>Additional resources<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Building automation is a journey, not a destination. These resources will help you continue learning and get support when you need it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Related-guides\"><\/span>Related guides<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Deepen your Flow knowledge:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-guide\/\" type=\"post\" id=\"17978\">Shopify Flow: Complete Guide<\/a><\/strong> &#8211; Complete beginner&#8217;s guide covering Flow basics, the visual builder interface, and how to create your first workflow from scratch. Start here if you&#8217;re brand new to automation.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/blog\/using-liquid-in-shopify-flow\/\">Using Liquid in Shopify Flow<\/a><\/strong> &#8211; Advanced code examples showing how to access nested data, perform calculations, build conditional logic, and create dynamic content. Includes 26+ copy-paste Liquid snippets for common scenarios.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/blog\/shopify-flow-templates\/\">Shopify Flow Templates<\/a><\/strong> &#8211; Comprehensive guide to Shopify&#8217;s official template library with direct install links. Use templates when you want one-click setup; use examples (this guide) when you need customization.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/blog\/shopify-flow-alternatives\/\">Shopify Flow Alternatives<\/a><\/strong> &#8211; Comparison of Flow vs MESA vs Zapier vs Make.com. Understand when Flow&#8217;s limitations mean it&#8217;s time to consider other automation platforms.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/blog\/how-to-extend-shopify-flow\/\">How to Extend Shopify Flow<\/a><\/strong> &#8211; Strategies for pushing Flow beyond its native capabilities using webhooks, app connectors, and MESA integrations.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"MESA-template-library\"><\/span>MESA template library<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Don&#8217;t want to build workflows from scratch? Browse 500+ pre-built MESA templates that handle complex automation with one-click installation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/www.getmesa.com\/templates\/search?tag=Orders\">Order automation templates<\/a><\/strong> &#8211; Advanced order routing, multi-order consolidation, custom fulfillment logic, and more<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/templates\/search?tag=Inventory\">Inventory management templates<\/a><\/strong> &#8211; Dynamic reorder points, supplier automation, multi-location sync, stockout prevention<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/templates\/search?tag=Customers\">Customer engagement templates<\/a><\/strong> &#8211; Win-back campaigns, loyalty programs, lifecycle marketing, VIP segmentation<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/templates\">Browse all 500+ templates<\/a><\/strong> &#8211; Filter by app, use case, or integration to find exactly what you need<\/li>\n<\/ul>\n\n\n\n<p>Each template includes setup instructions, required apps, and customization guidance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Get-expert-help\"><\/span>Get expert help<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Automation shouldn&#8217;t feel overwhelming. MESA&#8217;s team is here to help:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/www.getmesa.com\/support\">Expert workflow development<\/a><\/strong> &#8211; Need complex automation built by professionals? Our team handles custom builds, integrations, and advanced logic.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/www.getmesa.com\/pricing\">Start your 7-day free trial<\/a><\/strong> &#8211; Test MESA risk-free. All features unlocked, no credit card required. See if MESA&#8217;s advanced capabilities are worth the investment for your store.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/docs.getmesa.com\/\">MESA documentation<\/a><\/strong> &#8211; Technical guides, API references, and troubleshooting resources for advanced users.<\/li>\n<\/ul>\n\n\n\n<p>Got questions about a specific example? Reach out via chat or email\u2014we help with both Flow and MESA workflows.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-frequently-asked-questions\"><span class=\"ez-toc-section\" id=\"Frequently-asked-questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1768009940669\"><strong class=\"schema-faq-question\">What&#8217;s the difference between Shopify Flow examples and templates?<\/strong> <p class=\"schema-faq-answer\">Examples are workflow ideas you build yourself following step-by-step instructions. Templates are pre-built workflows from Shopify you install with one click. Examples give you more customization control; templates are faster to deploy. Most merchants use both: install templates for common tasks, build examples for unique business needs.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768009963281\"><strong class=\"schema-faq-question\">Do I need coding skills to build these Flow examples?<\/strong> <p class=\"schema-faq-answer\">No coding required for beginner and most intermediate examples. Advanced examples may use Liquid code (Shopify&#8217;s templating language), but we provide copy-paste snippets you can use as-is. If you can follow step-by-step instructions, you can build these workflows. For complex custom logic, consider using MESA templates instead of coding yourself.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768009977411\"><strong class=\"schema-faq-question\">How long does it take to build an example workflow?<\/strong> <p class=\"schema-faq-answer\">Beginner examples: 5-15 minutes | Intermediate examples: 20-30 minutes | Advanced examples: 45-60 minutes. This includes setup, testing, and customization. Your second workflow takes half the time as your first because you understand Flow&#8217;s interface. Most merchants build 1-2 examples per week rather than rushing through everything at once.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768009990071\"><strong class=\"schema-faq-question\">Can I use these examples on Shopify Basic plan?<\/strong> <p class=\"schema-faq-answer\">Yes, Shopify Flow is available on all Shopify plans (Basic, Shopify, Advanced, Plus). All examples work on every plan except those specifically noted as &#8220;Shopify Plus only.&#8221; B2B-specific examples require Plus because they use company accounts. Advanced examples requiring MESA work on any Shopify plan with a MESA subscription.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768010002417\"><strong class=\"schema-faq-question\">What if an example doesn&#8217;t work for my store?<\/strong> <p class=\"schema-faq-answer\">Common reasons: missing app integrations, incorrect condition operators, typos in tag names, or the example needs customization for your business model. Check our troubleshooting steps in each example. If stuck, reach out to MESA support &#8211; we help with both Flow and MESA workflows.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768010019683\"><strong class=\"schema-faq-question\">How do I know if I need Flow or MESA for an example?<\/strong> <p class=\"schema-faq-answer\">Use Flow when: workflow stays in Shopify, simple logic, no external apps, budget is tight. Use MESA when: need CRM\/Google Sheets\/Slack connections, scheduled workflows, complex calculations, or testing environment. Many merchants use both &#8211; Flow for simple automation, MESA for advanced needs.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768010030979\"><strong class=\"schema-faq-question\">Can I modify these examples for my business?<\/strong> <p class=\"schema-faq-answer\">Absolutely! These examples are starting points meant for customization. Adjust dollar thresholds, change tag names, modify notification recipients, add additional conditions, or combine multiple examples. The &#8220;Customization tips&#8221; section in each example shows common modifications. Document your changes so you remember what you customized.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1768010043039\"><strong class=\"schema-faq-question\">Will these examples work with my existing workflows?<\/strong> <p class=\"schema-faq-answer\">Most examples work alongside existing workflows without conflicts. Potential issues: multiple workflows trying to set different tags on the same trigger, or duplicate notifications. Review existing workflows before adding new ones. Use clear naming conventions to track which workflows serve which purposes.<\/p> <\/div> <\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>You now have 15 proven workflow examples with step-by-step instructions for automating every major aspect of your store\u2014order management, inventory control, fraud prevention, customer engagement, fulfillment operations, and marketing campaigns. Each example includes the exact triggers, conditions, and actions you need to build it yourself today.<\/p>\n\n\n\n<p>But here&#8217;s what matters more than having all these examples: <strong>actually implementing them.<\/strong><\/p>\n\n\n\n<p>The difference between stores that successfully automate and those that don&#8217;t isn&#8217;t knowledge\u2014it&#8217;s execution. Don&#8217;t bookmark this guide planning to &#8220;come back to it later.&#8221; Don&#8217;t try to implement everything at once. And definitely don&#8217;t let perfect be the enemy of good enough.<\/p>\n\n\n\n<p>The merchants seeing 15+ hours saved weekly all followed the same pattern:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Week 1:<\/strong> Choose ONE beginner example (low stock alerts or VIP tagging)<\/li>\n\n\n\n<li><strong>Week 2-3:<\/strong> Add 2 more simple workflows, monitor results closely<\/li>\n\n\n\n<li><strong>Month 2:<\/strong> Layer in intermediate examples (fraud prevention, review automation)<\/li>\n\n\n\n<li><strong>Month 3+:<\/strong> Explore advanced workflows (consolidation, win-back campaigns, scheduled tasks)<\/li>\n<\/ol>\n\n\n\n<p>This incremental approach builds your automation confidence while delivering measurable results at each stage. You&#8217;re not just saving time\u2014you&#8217;re learning how automation actually works in your specific business context.<\/p>\n\n\n\n<p><strong>Your next steps right now:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Scroll back to the category matching your biggest operational pain point<\/li>\n\n\n\n<li>Choose ONE beginner example that would save you the most time<\/li>\n\n\n\n<li>Open Shopify Flow in your admin<\/li>\n\n\n\n<li>Follow the step-by-step setup instructions exactly as written<\/li>\n\n\n\n<li>Test with Flow&#8217;s Preview function using 3-5 historical records<\/li>\n\n\n\n<li>Monitor the first 20 workflow runs over the next week<\/li>\n\n\n\n<li>Add another example next week and repeat<\/li>\n<\/ol>\n\n\n\n<p>Need workflows that Flow can&#8217;t handle\u2014external integrations, scheduled automation, complex data transformations, or a testing environment? Browse <a href=\"https:\/\/www.getmesa.com\/templates\">MESA&#8217;s template library<\/a> for pre-built workflows that extend beyond Flow&#8217;s native capabilities.<\/p>\n\n\n\n<p><strong>Stop reading. Start automating.<\/strong> Pick your first example and build it in the next 15 minutes. Every workflow you activate is time you&#8217;re giving back to yourself. Your future self will thank you.<\/p>\n\n\n\n<div class=\"card-next-steps\">\n\t<div class=\"card__content\">\n\t\t<h4>What to do next&#8230;<\/h4>\n<p>The fastest way to see automation working in your store is to start with a single workflow.<\/p>\n<ol>\n<li><a href=\"https:\/\/www.getmesa.com\/pricing\"><strong>Try MESA free<\/strong><\/a> \u2014 start a 7-day free trial and get your first workflow running.<\/li>\n<li><a href=\"https:\/\/www.getmesa.com\/templates\"><strong>Browse the template library<\/strong><\/a> \u2014 pre-built workflows for the most common Shopify automation tasks.<\/li>\n<li><a href=\"https:\/\/www.getmesa.com\/yedric\"><strong>Talk to Yedric<\/strong><\/a> \u2014 describe what you want to automate, and let our AI assistant build it for you.<\/li>\n<li><a href=\"https:\/\/www.getmesa.com\/support\"><strong>Get free workflow setup<\/strong><\/a> \u2014 MESA&#8217;s team will build your first workflow at no cost.<\/li>\n<\/ol>\n\t<\/div><!-- \/.card__content -->\n\n\t\n<div class=\"socials card__socials\">\n\t<ul>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/twitter.com\/getmesa\" target=\"_blank\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/twitter-icon.svg\" class=\"attachment-small size-small\" alt=\"icon: twitter\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.youtube.com\/@getmesa\" target=\"_blank\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/youtube-icon.svg\" class=\"attachment-small size-small\" alt=\"icon: youtube\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.linkedin.com\/company\/9754608\/\" target=\"_blank\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/linkedin-icon.svg\" class=\"attachment-small size-small\" alt=\"linkedin icon\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t<\/ul>\n<\/div><!-- \/.socials -->\n<\/div><!-- \/.card-next-steps -->\n","protected":false},"excerpt":{"rendered":"<p>You know automation could save you hours every week. You&#8217;ve opened Shopify Flow, stared at that blank canvas, and thought:&#8230;<\/p>\n","protected":false},"author":1,"featured_media":17841,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[444],"tags":[190],"class_list":["post-17840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shopify-guides","tag-shopify-flow"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Shopify Flow Examples: 20+ Automation Workflows You Can Copy Today<\/title>\n<meta name=\"description\" content=\"Ready-to-use Shopify Flow examples for order management, inventory, customer tagging, and more. Plus: where MESA picks up when Flow hits its limits.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)\" \/>\n<meta property=\"og:description\" content=\"You know automation could save you hours every week. You&#039;ve opened Shopify Flow, stared at that blank canvas, and thought: &quot;Where do I even start? What&#039;s\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/\" \/>\n<meta property=\"og:site_name\" content=\"MESA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/mesabyshoppad\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-13T05:31:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-31T15:00:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1584\" \/>\n\t<meta property=\"og:image:height\" content=\"819\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ryan ODonnell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@getmesa\" \/>\n<meta name=\"twitter:site\" content=\"@getmesa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ryan ODonnell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"88 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/\"},\"author\":{\"name\":\"Ryan ODonnell\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/person\\\/5ed8ee9c6f19090c4d5acb4f45efacb4\"},\"headline\":\"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)\",\"datePublished\":\"2026-01-13T05:31:04+00:00\",\"dateModified\":\"2026-03-31T15:00:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/\"},\"wordCount\":9018,\"publisher\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/shopify-flow-examples-1.png\",\"keywords\":[\"shopify flow\"],\"articleSection\":[\"Shopify Guides\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/\",\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/\",\"name\":\"Shopify Flow Examples: 20+ Automation Workflows You Can Copy Today\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/shopify-flow-examples-1.png\",\"datePublished\":\"2026-01-13T05:31:04+00:00\",\"dateModified\":\"2026-03-31T15:00:47+00:00\",\"description\":\"Ready-to-use Shopify Flow examples for order management, inventory, customer tagging, and more. Plus: where MESA picks up when Flow hits its limits.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009940669\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009963281\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009977411\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009990071\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010002417\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010019683\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010030979\"},{\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010043039\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/shopify-flow-examples-1.png\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com/blog\\\/wp-content\\\/uploads\\\/shopify-flow-examples-1.png\",\"width\":1584,\"height\":819,\"caption\":\"shopify flow examples\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/\",\"name\":\"MESA\",\"description\":\"Discover how to automate your Shopify growth\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#organization\",\"name\":\"MESA - AI automation Platform\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/mesa-shoppad.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/wp-content\\\/uploads\\\/mesa-shoppad.jpeg\",\"width\":225,\"height\":225,\"caption\":\"MESA - AI automation Platform\"},\"image\":{\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/web.facebook.com\\\/mesabyshoppad\\\/\",\"https:\\\/\\\/x.com\\\/getmesa\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/shoppad\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCqsf_WhcGEsZMvms1idivyw\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.getmesa.com\\\/blog\\\/#\\\/schema\\\/person\\\/5ed8ee9c6f19090c4d5acb4f45efacb4\",\"name\":\"Ryan ODonnell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g\",\"caption\":\"Ryan ODonnell\"},\"sameAs\":[\"https:\\\/\\\/www.getmesa.com\"],\"jobTitle\":\"Director of Marketing\",\"worksFor\":\"MESA\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009940669\",\"position\":1,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009940669\",\"name\":\"What's the difference between Shopify Flow examples and templates?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Examples are workflow ideas you build yourself following step-by-step instructions. Templates are pre-built workflows from Shopify you install with one click. Examples give you more customization control; templates are faster to deploy. Most merchants use both: install templates for common tasks, build examples for unique business needs.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009963281\",\"position\":2,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009963281\",\"name\":\"Do I need coding skills to build these Flow examples?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No coding required for beginner and most intermediate examples. Advanced examples may use Liquid code (Shopify's templating language), but we provide copy-paste snippets you can use as-is. If you can follow step-by-step instructions, you can build these workflows. For complex custom logic, consider using MESA templates instead of coding yourself.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009977411\",\"position\":3,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009977411\",\"name\":\"How long does it take to build an example workflow?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Beginner examples: 5-15 minutes | Intermediate examples: 20-30 minutes | Advanced examples: 45-60 minutes. This includes setup, testing, and customization. Your second workflow takes half the time as your first because you understand Flow's interface. Most merchants build 1-2 examples per week rather than rushing through everything at once.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009990071\",\"position\":4,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768009990071\",\"name\":\"Can I use these examples on Shopify Basic plan?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, Shopify Flow is available on all Shopify plans (Basic, Shopify, Advanced, Plus). All examples work on every plan except those specifically noted as \\\"Shopify Plus only.\\\" B2B-specific examples require Plus because they use company accounts. Advanced examples requiring MESA work on any Shopify plan with a MESA subscription.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010002417\",\"position\":5,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010002417\",\"name\":\"What if an example doesn't work for my store?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Common reasons: missing app integrations, incorrect condition operators, typos in tag names, or the example needs customization for your business model. Check our troubleshooting steps in each example. If stuck, reach out to MESA support - we help with both Flow and MESA workflows.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010019683\",\"position\":6,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010019683\",\"name\":\"How do I know if I need Flow or MESA for an example?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use Flow when: workflow stays in Shopify, simple logic, no external apps, budget is tight. Use MESA when: need CRM\\\/Google Sheets\\\/Slack connections, scheduled workflows, complex calculations, or testing environment. Many merchants use both - Flow for simple automation, MESA for advanced needs.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010030979\",\"position\":7,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010030979\",\"name\":\"Can I modify these examples for my business?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Absolutely! These examples are starting points meant for customization. Adjust dollar thresholds, change tag names, modify notification recipients, add additional conditions, or combine multiple examples. The \\\"Customization tips\\\" section in each example shows common modifications. Document your changes so you remember what you customized.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010043039\",\"position\":8,\"url\":\"https:\\\/\\\/www.getmesa.com/blog\\\/shopify-flow-examples\\\/#faq-question-1768010043039\",\"name\":\"Will these examples work with my existing workflows?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Most examples work alongside existing workflows without conflicts. Potential issues: multiple workflows trying to set different tags on the same trigger, or duplicate notifications. Review existing workflows before adding new ones. Use clear naming conventions to track which workflows serve which purposes.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Shopify Flow Examples: 20+ Automation Workflows You Can Copy Today","description":"Ready-to-use Shopify Flow examples for order management, inventory, customer tagging, and more. Plus: where MESA picks up when Flow hits its limits.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/","og_locale":"en_US","og_type":"article","og_title":"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)","og_description":"You know automation could save you hours every week. You've opened Shopify Flow, stared at that blank canvas, and thought: \"Where do I even start? What's","og_url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/","og_site_name":"MESA","article_publisher":"https:\/\/web.facebook.com\/mesabyshoppad\/","article_published_time":"2026-01-13T05:31:04+00:00","article_modified_time":"2026-03-31T15:00:47+00:00","og_image":[{"width":1584,"height":819,"url":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png","type":"image\/png"}],"author":"Ryan ODonnell","twitter_card":"summary_large_image","twitter_creator":"@getmesa","twitter_site":"@getmesa","twitter_misc":{"Written by":"Ryan ODonnell","Est. reading time":"88 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#article","isPartOf":{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/"},"author":{"name":"Ryan ODonnell","@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/person\/5ed8ee9c6f19090c4d5acb4f45efacb4"},"headline":"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)","datePublished":"2026-01-13T05:31:04+00:00","dateModified":"2026-03-31T15:00:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/"},"wordCount":9018,"publisher":{"@id":"https:\/\/www.getmesa.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#primaryimage"},"thumbnailUrl":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png","keywords":["shopify flow"],"articleSection":["Shopify Guides"],"inLanguage":"en-US"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/","url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/","name":"Shopify Flow Examples: 20+ Automation Workflows You Can Copy Today","isPartOf":{"@id":"https:\/\/www.getmesa.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#primaryimage"},"image":{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#primaryimage"},"thumbnailUrl":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png","datePublished":"2026-01-13T05:31:04+00:00","dateModified":"2026-03-31T15:00:47+00:00","description":"Ready-to-use Shopify Flow examples for order management, inventory, customer tagging, and more. Plus: where MESA picks up when Flow hits its limits.","breadcrumb":{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009940669"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009963281"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009977411"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009990071"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010002417"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010019683"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010030979"},{"@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010043039"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#primaryimage","url":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png","contentUrl":"https:\/\/www.getmesa.com/blog\/wp-content\/uploads\/shopify-flow-examples-1.png","width":1584,"height":819,"caption":"shopify flow examples"},{"@type":"BreadcrumbList","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.getmesa.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Shopify Flow Examples: 15 Workflows to Automate Your Store (2026)"}]},{"@type":"WebSite","@id":"https:\/\/www.getmesa.com\/blog\/#website","url":"https:\/\/www.getmesa.com\/blog\/","name":"MESA","description":"Discover how to automate your Shopify growth","publisher":{"@id":"https:\/\/www.getmesa.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.getmesa.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.getmesa.com\/blog\/#organization","name":"MESA - AI automation Platform","url":"https:\/\/www.getmesa.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/mesa-shoppad.jpeg","contentUrl":"https:\/\/www.getmesa.com\/blog\/wp-content\/uploads\/mesa-shoppad.jpeg","width":225,"height":225,"caption":"MESA - AI automation Platform"},"image":{"@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/mesabyshoppad\/","https:\/\/x.com\/getmesa","https:\/\/www.linkedin.com\/company\/shoppad\/","https:\/\/www.youtube.com\/channel\/UCqsf_WhcGEsZMvms1idivyw"]},{"@type":"Person","@id":"https:\/\/www.getmesa.com\/blog\/#\/schema\/person\/5ed8ee9c6f19090c4d5acb4f45efacb4","name":"Ryan ODonnell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/62bb965c979cc1de4c6f046fb47a28a57bc194da441ebe43b3dfbe2f2f893563?s=96&d=mm&r=g","caption":"Ryan ODonnell"},"sameAs":["https:\/\/www.getmesa.com"],"jobTitle":"Director of Marketing","worksFor":"MESA"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009940669","position":1,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009940669","name":"What's the difference between Shopify Flow examples and templates?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Examples are workflow ideas you build yourself following step-by-step instructions. Templates are pre-built workflows from Shopify you install with one click. Examples give you more customization control; templates are faster to deploy. Most merchants use both: install templates for common tasks, build examples for unique business needs.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009963281","position":2,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009963281","name":"Do I need coding skills to build these Flow examples?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"No coding required for beginner and most intermediate examples. Advanced examples may use Liquid code (Shopify's templating language), but we provide copy-paste snippets you can use as-is. If you can follow step-by-step instructions, you can build these workflows. For complex custom logic, consider using MESA templates instead of coding yourself.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009977411","position":3,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009977411","name":"How long does it take to build an example workflow?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Beginner examples: 5-15 minutes | Intermediate examples: 20-30 minutes | Advanced examples: 45-60 minutes. This includes setup, testing, and customization. Your second workflow takes half the time as your first because you understand Flow's interface. Most merchants build 1-2 examples per week rather than rushing through everything at once.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009990071","position":4,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768009990071","name":"Can I use these examples on Shopify Basic plan?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes, Shopify Flow is available on all Shopify plans (Basic, Shopify, Advanced, Plus). All examples work on every plan except those specifically noted as \"Shopify Plus only.\" B2B-specific examples require Plus because they use company accounts. Advanced examples requiring MESA work on any Shopify plan with a MESA subscription.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010002417","position":5,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010002417","name":"What if an example doesn't work for my store?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Common reasons: missing app integrations, incorrect condition operators, typos in tag names, or the example needs customization for your business model. Check our troubleshooting steps in each example. If stuck, reach out to MESA support - we help with both Flow and MESA workflows.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010019683","position":6,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010019683","name":"How do I know if I need Flow or MESA for an example?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Use Flow when: workflow stays in Shopify, simple logic, no external apps, budget is tight. Use MESA when: need CRM\/Google Sheets\/Slack connections, scheduled workflows, complex calculations, or testing environment. Many merchants use both - Flow for simple automation, MESA for advanced needs.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010030979","position":7,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010030979","name":"Can I modify these examples for my business?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Absolutely! These examples are starting points meant for customization. Adjust dollar thresholds, change tag names, modify notification recipients, add additional conditions, or combine multiple examples. The \"Customization tips\" section in each example shows common modifications. Document your changes so you remember what you customized.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010043039","position":8,"url":"https:\/\/www.getmesa.com/blog\/shopify-flow-examples\/#faq-question-1768010043039","name":"Will these examples work with my existing workflows?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Most examples work alongside existing workflows without conflicts. Potential issues: multiple workflows trying to set different tags on the same trigger, or duplicate notifications. Review existing workflows before adding new ones. Use clear naming conventions to track which workflows serve which purposes.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts\/17840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/comments?post=17840"}],"version-history":[{"count":25,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts\/17840\/revisions"}],"predecessor-version":[{"id":18221,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/posts\/17840\/revisions\/18221"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/media\/17841"}],"wp:attachment":[{"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/media?parent=17840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/categories?post=17840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.getmesa.com/blog\/wp-json\/wp\/v2\/tags?post=17840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}