Use Case: Automate Emails with Schedule-Triggered Flow

If you also have the need to send out batch emails under specific criteria or at specific dates, you should definitely consider Schedule-Triggered Flow. Schedule-Triggered Flow can also run for a batch of records if the object and the filter conditions are specified. You build the flow as if it is for one record, but it will run for all the records that match the criteria (So you don’t have to think about collections. Isn’t this nice?!). Let’s dive into how to set this up!

* Big thanks to Parker for sending in the case!

Lulu Mobile uses the standard Account object to track phone subscriptions. They have a field called “Expiration Date” which tracks when the subscription ends. When it reaches 90 days before the expiration date, they want to send a reminder to the customers. They will send it to the primary contact specified on each account.

(Assumption: One account will only have one primary contact)

We will use the Schedule-Triggered flow and let it run daily. Every day we check how many accounts have reached 90 days before the expiration date. Then we send emails to their primary contact.

Since we cannot use formula in the Choose Object and Filter Conditions, we will use a workaround suggested by Salesforce.

Scheduled Action v.s. Schedule-Triggered Flow

“If we schedule the flow to run daily, wouldn’t it exhaust the capacity?” is the question I have about schedule-triggered flow. Because alternatively, we can also schedule actions (ex. in Process Builder) when the expiration date is updated. I imagine this is easier on the workload, as the system evaluates each account only once. However, it might be more error-prone as those actions would need to stay in the backlog for a long time (it is 90 days in this example, but could be 2-3 years based on your scenarios). Also, if we specify the conditions properly, the schedule-triggered flow might not be as overloading as we imagine. Unfortunately, I can’t find any accurate comparison on the two, so I would suggest “use schedule-triggered flow when it’s a separate set of actions and using scheduled actions when you can add it to some nodes in your existing processes or flows.”

Flow Chart (Account Contact Relationship)

Steps (Account Contact Relationship)

Please wait while flipbook is loading. For more related info, FAQs and issues please refer to DearFlip WordPress Flipbook Plugin Help documentation.

Result (Account Contact Relationship)

Schedule-Triggered FlowGet RecordsAction

Does the solution solve your problem? If not, write us what your problem is and we will build the flow for you!

Official Salesforce Help Article On Flow

Notify of
Newest Most Voted
Inline Feedbacks
View all comments


Thanks for this, it was very helpful! I did come across an issue though: I implemented this in a way so that the account owners get notified that their customers license will expire. But if an owner owns multiple accounts with customers whose licenses expire, the user will only get one email notification instead of one per expiring license. Is there a way to make it that one user can receive multiple emails?



Hello Melody, Thanks for the reply. I did build it directly on the License object, with 2 conditions, that the expiry date i soon, and that the license is active. Then I got the account ID linked to the license, and then I email the owner of the account that a license they’re responsible for will expire.
When I did the tests, I made two licenses fulfill the conditions, and both licenses were linked to the same account, but I only get one email from one license. If I de-activate one of the two, I get the correct email, but if they’re both active I only get one email.


Ahh great, thanks for the reply! I was just using the debug mode, that is why only one email was sent! Now that it’s activated it worked great.
Thank-you for this very simple solution 🙂
Have a nice day


Hello! With Angesol’s example, is it possible to send one email that contains the license information for both records, instead of 1 email per license?


Very cool! I didn’t even know that was possible. Thank you!

Kev M

This is helpful! Only snag I’m running into is if the criteria changes after the fact, the scheduled job isn’t cancelled. For example, I want to send a daily email 7 days before a due date so long as the record is considered “open”. If the status changes from “open” to anything else, the emails should be cancelled; however, the scheduled job continues to queue up the daily email.


Hi there, I was trying to create a flow that would send an email the day before an assignment expires. (I created a checkbox formula field that shows true for this) It’s scheduled to run daily. Only thing I’m not sure is if it is looking at all assignments. I set up a test record that should trigger it, but debug shows no email output.