A lot of small teams could use reminder emails when it is time for a team member to perform a task, but there are not a lot of products where you can easily set up reminder emails for team members for free.
But you can do it easily with a Google Sheet.
Building on the work of others I created this little script you can copy/paste from https://github.com/RobKraft/GoogleSheetBasedEmailReminders
Open the Script Editor from the Tools menu of your Google Sheet and paste this script in. The code is simple and documented if you desire to change it.
Then set up 4 columns in your google sheet. Make row one headers for the 4 columns:
- Column A: Email Address – this is a single email address or comma separated list of email addresses to send to
- Column B: Reminder Begin Date – this is the date at which the reminder will start going out daily Column
- C: Subject – This is the subject of the email
- Column D: Email Body – This is the body of the email. Also the code adds some extra stuff to the body of the email.
You also need to create a trigger in your google sheet.
To do this, select the Edit menu from the script menu and select Current Project Triggers. You may need to give your project a name and save it at this point. Add a trigger. At the time of this writing in May 2019, you would need to set these values for your trigger:
- “Choose which function to run” – probably sendEmails
- “Choose which deployment to run” – probably Head
- “Select event source” – Time-driven
- “Select type of time based trigger” – Day Timer – for once per day
- “Select Time of Day” – During what time frame do you want the trigger to run. (GMT Time)
That is it – save that trigger and it is all yours. Set up an email to yourself to test it all. All the emails will be sent from your own @gmail.com account.
Just for fun, I include the script code here that is also in the repo:
function sendEmails() {
var startRow = 2;
var numRows = 100;
var currentDate = new Date();
var currentYear = currentDate.getFullYear();
var currentMonth = currentDate.getMonth() + 1;
var currentDay = currentDate.getDate();
var emailSubjectPrefix = 'Reminder: ';
var urlToGoogleSheet = 'https://docs.google.com/spreadsheets/????edit#gid=0';
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange(startRow, 1, numRows, 4);
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0];
if (emailAddress != "")
{
var eventDate = new Date(row[1]);
var yearOfEvent = eventDate.getFullYear();
var monthOfEvent = eventDate.getMonth() + 1;
var dayOfEvent = eventDate.getDate();
if (currentYear >= yearOfEvent && currentMonth >= monthOfEvent
&& currentDay >= dayOfEvent)
{
var subject = emailSubjectPrefix + row[2];
var message = row[3];
message = "\r\n\r\n" + message + "\r\n\r\n";
message = message + "\r\nSent on " + currentDate +
"\r\nDisable the notification by changing the date on it here: "
+ urlToGoogleSheet;
message = message + "\r\nReminder Start Date: " + eventDate
MailApp.sendEmail(emailAddress, subject, message);
}
}
}
}