Using Auto Schedule with Shopify Flow

Shopify Flow is a free automation app from Shopify. Auto Schedule connects to it, so when one of your schedules starts or ends, Flow can go and do something about it — post to Slack, email your team, tag the products, add a row to a Google Sheet, or anything else Flow can do.

A few things people use it for:

  • Post to a Slack or Teams channel when a sale goes live, so everyone knows
  • Email your team a list of the products that just went on sale
  • Let your warehouse or fulfilment partner know when a product drop releases
  • Keep a record of every price change in a spreadsheet

You don't need any of this to use Auto Schedule. It's there if you want to build on top of your schedules.

What you need


  • Shopify Flow installed on your store. It's free from Shopify — search for "Flow" in the Shopify App Store. Flow is available on the Basic plan and above.
  • Auto Schedule installed, with at least one schedule set up.

Setting up your first workflow


  1. Open the Shopify Flow app from your Shopify admin.
  2. Click Create workflow.
  3. Click Select a trigger.
  4. Search for "schedule" and you'll see the three Auto Schedule triggers listed.

  1. Pick the one you want (see below for what each one does).
  2. Add an action — Send internal email is a good one to start with, because you'll see straight away that it worked.
  3. Click Turn on workflow.

That's it. Next time a schedule runs, your workflow runs with it.

Workflows only run while they're turned on, and only from the moment you turn them on. Schedules that ran before that won't trigger anything.

The three triggers


Schedule started


Runs when a schedule begins — when a discount is applied, products are published or unpublished, tags are added, or a product drop locks.

Schedule ended


Runs when a schedule ends and its changes are undone — prices going back to normal, products being unpublished again at the end of a sale, or a product drop releasing.

This also runs if you end a schedule yourself, using Revert now or Force revert on the history page. You can tell the difference inside your workflow using the Trigger type field described below, if you want to treat a manual revert differently.

Schedule finished repeating


Runs when a repeating schedule finishes for good — when it's run for the last time and won't run again, either because it hit its end date or because it finished the number of repeats you set.

This is different from Schedule ended, which runs at the end of every cycle. If you have a daily sale repeating for two weeks, "Schedule ended" runs fourteen times and "Schedule finished repeating" runs once, at the very end.

One-off schedules never trigger this one, since they were never repeating in the first place.

What your workflow receives


Each trigger sends details about the schedule run, which you can use in conditions and in your actions. In the Flow editor these appear under Schedule run.

Field What it is
Schedule name The name you gave the schedule
Schedule ID The schedule's ID in Auto Schedule
Action type What the schedule did — discount , revert_price , publish , unpublish , tags_change , drop_lock  or drop_release
Trigger type scheduled  for a normal run, or manual_revert  or force_revert  if you ended the schedule yourself
Product count How many products the run changed
Products The products the run changed, with their titles and IDs
Truncated Whether the product list was shortened — see below

To use any of these in an email or Slack message, pick them from the variable list in the action, or type them in curly braces, like {{schedule_run.scheduleName}} .

An example


A workflow that emails your team when a sale starts:

  • Trigger: Schedule started
  • Action: Send internal email
  • Subject: {{schedule_run.scheduleName}} has started
  • Body: {{schedule_run.productCount}} products are now on sale.

You can go further and loop over the products to list them, or add a condition so the workflow only runs for certain schedules — for example, only when the action type is discount , so you're not emailed when prices go back to normal.

Only running for some schedules


Every Auto Schedule schedule fires these triggers, so if you only want a workflow to run for particular ones, add a condition after the trigger.

The easiest way is to name your schedules consistently and check the name. For example, a condition on Schedule name contains Flash  means the workflow only runs for schedules with "Flash" in the name.

You can also check the Action type so that a workflow only runs for discounts, or only for publishing.

Very large schedules


If a schedule changes more than 500 products, the product list is shortened to the first 500 and the Truncated field is set to true. Product count is always the real total, so a schedule that changed 1,200 products reports 1,200 even though the list holds 500.

This is a limit on how much information Shopify Flow accepts in one go, not a limit on your schedule — all your products are still updated normally. It only affects what the workflow can see.

Almost no one runs into this: most schedules affect a handful of products. If you're running sitewide sales and need the full list in your workflow, use Product count for the number and have Flow look up the products itself — for example by the collection or tag the schedule targets.

My workflow didn't run


Work through these in order:

  • Is the workflow turned on? A workflow you've built but not turned on won't run. Check it says "On" in Flow.
  • Did the schedule actually run? Check the History page in Auto Schedule. If the schedule didn't run, or ran but changed nothing, there's nothing to trigger a workflow.
  • Did the schedule change any products? A run that changed nothing — because the products were already at the right price, for example — doesn't trigger a workflow.
  • Did you turn the workflow on before the schedule ran? Workflows only run from the moment they're switched on.
  • Is it the right trigger? If you're waiting for the end of a repeating schedule, "Schedule ended" runs at the end of every cycle, while "Schedule finished repeating" only runs once at the very end.
  • Check the workflow's run history in Flow. Flow records each run and any errors, which will tell you whether the workflow started and what happened next.

If you've checked all of those and it still isn't running, get in touch and tell us the schedule name and roughly when it ran, and we'll take a look.

Can Flow create schedules in Auto Schedule?


Not at the moment. The connection currently works one way: Auto Schedule tells Flow when something happened, and Flow reacts. If creating or changing a schedule from a workflow would be useful to you, let us know — it helps us decide what to build next.

Still need help? Contact Us Contact Us