# JsWorkflows Automation Guides Shopify automation guides, use cases, comparisons, and AI workflow tutorials for merchants using JsWorkflows. Canonical URL: https://blog.jsworkflows.com/ ## Categories - [AI workflows](https://blog.jsworkflows.com/categories/ai-workflows/): Ways to use AI assistants with JsWorkflows to draft, review, and manage Shopify workflow automations. - [App comparisons](https://blog.jsworkflows.com/categories/app-comparisons/): Guides that help merchants decide when a workflow platform is a better fit than narrow apps or no-code automation only. - [Integrations](https://blog.jsworkflows.com/categories/integrations/): Workflow ideas for connecting Shopify to external services, internal tools, and custom APIs. - [Operations](https://blog.jsworkflows.com/categories/operations/): Automation patterns for inventory, fulfillment, order management, customer records, and day-to-day store work. - [Use cases](https://blog.jsworkflows.com/categories/use-cases/): Practical Shopify automation use cases that replace manual store operations with repeatable workflows. ## Articles - [Automate Shopify metafield maintenance with workflows](https://blog.jsworkflows.com/articles/automate-shopify-metafield-maintenance/) - Metafields power storefront content, operations, and integrations. Workflows can validate, backfill, update, and report on metafields safely. - [Automate Shopify product cleanup and merchandising tasks](https://blog.jsworkflows.com/articles/automate-shopify-product-cleanup-and-merchandising/) - Product catalogs need regular cleanup: archive dead products, tag stock states, update metafields, and keep merchandising data consistent. - [Build Shopify backfill and cleanup jobs with scheduled workflows](https://blog.jsworkflows.com/articles/build-shopify-backfill-and-cleanup-jobs/) - Backfill and cleanup jobs repair old records, remove stale data, and keep store operations consistent. They need batching, logs, and safe retry behavior. - [Connect a custom Shopify app to JsWorkflows](https://blog.jsworkflows.com/articles/connect-custom-shopify-app-to-jsworkflows/) - Use a Shopify custom app connection when a workflow needs to call another store, test against a separate store, or use a dedicated Shopify app token. - [Connect Shopify to Slack, Google Sheets, and internal APIs](https://blog.jsworkflows.com/articles/connect-shopify-to-slack-google-sheets-and-apis/) - Store teams often need Shopify events to reach the tools they already use. Workflows can send alerts, write rows, and call internal APIs with controlled logic. - [Create Shopify workflows with ChatGPT, Claude, Codex, or Claude Code](https://blog.jsworkflows.com/articles/create-shopify-workflows-with-ai-assistants/) - AI assistants can draft JsWorkflows automations through MCP, especially when supported by Shopify API tooling for schema checks and resource lookups. - [How agencies can deliver custom Shopify automations without building a full app](https://blog.jsworkflows.com/articles/agencies-custom-shopify-automations-without-full-app/) - Agencies and partners often need to solve store-specific automation problems. JsWorkflows can package custom logic without a full app build. - [Import Shopify products from a CSV URL with a workflow](https://blog.jsworkflows.com/articles/import-shopify-products-from-csv-url-workflow/) - Product imports are rarely just file uploads. A workflow can validate rows, create products, update variants, set inventory, publish channels, and log failures. - [Make Shopify workflows merchant-configurable without exposing the code](https://blog.jsworkflows.com/articles/make-shopify-workflows-merchant-configurable/) - A good workflow separates merchant-facing settings from technical logic. JsWorkflows can expose safe configuration fields while keeping code maintainable. - [Shopify Flow vs JsWorkflows: when custom workflow code matters](https://blog.jsworkflows.com/articles/shopify-flow-vs-jsworkflows-custom-automation/) - Shopify Flow is useful for no-code automation, but some store operations need custom logic, API calls, data transforms, retries, and detailed run logs. - [Stop manually tagging Shopify orders and customers](https://blog.jsworkflows.com/articles/replace-manual-shopify-order-tagging/) - Manual order and customer tagging breaks down as order volume grows. A workflow can apply consistent tags, keep logic visible, and log every run. - [Sync inventory between two Shopify stores with a workflow](https://blog.jsworkflows.com/articles/sync-inventory-between-two-shopify-stores/) - Multi-store inventory sync needs more than a single trigger. A workflow can read one Shopify store, update another, handle retries, and log every change. - [Sync Shopify inventory from a CSV URL without spreadsheet busywork](https://blog.jsworkflows.com/articles/sync-shopify-inventory-from-csv-url/) - Supplier and warehouse inventory files often arrive as CSV exports. A workflow can import the file, match variants, update stock, and report what changed. - [Test Shopify automations before turning them on](https://blog.jsworkflows.com/articles/test-shopify-automations-before-turning-on/) - Automations should be reviewed before they affect live data. Use inactive workflows, test runs, logs, and summaries to build confidence. - [When one workflow app can replace several narrow Shopify apps](https://blog.jsworkflows.com/articles/replace-narrow-shopify-apps-with-workflows/) - Stores often install separate apps for alerts, tagging, cleanup, exports, and integrations. A workflow platform can consolidate many of those operational automations. - [When your Shopify automation is too specific for a template](https://blog.jsworkflows.com/articles/free-workflow-setup-for-hard-shopify-automation/) - Some workflow ideas are too store-specific for a ready-made template. JsWorkflows can still support them with editable code and setup help. --- # Automate Shopify metafield maintenance with workflows Metafields power storefront content, operations, and integrations. Workflows can validate, backfill, update, and report on metafields safely. Canonical URL: https://blog.jsworkflows.com/articles/automate-shopify-metafield-maintenance/ Category: Operations Metafields are one of the most useful parts of Shopify, but they can also become one of the messiest. Stores use metafields for product details, variant data, customer flags, order attributes, ERP references, supplier information, merchandising fields, delivery rules, and more. When metafields are wrong or missing, storefront content and internal processes can break quietly. ## The pain point Metafield maintenance is often manual. - Product metafields are missing after an import. - Variant metafields need values from a supplier CSV. - Customer metafields need to be backfilled from order history. - Order metafields need to be copied from a custom app or note attribute. - Old metafield values need cleanup after a process changes. - Data needs type-safe defaults instead of blanks. This work is easy to postpone because each edit is small. Across a full catalog, it becomes a real operational problem. ## What a workflow can do A JsWorkflows metafield workflow can run from a Shopify event, a schedule, an HTTP request, an email import, or a manual test. The workflow can: 1. Find records missing required metafields. 2. Calculate values from other Shopify fields. 3. Import values from a CSV or external API. 4. Set default values for blanks. 5. Validate values before writing. 6. Update metafields in batches. 7. Log invalid, skipped, and updated records. This makes metafield maintenance repeatable instead of manual. ## Useful metafield workflows Examples include: - Set variant incoming stock and ETA metafields from a supplier file. - Backfill product care instructions from a vendor mapping. - Flag customers with a customer metafield after a purchase rule is met. - Copy delivery notes from order data into an order metafield. - Report products missing required SEO or merchandising metafields. - Clean stale metafield values after a promotion or season ends. These are not always large projects. Many are small workflows that remove recurring manual work. ## Why code helps Metafield automation often needs more than "set this value." The workflow may need to: - Choose the owner type: product, variant, customer, order, or another resource. - Respect the metafield type. - Convert blanks to defaults. - Validate numbers, dates, and list values. - Decide whether to overwrite existing values. - Batch writes to Shopify. - Report row-level failures. That kind of logic is easier to maintain in a workflow than in scattered spreadsheet steps. ## Keep business rules visible Good metafield workflows should expose safe setup fields: - Namespace and key when appropriate. - Default value. - CSV column name. - Product type or vendor filter. - Whether to overwrite existing values. - Notification email. Technical details such as GraphQL mutation shape, batch size, and retry behavior should stay in code. ## Start with report-only mode For important metafields, start by reporting missing or invalid values before writing updates. This lets the team verify the rule and catch unexpected data. After the report looks right, the workflow can be updated to write values automatically. ## Why this matters Metafields often sit behind the scenes, but they influence what customers see and how operations run. Automating metafield maintenance makes store data more reliable, reduces cleanup work, and gives the team a clear record of what changed. --- # Automate Shopify product cleanup and merchandising tasks Product catalogs need regular cleanup: archive dead products, tag stock states, update metafields, and keep merchandising data consistent. Canonical URL: https://blog.jsworkflows.com/articles/automate-shopify-product-cleanup-and-merchandising/ Category: Operations Product catalog work is easy to underestimate. A store may need to archive products that are no longer sellable, tag products based on inventory, update metafields, clean up stale data, or prepare records for a merchandising review. These tasks are usually not difficult one by one. The problem is that they repeat. ## The pain point Catalog cleanup often depends on rules that are specific to the store. - Archive products only when every variant is out of stock. - Add an `out-of-stock` tag when total inventory reaches zero. - Remove a sale tag after a promotion ends. - Update variant metafields from supplier data. - Flag products missing required merchandising fields. - Send a review list before changing product status. These rules are operational, but they affect what shoppers see. ## Why manual cleanup is risky Manual catalog work tends to happen late. Teams notice the problem after a product page is wrong, a collection contains stale items, or support receives questions about unavailable products. When the catalog is large, it is also hard to know whether the cleanup was complete. A workflow makes the rule repeatable and inspectable. ## What JsWorkflows can do A product workflow can run when Shopify sends a product or inventory event. It can also run on a schedule to scan records and clean up stale data. Examples: - Archive products when all variants are out of stock. - Add or remove stock status tags. - Update product or variant metafields from an external source. - Create a daily list of products missing SEO, vendor, type, or metafield data. - Notify a merchandising team when products enter a review state. The workflow can log what it changed, what it skipped, and why. ## Where custom logic helps Simple product rules can often be handled with no-code automation. JsWorkflows becomes useful when the rule needs to query variants, inspect inventory across locations, update metafields, process batches, or call another system. For example, "archive products when all variants are out of stock" sounds simple. In practice, the workflow may need to check product status, variant inventory, tags, exceptions, and whether the product belongs to a specific vendor or type. That is clearer in code than in a long chain of no-code conditions. ## A good first workflow Start with a workflow that does not immediately change product status. For example, create a scheduled workflow that finds active products with zero total inventory and sends a review email. Once the team trusts the output, the workflow can be updated to add tags or archive products automatically. This reduces risk while proving the automation. ## Keep merchant settings simple Catalog workflows often need a few merchant-facing settings: - Tags to add or remove. - Product types or vendors to include. - A notification email. - A threshold or review delay. Technical details such as page size, retry count, and throttle delay should stay in code. The merchant should configure the business rule, not the mechanics. --- # Build Shopify backfill and cleanup jobs with scheduled workflows Backfill and cleanup jobs repair old records, remove stale data, and keep store operations consistent. They need batching, logs, and safe retry behavior. Canonical URL: https://blog.jsworkflows.com/articles/build-shopify-backfill-and-cleanup-jobs/ Category: Operations Some automation does not start from a new order or customer event. It starts from old data that needs to be cleaned up. Examples include stale draft orders, old customer records, missing metafields, products that need review, or historical orders that need a tag added for reporting. These are backfill and cleanup jobs. They are often boring, but they are valuable. ## The pain point Store data gets messy over time. - Draft orders stay open after they are no longer useful. - Products miss required tags or metafields. - Customers need cleanup based on age or activity. - Historical orders need a tag or note for reporting. - Catalog records need to be checked after an import. - A new process needs to be applied to old records. Doing this manually is slow. Doing it with a one-off script can be risky if there is no run history. ## Why scheduled workflows are useful A scheduled workflow can process records in controlled batches. The workflow can: 1. Query a page of Shopify records. 2. Decide which records need action. 3. Update only the records that match the rule. 4. Store progress between steps. 5. Continue later if more pages remain. 6. Retry throttled or transient failures. 7. Send a completion summary. This is safer than trying to update everything at once. ## Where this differs from simple event automation [Shopify Flow](https://help.shopify.com/en/manual/shopify-flow/reference) supports event and scheduled workflows, and its own documentation describes Flow workflows as triggers, conditions, and actions. That is a good model for many store rules. Backfill work often needs more control over paging, batching, progress tracking, and partial failure handling. JsWorkflows is useful when the job behaves more like a controlled data process than a single trigger-action rule. ## Good cleanup candidates Good scheduled cleanup jobs have clear criteria. - Delete stale draft orders after a set number of days. - Archive products that have been out of stock for a long time. - Add missing metafields from existing product data. - Remove temporary tags after a campaign ends. - Flag products missing required merchandising fields. - Recalculate customer tags from historical order count. The best cleanup jobs are specific and reversible, or at least easy to audit. ## Keep the job safe Cleanup workflows should be conservative. - Start in report-only mode when possible. - Log records that would be changed. - Process small batches first. - Use clear filters. - Send a summary. - Avoid deleting data unless the rule is well tested. For risky cleanup, a workflow can first add a review tag or send a report instead of changing the final field immediately. ## Merchant-configurable settings Backfill jobs usually need simple setup fields: - Age threshold. - Product type or vendor filter. - Tags to include or exclude. - Notification email. - Dry-run or active mode. Technical settings such as page size, retry count, and continuation delay should stay in code. ## Why this matters Backfill and cleanup jobs improve trust in store data. They also reduce hidden operational debt. Instead of relying on someone to remember a monthly cleanup task, the workflow runs on a schedule, logs what happened, and reports the result. That is the difference between a script and an operational workflow. --- # Connect a custom Shopify app to JsWorkflows Use a Shopify custom app connection when a workflow needs to call another store, test against a separate store, or use a dedicated Shopify app token. Canonical URL: https://blog.jsworkflows.com/articles/connect-custom-shopify-app-to-jsworkflows/ Category: Integrations Most JsWorkflows automations run against the Shopify store where the app is installed. For many workflows, that is exactly what you want. There are cases where the workflow needs a different Shopify connection: - A second Shopify store. - A development store used for testing. - A client store managed by an agency or partner. - A dedicated Shopify custom app with specific Admin API scopes. - A migration or backfill job that reads from one store and writes to another. That is where connecting a Shopify custom app to JsWorkflows becomes useful. ## What this unlocks A Shopify custom app connection lets a workflow retrieve an OAuth token for another Shopify app/store connection and call that store's Admin API from the workflow. This can support patterns such as: - Sync products, inventory, or metafields between related stores. - Test a workflow against a development store before using it on a live store. - Pull data from an old store during a migration. - Keep a separate Shopify token for a specific automation. - Build agency workflows that operate against a client's secondary store. - Use scopes that are not part of the main JsWorkflows app installation. This makes JsWorkflows more than a single-store automation tool. It can become a controlled workflow layer for connected Shopify stores and custom app access. ## Why not just use the built-in Shopify connection? For the store where JsWorkflows is installed, use the built-in Shopify Admin API access. The platform already injects the installed store's Shopify access token when workflow code calls that store's Admin API URL. A custom Shopify app connection is for a different requirement: the workflow needs to call another Shopify store or use a separate custom app token. That separation is useful because the workflow can decide exactly when to use the installed store connection and when to use the custom app connection. ## Why this is different from Shopify Flow Shopify Flow is useful for Shopify-native event automation and app actions. Multi-store automation is a different requirement because the workflow needs a separate connection to the other store's Admin API. With JsWorkflows and a custom Shopify app connection, a workflow can: - Read from one Shopify store and update another. - Combine Shopify data with external API data. - Run scheduled backfill or cleanup jobs. - Use custom retry and logging logic. - Keep setup values and OAuth handles visible in the workflow setup. That matters when the automation crosses store boundaries or needs a dedicated app token. ## Development store testing For development stores, the setup is straightforward. Create a Shopify app in the Shopify Dev Dashboard, configure the Admin API scopes and redirect URL, then connect it in JsWorkflows with the standard custom OAuth connector. This is useful when you want to test workflow behavior against a separate store before using the workflow on production data. ## Live store custom apps Live stores need the Shopify custom app distribution flow. In the Shopify Dev Dashboard, create the app, configure its version, select the scopes, set the JsWorkflows OAuth callback URL, and release the version. Then set the app's distribution method to custom and enter the live store domain. Shopify generates an installation link for that store. Install the app on the target store, then add the connection in JsWorkflows using the Shopify Custom App connector. JsWorkflows can use the installation link and client secret to derive the authorization details and store the resulting token. The detailed setup steps are documented in the [Shopify Custom App OAuth guide](https://help.jsworkflows.com/oauth/shopify/). ## Example workflow pattern A common multi-store workflow looks like this: 1. Start from a schedule, Shopify event, HTTP request, or manual test run. 2. Load the custom app token using the OAuth handle configured in JsWorkflows. 3. Call the secondary store's Shopify Admin API. 4. Compare or transform the data. 5. Update the installed store, the secondary store, or an external system. 6. Log what changed and send a summary. This pattern can be used for inventory sync, product enrichment, store migration, customer tagging, or partner-managed operations. ## Keep the connection explicit Custom app connections are powerful, so the workflow should make the connection clear. Good workflow setup should include: - The OAuth handle used for the custom Shopify app. - The target store domain. - The Shopify scopes required by the custom app. - Whether the workflow reads data, writes data, or both. - A summary notification for important updates or failures. This makes the workflow easier to review before it is turned on. ## When this is a good fit Use a custom Shopify app connection when the workflow needs access beyond the installed store's built-in JsWorkflows connection. Do not use it just because the workflow calls Shopify. For ordinary workflows on the installed store, the built-in Shopify access is simpler. The custom app connector is most valuable when the automation needs another store, another token, another scope set, or a controlled integration path for partner and agency workflows. --- # Connect Shopify to Slack, Google Sheets, and internal APIs Store teams often need Shopify events to reach the tools they already use. Workflows can send alerts, write rows, and call internal APIs with controlled logic. Canonical URL: https://blog.jsworkflows.com/articles/connect-shopify-to-slack-google-sheets-and-apis/ Category: Integrations Many Shopify operations do not end inside Shopify. A high-value order may need a Slack alert. A wholesale request may need a row in Google Sheets. A fulfillment exception may need a call to an internal system. This is where stores often add several narrow apps. One app sends Slack alerts, another writes to Sheets, another handles a webhook, and another connects to a custom API. That can work, but it spreads business logic across too many places. ## The pain point The problem is not simply connecting tools. The problem is controlling the logic between them. - Which orders should notify the team? - What fields should be sent? - Should the workflow skip test orders? - Should it retry failed API calls? - Should it update Shopify after the external system responds? - Where can the team see what happened? If the integration is just a fixed connector, the merchant may not be able to express the real rule. ## What a workflow can do A JsWorkflows integration workflow can start from a Shopify event, schedule, HTTP request, email, or Shopify Flow action. It can then call external services using built-in OAuth connections or direct HTTP requests. Examples: - Send Slack alerts for high-value orders with risk or fulfillment context. - Add rows to Google Sheets when products need review. - Send customer data to a CRM after specific purchases. - Call an internal API when a Shopify metafield changes. - Send a daily operations summary by email. - Forward selected order data to a warehouse system. The workflow can also decide what not to send. ## Why this is different from a simple connector app Connector apps are useful when the action is fixed. A workflow is better when the store needs a decision before the action. For example, "send every paid order to Slack" is simple. But many stores need something more like: > Send a Slack alert only when the order is over $500, the customer is not tagged wholesale, the shipping method is express, and the product type includes a restricted item. That kind of rule is easier to maintain in one workflow than across several disconnected apps. ## Where custom workflow logic helps No-code automation can trigger many useful integration patterns, especially when the required action already exists. JsWorkflows becomes useful when the integration needs custom API requests, OAuth connections, response handling, batching, or logs that show each step. It also helps when the workflow needs to combine Shopify data with external data before deciding what to do. ## Keep the workflow readable Good integration workflows should keep merchant-facing values visible. - Slack channel or email recipient. - Minimum order value. - Google Sheet or folder. - Tags or product types to include. - External endpoint URL. Technical values, such as retry counts, batch sizes, and throttle delays, should stay in code. That keeps the setup page simple while preserving engineering control. ## A good first integration Start with a workflow that sends a Slack alert for orders above a threshold. It is easy to test, easy to understand, and visible to the team. After that, expand only where needed: add product filters, customer checks, Google Sheets logging, or an internal API call. The goal is not to connect every tool. The goal is to make the right operational signal reach the right place at the right time. --- # Create Shopify workflows with ChatGPT, Claude, Codex, or Claude Code AI assistants can draft JsWorkflows automations through MCP, especially when supported by Shopify API tooling for schema checks and resource lookups. Canonical URL: https://blog.jsworkflows.com/articles/create-shopify-workflows-with-ai-assistants/ Category: AI workflows Many merchants know what they want to automate, but not how to write the workflow. Developers may know how to write code, but still lose time looking up Shopify API fields, trigger payloads, and retry patterns. AI assistants can help close that gap when they are connected to the right tools. JsWorkflows exposes an MCP connector so assistants such as ChatGPT, Claude, Codex, and Claude Code can search JsWorkflows documentation, inspect trigger information, validate workflow code, and save workflows. For setup steps, see the [JsWorkflows AI assistant guide](https://help.jsworkflows.com/ai-assistants/overview/). ## The pain point Most automation ideas start as plain language: - "Tag customers after their fifth order." - "Send a daily email with high-value orders." - "Update product metafields from a CSV file." - "Send Slack alerts when a risky order is paid." The hard part is turning that into code that uses the right trigger, Shopify API fields, setup values, retries, and logs. ## What the AI assistant can do With the JsWorkflows MCP connector, an assistant can help: - Find the right trigger. - Draft workflow code. - Use JsWorkflows runtime APIs correctly. - Validate workflow structure. - Add setup notes and configuration fields. - Save the workflow into JsWorkflows for review. When the assistant also has Shopify API tooling, it can be more accurate with Shopify Admin GraphQL. That matters because Shopify fields, mutation inputs, scopes, and deprecations need to be checked against the current API schema. ## Why this is different from a generic AI code answer Without tools, an AI assistant is guessing from general knowledge. That can produce code that looks reasonable but uses a wrong field, an outdated mutation, or an invalid trigger payload. With MCP tools, the assistant can use the JsWorkflows API reference and validation tools as part of the workflow generation process. That does not remove review. It makes the first draft much closer to something usable. ## Why code-capable workflows matter AI can help describe no-code automation logic, but advanced store workflows still need a target that supports code, validation, setup fields, and logs. JsWorkflows gives the assistant that code-based workflow target. That means the assistant can create automations that use: - Shopify Admin GraphQL. - Multi-step scheduled processing. - External API calls. - CSV imports. - OAuth-connected services. - Custom setup fields. - Detailed run logs. For advanced workflows, the AI assistant is not just filling a form. It is helping create an operational script that runs inside JsWorkflows. ## A good demo workflow A simple workflow for testing is: > Create a scheduled JsWorkflows workflow that runs once per day, searches for orders above a configured value, and sends a summary email. This is useful because it shows several important concepts without needing a risky write operation: - Scheduled trigger. - Merchant-facing threshold setting. - Shopify query. - Summary generation. - Email notification. - Logs for each run. After the workflow is created, the merchant can review it in JsWorkflows before turning it on. ## Practical advice Give the assistant a clear request. Include: - The trigger. - The business rule. - The Shopify resource involved. - Any fields, tags, or thresholds. - Whether the workflow should update Shopify or only report. - What should happen on completion or error. If the workflow needs store-specific IDs, use Shopify tooling when available or provide exact Shopify GIDs. Do not invent IDs. AI is most useful when it speeds up the draft and validation loop. The workflow should still be reviewed, tested, and monitored like any other store automation. --- # How agencies can deliver custom Shopify automations without building a full app Agencies and partners often need to solve store-specific automation problems. JsWorkflows can package custom logic without a full app build. Canonical URL: https://blog.jsworkflows.com/articles/agencies-custom-shopify-automations-without-full-app/ Category: Use cases Agencies and Shopify partners often see the same pattern: a merchant has a real operational problem, but it is too specific for an off-the-shelf app and too small to justify building a full custom Shopify app. That middle ground is where workflow platforms are useful. ## The pain point Client requests are often specific: - "Sync this supplier file every morning." - "Tag these customers only when this exact rule is true." - "Send this internal API a payload when a fulfillment changes." - "Backfill this metafield across old products." - "Connect this store to another store for a limited migration." These tasks need custom logic, but they may not need a full embedded app, database, billing model, UI, hosting, and app review process. ## What the agency needs The agency needs a delivery path that is: - Fast enough for small projects. - Controlled enough for production stores. - Visible enough for the merchant to trust. - Configurable without editing code every time. - Easy to test before activation. - Flexible enough to call Shopify and external APIs. That is a different problem from building a full app product. ## Where JsWorkflows fits JsWorkflows lets an agency write a workflow in JavaScript, expose safe merchant-facing settings in the UI, and leave technical logic in code. The workflow can start from: - Shopify webhooks. - Schedules. - HTTP requests. - Email. - Shopify Flow actions. It can then call Shopify Admin GraphQL, connect to OAuth services, call custom APIs, process files, and log each run. ## How this compares with other automation paths [Shopify Flow](https://help.shopify.com/en/manual/shopify-flow/reference) is useful for no-code automation built from triggers, conditions, and actions. [Mechanic](https://learn.mechanic.dev/) documents a Liquid-based development environment with direct Shopify API access and a large task library. [MESA](https://www.getmesa.com/shopify-automation) positions itself around workflow automation and AI-powered automation. Those tools can be good fits. The JsWorkflows angle is different: editable JavaScript workflows, merchant-facing configuration fields, built-in OAuth connections, AI assistant support through MCP, and a workflow setup that can be reviewed before activation. For agencies that prefer JavaScript and want a controlled workflow layer, that can be a practical delivery model. ## Good agency use cases Good candidates include: - Store-specific tagging logic. - Supplier CSV imports. - Inventory or metafield sync jobs. - Customer cleanup and segmentation. - Backfill jobs after a migration. - Slack or Google Sheets operational alerts. - Custom app or secondary store integrations. Poor candidates include full product areas such as subscriptions, reviews, loyalty, returns, or customer-facing storefront features. Those usually need specialized apps. ## Make the workflow maintainable The workflow should not be a hidden black box. Good agency workflows should include: - Clear setup fields. - A short setup guide. - Logs that explain decisions. - Summary notifications. - Conservative error handling. - Notes about required Shopify scopes or OAuth connections. That makes the workflow easier for the merchant to keep using after the initial project is complete. ## The practical benefit For an agency, JsWorkflows can reduce the gap between "this is too custom for a simple app" and "this requires a full custom app build." It gives the team a way to ship operational automation quickly while still keeping the logic reviewable and testable. --- # Import Shopify products from a CSV URL with a workflow Product imports are rarely just file uploads. A workflow can validate rows, create products, update variants, set inventory, publish channels, and log failures. Canonical URL: https://blog.jsworkflows.com/articles/import-shopify-products-from-csv-url-workflow/ Category: Operations Importing products from a CSV file sounds simple until the file has to become a real Shopify catalog. Creating the product is only one part of the job. A serious import may need to create or update variants, activate inventory at locations, set available quantities, write metafields, publish products to sales channels, load images, validate taxonomy categories, and report every row that could not be processed. That is why product import is a good example of a workflow, not just a file upload. ## The pain point Supplier and catalog CSV files rarely match Shopify perfectly. - Product titles, handles, vendors, product types, and tags may need cleanup. - Variant rows may need option values and SKU matching. - Inventory quantities may need to be applied by location. - Product or variant metafields may need type-safe values. - Some products may need to be published to specific channels. - Images may be listed as URLs and need validation. - Some rows may be new products while others are updates. - Failed rows need a clear reason so the file can be fixed. When this is handled manually, the import process becomes a mix of spreadsheet edits, trial uploads, and cleanup work inside Shopify. ## What makes it a complex job A product import touches several Shopify resources and API operations. Depending on the store's needs, the workflow may need to work with: - Products. - Product variants. - Variant options. - Inventory items. - Inventory levels. - Locations. - Product and variant metafields. - Publications and sales channels. - Product media or image URLs. - Taxonomy categories. That is more than a single create action. It is an orchestration problem. ## How a workflow helps A JsWorkflows product import can run from a schedule, manual test, or configured CSV URL. The workflow can import the file, process rows in batches, and keep a run history. A strong workflow can: 1. Validate the CSV URL and required headers. 2. Normalize row values before calling Shopify. 3. Decide whether a row should create a product or update an existing one. 4. Set variants, SKUs, options, tags, status, vendor, and product type. 5. Activate inventory items at the right locations. 6. Set inventory quantities in batches. 7. Set product or variant metafields. 8. Publish products to selected channels. 9. Retry transient API errors and throttled requests. 10. Send or log a summary of created, updated, skipped, and failed rows. This turns the import from a manual upload into a repeatable operational process. ## Why this shows the value of JsWorkflows Many automations can be expressed as a simple trigger and action. Product import is different. It needs branching, validation, paging, batching, retries, and multiple Shopify GraphQL requests. That is where editable workflow code matters. The merchant-facing setup can stay simple: a CSV URL and selected publications. The technical details can stay in code: batch size, retry limits, lookup strategy, Shopify GraphQL mutations, and error handling. This split is important. Merchants should configure the business inputs. The workflow should handle the mechanics. ## A practical example The JsWorkflows product import template is a good example of this pattern. It uses a CSV URL as the source and can coordinate product lookup, product updates, inventory activation, inventory setting, metafield updates, and publication. The point is not only that the template imports products. The point is that it demonstrates how a workflow can coordinate many Shopify resources safely in one controlled run. That makes it useful for catalog onboarding, supplier imports, product backfills, and repeatable catalog maintenance jobs. ## What to watch for Product import workflows should be conservative. - Require clear identifiers such as handle or SKU. - Validate required headers before writing data. - Keep row-level failure messages. - Avoid updating unrelated products when identifiers are ambiguous. - Batch Shopify API writes. - Retry only transient failures, not data validation errors. - Review logs before increasing automation scope. These safeguards are what separate a controlled workflow from a risky bulk script. ## When this is a good fit Use a workflow when the CSV import is repeated, store-specific, or operationally important. If you only need a one-time basic upload, Shopify's built-in CSV import may be enough. If the import needs mapping rules, inventory logic, metafields, publication control, retries, or detailed reporting, a workflow is the better fit. The value is not just importing faster. The value is making the import process consistent, reviewable, and easier to improve over time. --- # Make Shopify workflows merchant-configurable without exposing the code A good workflow separates merchant-facing settings from technical logic. JsWorkflows can expose safe configuration fields while keeping code maintainable. Canonical URL: https://blog.jsworkflows.com/articles/make-shopify-workflows-merchant-configurable/ Category: Use cases Custom workflow code is powerful, but merchants should not need to edit code every time they want to change a threshold, tag, email address, CSV URL, or sales channel. The best workflow design separates business settings from technical logic. ## The pain point Many automations start with hardcoded values: - A tag name. - A minimum order value. - A Slack channel. - A notification email. - A CSV URL. - A location ID. - A product type filter. Hardcoding is fast for a developer, but it creates friction later. The merchant has to open code for a simple business change, or ask the developer to make every small adjustment. ## What should be configurable Merchant-facing settings are values the store team understands. Good setup fields include: - Tags to add or remove. - Email recipients. - CSV URLs. - Minimum order value. - Product types, vendors, or customer segments. - Shopify resource IDs selected during setup. - Dry-run or active mode. These are business choices. ## What should stay in code Technical settings should usually stay in code. - Page size. - Retry count. - Batch size. - Continuation delay. - GraphQL query structure. - Throttle handling. - Low-level error parsing. These values affect workflow mechanics. Exposing too many of them makes the setup page harder to understand and easier to misuse. ## How JsWorkflows helps JsWorkflows supports configuration fields that can appear in the workflow setup UI. The workflow code can import those values from `config.js`, while technical constants remain in code. That gives both sides what they need: - Merchants can safely change business settings. - Developers keep control of the implementation. - The workflow remains readable. - The setup page becomes part of the workflow documentation. ## Why this matters for adoption Many merchants are willing to use custom automation, but not if every change requires editing JavaScript. Merchant-configurable workflows make custom logic feel closer to a productized workflow. The merchant can install or request a workflow, configure the important values, test it, and turn it on. That is especially important for templates and AI-generated workflows. The code can be advanced, but the setup should still feel approachable. ## Example For a workflow that sends a daily summary of high-value orders, the setup UI might expose: - Minimum order value. - Recipient email. - Included financial statuses. The code should keep: - Shopify query pagination. - Retry behavior. - Email formatting helpers. - Logging and error handling. This keeps the workflow useful for non-developers without weakening the implementation. ## A practical rule If the merchant would naturally ask, "Can I change this later?", it probably belongs in setup. If the value controls reliability, batching, retry behavior, or API details, it should probably stay in code. --- # Shopify Flow vs JsWorkflows: when custom workflow code matters Shopify Flow is useful for no-code automation, but some store operations need custom logic, API calls, data transforms, retries, and detailed run logs. Canonical URL: https://blog.jsworkflows.com/articles/shopify-flow-vs-jsworkflows-custom-automation/ Category: App comparisons [Shopify Flow](https://help.shopify.com/en/manual/shopify-flow/reference) is a strong choice when the automation is simple: an event happens, a few conditions are checked, and a standard Shopify action runs. Many stores eventually hit a different problem. The work is not just a simple trigger and action. It needs data cleanup, batching, external API calls, custom retry logic, detailed logging, or a connection to an internal tool. That is where a workflow platform with editable code becomes useful. ## Where Shopify Flow works well Shopify Flow is best when the task can be described as a simple rule. - Tag an order when the total is over a threshold. - Add a customer tag after a purchase. - Send a notification when a product is low in stock. - Route common events into Shopify-supported actions. For these cases, no-code is the advantage. The setup is quick and the logic is visible to the merchant. ## Where stores need more control Operational workflows often need more than simple conditions. - Look up extra Shopify data before deciding what to do. - Call a third-party API, transform the response, and update records. - Process a CSV file from a supplier or warehouse. - Run a scheduled cleanup job across many products or customers. - Handle retries, partial failures, and API throttling safely. - Keep detailed logs so a failed run can be inspected later. These are not just automation rules. They are small business processes. ## What makes JsWorkflows different JsWorkflows is built around workflows that can start from Shopify events, schedules, HTTP requests, email, or Shopify Flow. The workflow can use templates when the use case is ready-made, or editable JavaScript when the operation needs custom logic. That difference matters because the workflow can: - Use Shopify Admin GraphQL queries and mutations. - Fetch data from external APIs. - Connect to services with OAuth. - Split work into scheduled steps. - Store run-specific state between steps. - Log exactly what happened during each run. - Be reviewed and tested before it is turned on. This gives technical teams and advanced merchants a middle ground: more control than a no-code rule builder, without building and hosting a full custom app. ## A practical example Imagine a store receives a supplier CSV with inventory quantities and incoming stock dates. A basic automation tool may detect the file or notify a team member. But the actual process may require more: 1. Download the CSV from a URL. 2. Match rows to Shopify variants by SKU. 3. Update inventory at specific locations. 4. Write incoming stock and ETA metafields. 5. Retry safely if Shopify throttles the request. 6. Send a summary email when the run finishes. This is the kind of workflow where custom code is not a luxury. It is the cleanest way to make the process reliable. ## When to use each tool Use Shopify Flow when the workflow is simple, no-code, and fully supported by available triggers and actions. Use JsWorkflows when the automation needs custom Shopify API calls, external services, scheduled processing, file imports, detailed logs, or logic that is too specific for a generic app. The best setup is often both: Shopify Flow for straightforward store rules, and JsWorkflows for the workflows that need deeper control. ## Start from a template or code If the use case already exists as a template, start there. If the operation is specific to your store, create a custom workflow with JavaScript or use an AI assistant through the JsWorkflows MCP connector to draft and validate the workflow. The goal is not to replace every automation tool. The goal is to avoid stacking narrow apps when one controlled workflow can do the job clearly. --- # Stop manually tagging Shopify orders and customers Manual order and customer tagging breaks down as order volume grows. A workflow can apply consistent tags, keep logic visible, and log every run. Canonical URL: https://blog.jsworkflows.com/articles/replace-manual-shopify-order-tagging/ Category: Use cases Order and customer tags are useful because they turn store activity into segments, filters, reports, and follow-up actions. The problem is that tagging rules often start simple and become messy over time. A team might manually tag wholesale orders, repeat customers, high-value purchases, risky orders, local pickup requests, or support exceptions. That works for a small store. It becomes unreliable when order volume grows or when different team members apply tags differently. ## The pain point Manual tagging creates operational drift. - Some orders get missed. - Similar customers get different tags. - Tags are added late, after downstream work has already started. - No one knows why a tag was added. - Old tags stay around after the condition no longer applies. The result is not just messy data. It affects fulfillment queues, support prioritization, customer segments, reports, and marketing lists. ## A better workflow A JsWorkflows automation can apply the same decision every time an order or customer changes. For example, when an order is paid: 1. Load the order and customer. 2. Check the order total, tags, risk level, shipping method, or customer order count. 3. Add the right tags. 4. Remove tags that should no longer apply. 5. Log what changed and why. The workflow can be simple, such as tagging customers after their fifth paid order. It can also be more specific, such as tagging a customer as wholesale only when the customer has a company name, an approved tag, and an order above a threshold. ## When tagging needs more control Simple tagging rules can often be handled with no-code automation. That is a good fit when the condition is straightforward and the required fields are available directly. JsWorkflows becomes useful when the tagging rule needs more control: - The workflow needs to query extra Shopify data. - Tags depend on calculations across multiple records. - The logic needs to call an external service. - The workflow should retry safely if Shopify throttles an API call. - The team needs detailed logs for why a tag changed. - The same workflow should update orders, customers, metafields, or external systems together. In other words, keep simple rules simple. Use JsWorkflows when tagging is part of a larger operational process. ## Example use cases - Add a `VIP` tag after a customer reaches a set order count. - Add an `ops-review` tag to high-value orders with certain shipping rules. - Tag B2B orders based on customer fields and cart contents. - Remove stale tags when a condition is no longer true. - Add customer tags that drive support queues or loyalty segments. ## What the merchant gets The merchant gets consistent tags without relying on memory or manual cleanup. The workflow also creates a run history, so the team can inspect what happened if a tag looks wrong. That matters because tags are often the bridge between operations and decisions. If tags are inconsistent, the processes that depend on them become inconsistent too. ## Start small A good first workflow is one rule with a visible outcome. For example: when an order is paid, if the customer has at least five paid orders, add a `repeat-customer` tag. That is easy to test, easy to explain, and useful immediately. Once that is working, more complex tagging logic can be added with the same workflow pattern. --- # Sync inventory between two Shopify stores with a workflow Multi-store inventory sync needs more than a single trigger. A workflow can read one Shopify store, update another, handle retries, and log every change. Canonical URL: https://blog.jsworkflows.com/articles/sync-inventory-between-two-shopify-stores/ Category: Integrations Many merchants eventually run more than one Shopify store. The stores may represent regions, brands, wholesale and retail channels, or a staging store used for testing. Inventory is often the first pain point. One store receives stock changes, but another store needs the same availability. If the sync is manual, stock can drift quickly. ## The pain point Multi-store inventory sync is not just "copy this number." The workflow may need to: - Read inventory from a source store. - Match products or variants by SKU. - Map one store's location to another store's location. - Ignore SKUs that should not sync. - Handle variants that exist in one store but not the other. - Update available inventory safely. - Retry Shopify throttling or transient API failures. - Send a summary of updated, skipped, and failed records. This is operational work that needs clear logs and guardrails. ## Why a custom Shopify app connection helps For the store where JsWorkflows is installed, the built-in Shopify access is usually enough. For another store, the workflow needs a separate Shopify connection. That can be handled with a Shopify custom app connection. The workflow can load the OAuth token for the secondary store and call that store's Admin API when needed. The detailed setup is covered in the [Shopify Custom App OAuth guide](https://help.jsworkflows.com/oauth/shopify/). ## A practical workflow shape A multi-store inventory workflow can run on a schedule or after an inventory event. One safe pattern is: 1. Load the source store's inventory state. 2. Build a list of SKUs and location quantities. 3. Load matching variants or inventory items in the target store. 4. Prepare updates only for confident matches. 5. Apply updates in batches. 6. Log missing SKUs and skipped rows. 7. Send a summary email or Slack message. The workflow should avoid silent failure. If a SKU cannot be matched, the workflow should report it instead of guessing. ## Where JsWorkflows fits No-code automation can be useful for single-store event rules. Multi-store sync usually needs a few extra capabilities: - Multiple Shopify Admin API calls. - A separate token for the second store. - SKU matching and location mapping logic. - Batching and retries. - A clear run history. JsWorkflows is a good fit because the workflow can keep merchant-facing values configurable while the code handles the API mechanics. Merchant-facing settings might include: - Source store handle. - Target store domain. - Location mappings. - Included or excluded SKUs. - Notification email. Technical details such as page size, batch size, retry count, and throttle handling should stay in code. ## Use cases This pattern can support: - Regional stores that share a catalog. - Wholesale and retail stores with shared stock. - Testing inventory workflows on a development store. - Migration jobs from an old store to a new store. - Selective sync for a subset of SKUs or vendors. ## What to avoid Do not start with automatic updates across every SKU and every location. Start with a narrow scope. Sync one location, one product type, or one SKU prefix. Review the logs, confirm the matches, then expand. Inventory mistakes affect sales immediately. A controlled workflow should make it easy to see what changed and why. --- # Sync Shopify inventory from a CSV URL without spreadsheet busywork Supplier and warehouse inventory files often arrive as CSV exports. A workflow can import the file, match variants, update stock, and report what changed. Canonical URL: https://blog.jsworkflows.com/articles/sync-shopify-inventory-from-csv-url/ Category: Operations Inventory updates are one of the most common places where store teams lose time. A supplier exports a CSV file, a warehouse sends a stock sheet, or an internal system publishes a daily file. Someone then has to download the file, clean it, upload it, and check whether the right variants were updated. That process is repetitive and risky. A single wrong column, stale file, or manual upload mistake can make product availability inaccurate. ## The pain point CSV inventory files are usually not designed around Shopify. - SKU columns may use supplier naming. - Location quantities may be split across several columns. - Blank values may need default handling. - Some rows may not match a variant. - Multiple Shopify variants may share the same SKU in specific store setups. - Incoming stock dates or quantities may need to update metafields, not just inventory. Manual imports can work, but they do not create a clear operational history. If a number looks wrong later, it is hard to know which file changed it. ## What a workflow can do A JsWorkflows inventory workflow can run on a schedule or be triggered manually. The workflow can: 1. Download a CSV file from a configured URL. 2. Parse the rows. 3. Match each row to Shopify variants by SKU or another key. 4. Update inventory at one or more locations. 5. Update variant metafields such as incoming stock or ETA. 6. Record skipped rows, missing SKUs, and API errors. 7. Send a summary when the import completes. This turns a fragile manual operation into a repeatable process. ## Why this needs a workflow A supplier CSV import is not just event-based logic. It needs file loading, parsing, row-by-row decisions, batching, Shopify API calls, retry handling, and summary reporting. That is a better fit for a workflow with code. With JsWorkflows, the store can keep merchant-facing settings configurable while keeping technical details in code. For example, a merchant can configure the CSV URL and location mapping, while retry limits and batch sizes stay in the workflow code. ## Practical safeguards Inventory workflows should be careful by default. - Validate required CSV headers before updating anything. - Log rows that cannot be matched. - Batch Shopify API writes. - Retry throttled requests. - Include a summary of updated, skipped, and failed rows. - Test the workflow before turning it on. These safeguards matter because inventory mistakes can affect sales immediately. ## A useful first version A practical first workflow can start with one CSV URL, one SKU column, and one inventory location. Once that is stable, the same workflow can be extended to support multiple locations, incoming stock metafields, ETA fields, or supplier-specific mappings. The important point is that the workflow becomes the source of truth for how the import works. The process no longer lives in a spreadsheet habit or a team member's memory. ## When this pays off This kind of workflow is valuable when inventory changes regularly and manual upload time is becoming part of the weekly routine. If the file is predictable, the automation is usually straightforward. If the file is messy, a workflow still helps because it can encode the cleanup rules explicitly and log exceptions instead of hiding them. --- # Test Shopify automations before turning them on Automations should be reviewed before they affect live data. Use inactive workflows, test runs, logs, and summaries to build confidence. Canonical URL: https://blog.jsworkflows.com/articles/test-shopify-automations-before-turning-on/ Category: Operations Automation is only useful when the team trusts it. If a workflow updates products, tags customers, changes inventory, sends messages, or calls an external API, it should be reviewed before it affects live operations. ## The pain point Many automation problems are not caused by bad intent. They are caused by unclear assumptions. - The trigger data did not include the field the workflow expected. - A condition matched more records than intended. - A tag name was misspelled. - A CSV column was blank. - An API request failed halfway through. - A workflow changed live records before anyone reviewed the output. Testing is not optional for workflows that write data. ## What safe testing looks like A safer workflow rollout usually has four steps: 1. Create the workflow inactive. 2. Run a test with sample data or a controlled trigger. 3. Review logs and output. 4. Turn it on only after the result is understood. For write-heavy workflows, a dry-run mode can be useful. The workflow reports what it would change without actually changing records. ## Why logs matter Logs are not just for developers. They are how the merchant verifies that the workflow did what it was supposed to do. Good logs should answer: - What triggered the workflow? - Which records were inspected? - Which records were changed? - Which records were skipped? - Why did failures happen? - What should the user fix? For imports and backfills, summary logs are especially important. ## Where JsWorkflows helps JsWorkflows workflows can be created inactive, reviewed, tested, and then turned on. Workflow runs include logs and step history, so the user can inspect what happened. For multi-step workflows, this matters because the run may continue across scheduled steps. A good workflow should log each important step instead of only logging the final result. ## Keep first tests narrow Do not start by testing on the entire catalog or every customer. Better first tests: - One order. - One product. - One SKU. - One location. - One CSV row. - One customer segment. After the workflow proves the logic on a small case, expand the input. ## What to ask before activation Before turning on a workflow, check: - Does it write Shopify data or only report? - Does it have the required Shopify scopes? - Does it retry transient failures safely? - Does it avoid retrying permanent validation errors? - Does it log skipped records? - Does it send a useful summary? - Can the merchant change the business settings without editing code? These questions catch most avoidable mistakes. ## The practical benefit Testing slows down the first activation slightly, but it prevents expensive cleanup later. The goal is not just to create workflows quickly. The goal is to create workflows the store can trust. --- # When one workflow app can replace several narrow Shopify apps Stores often install separate apps for alerts, tagging, cleanup, exports, and integrations. A workflow platform can consolidate many of those operational automations. Canonical URL: https://blog.jsworkflows.com/articles/replace-narrow-shopify-apps-with-workflows/ Category: App comparisons Shopify stores often solve operational problems one app at a time. One app sends Slack alerts. Another tags customers. Another exports rows to a spreadsheet. Another handles order cleanup. Another sends a scheduled email report. Each app may solve a real problem. The issue is that the store's automation logic becomes scattered across many tools. ## The hidden cost of narrow apps Narrow apps can be easy to install, but they often create long-term friction. - Each app has its own settings. - Logic is duplicated across tools. - It is hard to see the full operational process. - Monthly costs stack up. - Some apps solve 80 percent of the problem but cannot handle the store-specific rule. - Debugging becomes difficult because no single place shows the full run. The result is an app stack that grows around small exceptions. ## When a workflow platform is a better fit A workflow platform is useful when several tasks are variations of the same pattern: 1. Something happens in Shopify. 2. The workflow checks data. 3. It decides what should happen. 4. It updates Shopify or calls another service. 5. It logs the result. That pattern covers many store operations: tagging, notifications, cleanup, reporting, file imports, customer updates, metafield changes, and external API calls. ## What JsWorkflows consolidates JsWorkflows can run workflows from Shopify events, schedules, HTTP requests, email, or Shopify Flow. A workflow can use templates for common cases or editable JavaScript for custom logic. That means one platform can cover: - Order and customer tagging. - Inventory and product maintenance. - Scheduled reports and cleanup jobs. - Slack, Google, email, and external API notifications. - CSV imports. - Metafield updates. - Custom app and OAuth-connected workflows. Not every app should be replaced. Specialized apps can still be the right choice for deep product areas. But lightweight operational apps are often good candidates for consolidation. ## Why this is different from Shopify Flow [Shopify Flow](https://help.shopify.com/en/manual/shopify-flow/reference) is useful for no-code rules and Shopify-native workflows. JsWorkflows is different because the workflow can use code, external APIs, run-scoped state, retries, batching, and detailed logs. That matters when replacing narrow apps because those apps often exist for one missing action or one special condition. A code-capable workflow can express the store-specific condition directly. ## How to decide what to replace Start by listing apps that do small operational jobs. Good candidates: - Apps used only for one alert. - Apps used only for one tag rule. - Apps used only for scheduled exports. - Apps used only for one API call. - Apps where the team still has to manually clean up after the automation. Poor candidates: - Apps with a full product domain, such as reviews, subscriptions, returns, or loyalty. - Apps with customer-facing UI that JsWorkflows does not replace. - Apps with specialized compliance or analytics features. ## A safe migration path Do not replace everything at once. Pick one narrow automation with a visible outcome. Build it as a JsWorkflows workflow, test it, run it in parallel if needed, and compare the result. If it works, move the next small automation. The goal is not to remove apps for its own sake. The goal is to put store-specific operational logic in one place where it can be reviewed, tested, and monitored. --- # When your Shopify automation is too specific for a template Some workflow ideas are too store-specific for a ready-made template. JsWorkflows can still support them with editable code and setup help. Canonical URL: https://blog.jsworkflows.com/articles/free-workflow-setup-for-hard-shopify-automation/ Category: Use cases Templates are useful when the store problem is common. But many valuable automations are not common enough to fit a generic template. The workflow may depend on a custom metafield, a supplier file, a private app, a warehouse process, a special customer rule, or a store-specific exception. That does not mean the workflow is a bad fit. It means the workflow needs a clear setup process. ## The pain point Merchants often know the business rule but not the implementation details. They can explain: - Which orders need review. - Which file contains inventory. - Which customers should receive a tag. - Which app or API needs to be called. - Which manual task should stop happening. The missing piece is turning that into a workflow that is safe to run. ## What makes a custom workflow useful A good custom workflow should be readable and controlled. - Merchant-facing settings should appear in the setup UI. - Technical settings should stay in code. - The workflow should log each important decision. - Risky changes should be tested before activation. - Failures should produce useful messages. This is different from a one-off script. A workflow needs to be maintainable inside the store. ## Why not just install another app? Another app can be the right answer when the problem is a full product category. But when the problem is one store-specific rule, a narrow app often creates more clutter than value. For example, a store may not need a full integration platform just to send a special Slack alert or update one metafield from one supplier file. A workflow can solve the specific operation without adding another permanent dashboard to manage. ## When a custom workflow is the better fit No-code automation is strongest when the rule fits the available trigger, conditions, and actions. Custom workflows become useful when the logic needs API calls, loops, file processing, external services, or custom error handling. If the workflow can be represented cleanly in a no-code rule, keep it simple. If the workflow needs deeper control, use JsWorkflows. ## What to prepare before asking for setup help The best workflow descriptions include: - The trigger: what should start the workflow. - The target records: orders, products, variants, customers, inventory, or another system. - The rule: exactly when the workflow should act. - The result: what should be updated, sent, created, or skipped. - Examples: one or two real scenarios. - Any files, screenshots, or sample data. That information is enough to decide whether the workflow should start from a template, AI-generated draft, or custom implementation. ## The practical goal The goal is not to automate everything immediately. The goal is to remove one painful manual process and make it reliable. Once the first workflow is running, the store has a reusable pattern for the next automation.