Automating daily email send

Hi Gliders!

I am building a date reminder app where users can input a date, and then they will get an e-mail reminders as they get close to that date (think: Never forget your wedding anniversary again!).

I have all functionality built and final step missing is getting the e-mails to send. I understand I need to use a Make/Zapier integration to get the e-mails to fire, but the issue I am struggling with is how to AUTOMATE the email sending even when the user has not clicked anything. I essentially need to set up a task that runs on a daily basis and checks if any e-mail alerts needs to be sent.

THANK YOU so much!

Steps to do it with Google Sheets:

  • First, let users choose a date first. This will come with a year, though, and I assume you don’t want the year part.

  • Add an arrayformula to calculate this year’s reminder. Extract the day and month of the original date, and append the current year. You might want to consider the 29th February case, though, since it’s an outlier with this approach.

  • Every day, say at 7AM, run a Make scenario to loop through all your “reminder” rows. Check if any rows has a date that matches the current day in Make (make sure you have the correct format to check, i.e both sides must follow the same format).

  • Send emails with the matching rows.

3 Likes

ThinhDinh! Amazing. THANK YOU!!

I have steps 1 and 2 sorted already. Users add a date (including year) and I strip the year away and append current year and then current year +1 (in case we already passed their birthday this year), so once we move to 2023, the whole approach shifts by itself so all good on this one.

Any chance you can elaborate on the ‘run a Make scenario to loop through all your reminder rows’? Currently I’m hosting all the data inside Glide’s data editor (as opposed to Google sheet). Do you propose I first move the data out to sit in Google Sheet? And then there’s a functionality in Make where I schedule it to sift through all the rows looking for e-mails to send, correct?

Yeah, that’s the plan. At the moment the “read” query for Glide Tables only work for business plans upwards, so that’s why I advised you to move things to Google Sheets.

Gotcha. I’ve migrated my page into Google Sheet now (What a pain. Very surprised there’s not just a function to sync your existing Glide data tables into GS). I basically had to rebuilt the whole thing from scratch, and once you change the data source, even the front-end updates. OH well. It’s done now.

I will start exploring building the Make script. I hope it’s okay I reach out in case I can’t figure out to do it. But at least it sounds like I’m on the right track now :slight_smile:

1 Like

Completely fine. Let’s keep the discussion here so if I’m not available, others can chime in, unless you need to share private data.

Hi ThinhDinh,

I’ve been looking into the Make integration and I’m running into an issue:

The Make ‘watch’ integration watches the entire Google sheet workbook and not just a single column. So just adding a new birthday (a new row) triggers the watch integration and it includes all this irrelevant info. Do you have an idea how I can get around this issue?

I have some ideas for solution but they are all really complicated and involves building macros that just make the whole thing even more complicated.

Thanks

Don’t use watch, use Search Rows:

With that, you can specify exactly which sheet to search and which criteria to look for.

And then set your whole scenario to run on a schedule, eg. once per day (or whatever).

1 Like

BOOOM! Darren_Murphy I think this is spot on. Let me try this approach. THANK YOU

@Darren_Murphy You are genius! IT WORKS! I love this. I can come up with so many use cases of this. Thanks so much!!

In this case I would do it once a day.

For cases where you need it to be more frequent than once a day, please beware that each search counts against your quota, so don’t do it too frequently (say every minute), otherwise you will run out of your quota in no time.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.