so i’ve done this kinda thing in a bunch of my apps and the way that works best for me is a combo of scheduled workflows + recurring workflows and also using a custom data type to track stuff.
first what i do is create a new datatype like “weekly email reminders” and then i just copy all the active users into that table. add a yes/no field like “email sent?” so we know who’s been processed already.
then i setup 2 backend workflows. one is like the main controller, and the second one is the one that actually sends the email.
so the first workflow searches that custom table for 1 user where email_sent = no and then sends that user to the second workflow. the second one will search for that user’s tasks (status = active or whatever filters u want), and then send them the email. after sending, it updates their email_sent to yes, and then re-triggers the first workflow again so it keeps looping.
once there’s no more users with email_sent = no, then i do a reset. you can check with a condition like “only when count of email_sent = no is 0” and then update the whole table again to set all email_sent = no (so it’s ready for next week). also in the same step or in a separate custom workflow, you can schedule the first workflow again for next friday or whatever time u want this to go out weekly.
now if i was doing this for one of my real apps with a lot of users, i’d go with batching using schedule on a list and probably use postmark or some broadcast tool for sending the emails, just to keep things clean and save on workflow units. but for smaller scale apps this way works perfect.
if u get stuck or want help building it just drop me a message at versasyncstudios@gmail.com, happy to help