How it works

Follow these 7 simple steps to start scheduling collection price changes automatically

schedule icon

Schedule

App connector: Schedule • Time to complete: 2 minutes
Why this matters: This trigger executes price changes at a precise scheduled date and time, enabling you to plan sales campaigns in advance and ensure pricing updates happen exactly when needed without manual intervention or staying up late.

This scheduled trigger uses datetime scheduling to run once at a specific date and time.

Configuration: You must select the date and time when prices should change during setup. The datetime picker lets you choose any future date and time. The workflow executes once at that moment and then stops.

Scheduling strategy:

  1. Black Friday sale: Schedule for 12:01 AM on Black Friday
  2. Flash sale: Schedule for exact sale start time
  3. Seasonal clearance: Schedule for first day of season
  4. Multiple sales: Create multiple workflows with different dates

Important: This changes prices permanently. You'll need a separate workflow or manual action to restore original prices when the sale ends.

Get List of Collections' Products

App connector: Shopify • Time to complete: 3 minutes
Why this matters: Retrieves all products in the specified collection to ensure every item intended for the sale receives the price update, enabling collection-wide pricing control.

This step fetches products from a Shopify collection.

Configuration: You must provide the collection ID during setup.

Finding collection ID:

  1. Go to Shopify admin
  2. Navigate to Products > Collections
  3. Click on the collection you want
  4. Look at the browser URL
  5. Find the number after /collections/ (like 123456789012)
  6. Enter that number in the configuration

The step returns all products in the collection including product IDs, titles, variants, and pricing information.

Loop Over Products

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Processes each product in the collection individually to access variant information, ensuring multi-variant products (different sizes, colors) all receive price updates.

This loop iterates through all products retrieved from the collection. For every product, the loop executes product retrieval and variant processing steps. This per-product processing enables variant-level price updates.

Retrieve Product

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Fetches complete product information including all variants to enable variant-level price calculations and updates.

This step retrieves the full product record using the product ID from the collection. It returns complete product data including all variants with their IDs, prices, SKUs, and inventory information. The variants array is used in the next loop.

Loop Over Product Variants

App connector: Loop • Time to complete: 0 minutes (Auto-configured)
Why this matters: Processes each variant of each product separately to apply price changes to all size, color, and style options, ensuring comprehensive pricing updates across all purchasable items.

This nested loop iterates through all variants of the current product. For every variant, the loop executes variant retrieval and price update steps. This enables variant-specific price calculations.

Nested loop structure: This is a loop within a loop—the outer loop processes products, the inner loop processes each product's variants. This ensures all variants of all products receive price updates.

Retrieve Product Variant

App connector: Shopify • Time to complete: 0 minutes (Auto-configured)
Why this matters: Fetches current variant pricing needed for calculating the new discounted price based on the configured percentage reduction.

This step retrieves the variant record using the variant ID from the product. It returns variant data including current price, compare-at price, SKU, barcode, and inventory. The current price is used in the next step's calculation.

Shopify logo icon

Update Product Variant (Price Calculation)

App connector: Shopify • Time to complete: 3 minutes
Why this matters: Calculates and applies the new discounted price to the variant, implementing the sale pricing across the collection based on your configured discount percentage.

This step updates the variant's price using a calculated discount. Configuration: You must configure the price calculation during setup. The default reduces prices by 25% (keeps 75% of original price).

{{shopify_2.price | times: 0.75 | round: 2}}

Calculation breakdown:

  1. shopify_2.price: Current variant price
  2. times: 0.75: Multiply by 0.75 (keeps 75%, reduces 25%)
  3. round: 2: Round to 2 decimal places (standard currency)

Custom discount examples:

  1. 10% off: times: 0.90
  2. 15% off: times: 0.85
  3. 20% off: times: 0.80
  4. 30% off: times: 0.70
  5. 50% off: times: 0.50

Fixed amount reduction (alternative): Instead of percentage, you could use:

{{shopify_2.price | minus: 10 | round: 2}}

This reduces each price by exactly $10.

The calculated price updates the variant immediately when the workflow runs.

Price permanence: This permanently changes the price. The original price is lost unless you store it elsewhere (like compare_at_price or a metafield) before changing.

Make it your own

Customize this workflow even further:

Store original prices before changing
Add a step before the price update that sets the compare_at_price field to the original price, preserving original pricing and creating "was/now" displays in your theme.
Create automatic price restoration
Build a companion workflow scheduled for sale end date that restores prices from compare_at_price or stored metafields, automating both sale start and end.
Add notification after completion
Insert email or Slack steps after the final loop that notify your team when the price change completes, confirming the sale is live.
Filter by inventory
Add filters that check inventory levels and only update prices for in-stock items, preventing discounts on products that can't fulfill orders.

Frequently asked questions

How do I restore original prices after the sale?
You'll need either a separate workflow scheduled for sale end, manual price restoration, or ideally modify this workflow to store original prices in compare_at_price before changing them, then create a companion workflow that restores from compare_at_price.
Can I schedule different discounts for different products in the same collection?
Not with a single workflow using percentage calculations. You'd need either multiple workflows targeting different collections, or custom code that checks product tags/types and applies different discounts conditionally.
What happens if I need to cancel the scheduled price change?
Disable the workflow before the scheduled time. Once the schedule triggers and prices change, you'll need to manually restore prices or run a restoration workflow.
What is a template?
Templates are pre-made workflows by our team of experts. Instead of building a workflow from scratch, these have all the steps needed to complete the task.
Can I personalize a template?
Yes! Every step can be customized to meet your exact requirements. Additionally, you can even add more steps and make it more sophisticated.
Are templates free?
Yes! Our entire library containing hundreds of templates are free to use and customize to your exact needs.

Ready to start scheduling collection price changes automatically?

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

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