Sending a Weekly Round Up Email

I have a CRM app with tasks and I want to send all the active users an email every Friday to tell them of all the due tasks next week. Each user will have an opt-out option too.

I’m struggling to get my head around how to trigger this workflow and keep it running given the changing numbers of active users and opt-outs.

Can anyone help?

Well for the opt-outs, you can set a “yes/no” field called for example “notifications” in the “User” data type and as long as the value of this field is “yes”, then you send the email to the user otherwise, don’t send. Also in your conditions you should include “user_is_active = yes” so only active users are included.
About the workflow triggering, this workflow should schedule itself for next week. You will only need to schedule it initially to run on next Friday for the 1st time and then it should be fine scheduling itself after that automatically.

I prefer to trigger it from make.com

sometimes I need to clear the scheduled workflows (incase of a loop or something) and weeding out the few that I want to keep is tedious vs the 1 operation from make to run it once a week. Running from make also gives me a nice easy way to adjust date/time and frequency for the trigger.

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

This topic was automatically closed after 70 days. New replies are no longer allowed.