Hello community,
I have a store where each product is an online course.
I save the course start date in a metafield (custom namespace, key date) for the product itself.
My Goal:
When someone purchases a course, I want to send three automatic emails:
- One day before the course date.
- On the same day it starts.
- One day after .
I’m looking for the most intuitive way (without so many third-party apps) to achieve this with Shopify, possibly using only Shopify Flow or Shopify Flow + Klaviyo.
If anyone has already solved something similar or can guide me step by step, I would greatly appreciate it!
Thanks in advance,
1 Like
I’ve made a bit of progress with this. I was able to pull the course start date from the product metafield using Shopify Flow and store it as an order note or order metafield when someone checks out. The idea is to then pass that info to Klaviyo through a metric or event property.
I haven’t yet figured out how to use that date dynamically in Klaviyo to schedule the emails relative to the course start—so far I can only trigger based on order time.
I think my app Triggerly could solve this problem for you.
Unfortunately Shopify doesn’t provide any APIs for an action to pause a Flow Automation like this and then continue it at a later date (beyond their Wait action, which only supports a relative time in the future), to get around this in Triggerly there are two extensions, the Deferred Trigger and the Deferred Action. The general approach for your situation would be to use two Flow Automations
Flow Automation A
- Trigger Order Created
- Conditional check that the product is a course
-
Action Triggerly Deferred Action (email 1)
- Define the Date field using your product metafields as a variable
- Define the Handle field as something like send-course-email
-
Action Triggerly Deferred Action (email 2)
Flow Automation B
- Trigger Triggerly Deferred Trigger
- Conditional check that the Handle field equals send-course-email
- Action Send email (whatever solution you have found for this)
The Triggerly Deferred Action supports most date values from ISO dates like “2025-07-01T08:06:22.204Z” as well as natural language dates like “tomorrow 5pm” or a combination of them.
As you mentioned you’re wanting 3 emails, one the day before, one on the day and another the day after, if you haven’t stored these dates separately, you could simply use natural language along with the metafield like this
- “1 day before {{ metafield value }}”
- “{{ metafield value }}”
- “1 day after {{ metafield value }}”
You can find Triggerly here https://apps.shopify.com/triggerly
And here are some related screenshots of the Deferred extensions, hope it helps!
Deferred Action
Deferred Trigger