Send Automated Emails from Google Sheets Using Apps Script

Have you ever wanted Google Sheets to send out emails for you automatically—like reminders, updates, or notifications—without manually typing each message? You’re not alone. Whether you’re a teacher sharing grades, an event organizer sending invitations, or a sales manager following up with clients, automating emails can save time and ensure nothing falls through the cracks.

With Google Apps Script, you can link your Google Sheets data directly to Gmail and send personalized emails in seconds. Best of all, you don’t need to be a professional programmer to make it happen.

Send Automated Emails from Google Sheets Using Apps Script

Why Automate Emails from Google Sheets?

  • Save time by sending multiple emails in bulk
  • Ensure consistency and reduce human error
  • Send personalized messages to each recipient using their data
  • Trigger emails based on specific criteria (e.g., due dates or approvals)

Real-Life Example: Sending Payment Reminders

Let’s say you manage a list of clients who need to make monthly payments. You want to email only those whose payment status is “Pending” and include the amount they owe in a personalized message.

Sample Data

Name Email Amount Due Status
Jane Doe jane@example.com $150 Pending
John Smith john@example.com $0 Paid
Emily Chen emily@example.com $200 Pending

Step-by-Step: How to Send Automated Emails Using Apps Script

1. Open the Apps Script Editor

  • In your Google Sheet, click Extensions > Apps Script

2. Paste the Script


function sendPaymentReminders() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  const data = sheet.getRange(2, 1, sheet.getLastRow() - 1, 4).getValues();

  data.forEach(row => {
    const name = row[0];
    const email = row[1];
    const amountDue = row[2];
    const status = row[3];

    if (status.toLowerCase() === "pending") {
      const subject = "Payment Reminder";
      const body = `Dear ${name},\n\nThis is a gentle reminder that you have an outstanding payment of ${amountDue}.\n\nPlease make your payment at your earliest convenience.\n\nThank you,\nYour Company Name`;

      MailApp.sendEmail(email, subject, body);
    }
  });
}

3. Save and Run the Script

  • Click the floppy disk icon to save
  • Click the play ▶️ button to run sendPaymentReminders()
  • Authorize the script when prompted (it’s safe—you’re just granting access to your Gmail)

4. Optional: Set a Trigger for Automatic Sending

  • Go to Triggers (⏰ icon on the left sidebar)
  • Click + Add Trigger
  • Select sendPaymentReminders and choose your preferred schedule (e.g., daily at 9 AM)

Customizing Your Email

You can enhance your message using:

  • HTML body for bold text, links, or formatting (use MailApp.sendEmail(email, subject, '', { htmlBody: body }))
  • CC/BCC for copying additional recipients
  • Attachments if needed

Quick Reference: Email Automation Cheat Sheet

Step Description
Step 1 Go to Extensions > Apps Script
Step 2 Paste and edit the email automation script
Step 3 Click ▶️ to run the script and send emails
Step 4 Set a time-based trigger to run automatically

Sending automated emails from Google Sheets using Apps Script is a game-changer. It’s fast, efficient, and surprisingly easy to implement—even if you’ve never written code before. Whether you’re managing billing, confirmations, or follow-ups, you can streamline your communication and focus more on what really matters.

Start small, test your messages, and soon you’ll have your own personalized email assistant working directly from your spreadsheets!

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top