Skip to content
All articles

How to Send an Email Based on a Cell Value in Google Sheets

GuidesAugust 8, 202614 min read

Learn how to send an email based on a cell value in Google Sheets, including condition-based emails, status changes, reminders, and automated notifications. See the no-code way with Mailvern.

How to Send an Email Based on a Cell Value in Google Sheets

If you keep customer, order, payment, lead, student, or project data in Google Sheets, you may eventually want the spreadsheet to do more than store information.

You may want it to send an email when something happens.

For example:

  • Send a payment reminder when Payment Status = Pending
  • Email a customer when Order Status = Shipped
  • Notify a manager when Approval = Required
  • Send a follow-up when Lead Status = Follow Up
  • Email an employee when Task Status = Completed
  • Send a reminder when a date in a row becomes due

This is commonly searched as "send email based on cell value Google Sheets", "send email when cell value changes", or "Google Sheets email automation."

There are several ways to do it. Google Sheets now has built-in conditional notifications for some accounts, and Apps Script can create more customized automations. But if what you really want is personalized email automation based on spreadsheet conditions, Mailvern provides a simpler workflow without requiring you to build and maintain a script.


What does "send email based on cell value" mean?

The basic idea is simple:

Cell value
    ↓
Check a condition
    ↓
Condition is true?
    ↓
Send email

Imagine a spreadsheet like this:

NameEmailPayment Status
Aishaaisha@example.comPaid
Rahulrahul@example.comPending
Sarasara@example.comPaid
Omaromar@example.comPending

You could create a rule:

Payment Status = Pending

The goal is then:

Rahul → Send payment reminder
Omar → Send payment reminder
Aisha → Skip
Sara → Skip

This is different from a traditional mail merge where every recipient in the list receives the email.

The spreadsheet becomes the decision-making layer.


3 ways to send email from Google Sheets based on a condition

There are three main approaches you are likely to encounter.

1. Google Sheets conditional notifications

Google Sheets has a built-in Conditional notifications feature that can send email notifications when selected cell values change and specified criteria are met. Google says you can choose a column or custom range, add conditions, and specify individual Gmail or Google Workspace recipients. citeturn0search0

2. Google Apps Script

Apps Script lets you write your own automation that reads spreadsheet values and sends email through code.

This provides much more control, but you have to create, test, maintain, and troubleshoot the script.

3. Mailvern

Mailvern is designed for spreadsheet-driven email automation.

Instead of writing a script, you can use your Google Sheet as the source of recipient and business data, create a personalized email, and define the condition that determines which rows should receive it.

For many business workflows, this is the simplest option.


Method 1: Use Google Sheets conditional notifications

If you only need a notification when a cell changes, Google's built-in feature may be enough.

Google currently allows eligible work or school accounts to create conditional notification rules in Google Sheets. You can choose a column or custom range, add conditions such as a value changing to Completed, and choose email recipients. citeturn0search0

Example: notify someone when a task is completed

Suppose your sheet contains:

TaskOwnerStatus
Design homepageAliIn Progress
Write articleSaraIn Progress
Test websiteJohnCompleted

You could create a conditional notification for the Status column.

The condition could be:

Status changes to Completed

When the condition is met, the selected recipient receives a notification.

How to set it up

In Google Sheets:

  1. Open your spreadsheet.
  2. Go to Tools → Conditional notifications.
  3. Click Add rule.
  4. Select the column or range to monitor.
  5. Add the condition.
  6. Select the email recipient.
  7. Save the rule.

Google's documentation also notes that the feature can use a column containing email addresses as the recipient source. citeturn0search0

When this method is useful

Use conditional notifications when you mainly need:

"Tell someone when this spreadsheet value changes."

For example:

Status → Completed
       ↓
Notify manager

It is a convenient built-in solution.

But there are limitations

Conditional notifications are not the same thing as a full mail merge campaign.

Google currently states that conditional notifications are available only to certain work or school accounts, and they do not support group email addresses or non-Google recipients such as Outlook and Yahoo. citeturn0search0

Google also notes that notifications may not be immediate and that multiple changes can sometimes be consolidated into one email. citeturn0search0

So if your requirement is more like:

"Find every row where Payment Status is Pending, personalize an email for each person, send it through Gmail, and keep track of which rows were processed."

you need something beyond a simple spreadsheet notification.


Method 2: Send an email from Google Sheets with Apps Script

Apps Script is the flexible approach.

You can write a script that:

  1. Opens the spreadsheet.
  2. Reads the rows.
  3. Checks a cell value.
  4. Finds the recipient's email.
  5. Builds an email.
  6. Sends the message.
  7. Updates the row.

Conceptually, the logic looks like this:

if (paymentStatus === "Pending") {
  sendEmail(email, name);
}

A slightly more complete workflow might look like:

Read row
   ↓
Is Payment Status "Pending"?
   ↓
Yes ─────────→ Send email
   ↓
No
   ↓
Skip row

This is powerful because you can customize almost anything.

But there is a trade-off.

You now have to maintain the automation yourself.

That means dealing with things such as:

  • Apps Script permissions
  • triggers
  • Gmail sending limits
  • errors
  • duplicate sends
  • tracking which rows were already processed
  • template management
  • changes to spreadsheet columns
  • debugging when the automation stops working

For someone comfortable with Apps Script, that may be perfectly reasonable.

For someone who simply wants to automate email from a Google Sheet, it can be more work than necessary.


Method 3: Send conditional emails with Mailvern

If your goal is not just a notification but personalized email automation from Google Sheets, this is where Mailvern fits.

The workflow is:

Google Sheet
     ↓
Choose your email template
     ↓
Set a condition
     ↓
Mailvern finds matching rows
     ↓
Personalize each email
     ↓
Send through Gmail
     ↓
Track sending status

You don't need to write an Apps Script just to express a rule such as:

Payment Status = Pending

Example: Send an email when Payment Status is Pending

Let's use the same spreadsheet:

NameEmailPayment Status
Aishaaisha@example.comPaid
Rahulrahul@example.comPending
Sarasara@example.comPaid
Omaromar@example.comPending

Create a message such as:

Subject: Payment reminder

Hi {{Name}},

Our records show that your payment is still pending.

Please complete your payment at your earliest convenience.

Regards,
Accounts Team

Then define the condition:

Payment Status = Pending

Mailvern evaluates the spreadsheet and sends the personalized email only to the matching rows.

The result is:

Aisha → Skip
Rahul → Send
Sara → Skip
Omar → Send

This is conditional mail merge: your spreadsheet determines who receives the email.


How to send an email when a Google Sheets cell value changes

This is slightly different from checking the current value of every row.

Suppose you have:

CustomerEmailStatus
Aishaaisha@example.comNew
Rahulrahul@example.comApproved
Sarasara@example.comPending

You may want:

When Status changes to Approved
        ↓
Send approval email

Google Sheets' conditional notifications are specifically designed for this type of change-based notification. citeturn0search0

If you need a personalized mail merge campaign based on the resulting spreadsheet state, however, a row-based email workflow is usually more useful.

For example:

Status = Approved
AND
Email is not blank
AND
Email Sent is not Yes

Then send the message and record that the row was processed.

This distinction is important:

Change-based automation

Something changed
      ↓
Notify someone

Condition-based mail merge

Find rows matching a condition
      ↓
Personalize
      ↓
Send email
      ↓
Track the result

They solve related but different problems.


Can you send an email when a Google Sheets condition is met?

Yes.

This is one of the most useful spreadsheet automation patterns.

For example:

Payment = Pending

could trigger a payment reminder.

Or:

Order Status = Shipped

could trigger a shipping notification.

Or:

Approval = Required

could trigger an internal approval request.

Or:

Follow Up = Yes

could trigger a sales follow-up.

The condition can be based on the information already stored in your spreadsheet.


How to send email based on multiple cell values

Real workflows often need more than one condition.

Suppose you have:

NameEmailPaymentAccount Status
Aishaaisha@example.comPendingActive
Rahulrahul@example.comPendingCancelled
Sarasara@example.comPaidActive

You might want to send the reminder only when:

Payment = Pending
AND
Account Status = Active

That means:

Aisha → Send
Rahul → Skip
Sara → Skip

This is much safer than simply searching for every row containing Pending.

Multiple conditions let your spreadsheet describe the exact state that deserves an email.


What if the cell is blank?

A common problem is:

"How do I send an email only when a cell contains a value?"

For example:

NameEmailPayment Status
Aishaaisha@example.comPending
Rahulrahul@example.com
Sarasara@example.comPaid

If the rule is:

Payment Status = Pending

the blank row does not qualify.

You can also use an additional condition such as:

Email is not blank

This prevents your automation from trying to send to incomplete records.

For larger workflows, keeping explicit conditions is usually clearer than putting complex logic inside the email template.


Can Google Sheets send email reminders based on a date?

Date-based automation is another common use case.

For example:

CustomerEmailDue Date
Aishaaisha@example.com2026-08-10
Rahulrahul@example.com2026-08-20
Sarasara@example.com2026-09-01

You might want to send:

Payment reminder
when Due Date is approaching

This is different from simply sending an email when someone edits a cell.

A date can become due because time passed, not because someone changed the spreadsheet.

That distinction matters.

Google's conditional notification documentation notes that volatile functions such as TODAY() can cause notification behavior that does not work as expected when the spreadsheet is closed. citeturn0search0

For recurring reminders and scheduled email workflows, you generally want an automation system that can evaluate the data according to a schedule rather than waiting for a manual cell change.

This is another use case where Mailvern's scheduling and automation features can be useful.


Google Sheets notification vs. email automation vs. mail merge

These terms can sound interchangeable, but they aren't.

What you wantBest fit
Know when someone edits the spreadsheetGoogle Sheets notifications
Notify someone when a value changesConditional notifications
Write custom spreadsheet automationApps Script
Send personalized emails to matching rowsConditional mail merge
Send recurring spreadsheet-driven campaignsEmail automation
Track which recipients were sent an emailMail merge/automation tool

The key question is:

Do you want a notification about the spreadsheet, or do you want the spreadsheet to determine who receives a personalized email?

If it is the second one, you're looking for conditional email automation.


Why use Mailvern instead of writing Apps Script?

Apps Script gives you control, but control also means maintenance.

With Mailvern, the workflow is designed around the problem you're trying to solve:

Spreadsheet → condition → personalized email → Gmail

You can create the email using the built-in editor, use spreadsheet values for personalization, define sending conditions, and keep sending status associated with your spreadsheet workflow.

This is particularly useful for people who know Google Sheets well but don't want to become an Apps Script developer just to send conditional emails.


Practical Google Sheets email automation examples

1. Payment reminders

Payment Status = Pending

→ Send a payment reminder.


2. Order notifications

Order Status = Shipped

→ Send the customer a shipping email.


3. Application approvals

Application Status = Approved

→ Send an approval message.


4. Lead follow-ups

Lead Status = Follow Up

→ Send a personalized follow-up email.


5. Task notifications

Task Status = Completed

→ Notify the relevant person.


6. Renewal reminders

Renewal Status = Due

→ Send a renewal reminder.


7. Student notifications

Result = Published

→ Send the student's result notification.

The pattern is always the same:

Spreadsheet data
      ↓
Condition
      ↓
Matching row
      ↓
Personalized email

How to get started with Mailvern

If your data already lives in Google Sheets, you can start without moving it into a separate email platform.

Step 1: Install Mailvern

Install Mailvern from the Google Workspace Marketplace.

Step 2: Open your spreadsheet

Use the spreadsheet containing your recipients and the information that determines who should receive the email.

Step 3: Create your email

Use Mailvern's editor to create your message and personalize it with spreadsheet fields.

For example:

Hi {{Name}},

Your order {{Order ID}} has been shipped.

Thanks,
Your Team

Step 4: Define your condition

For example:

Order Status = Shipped

Or:

Payment = Pending
AND
Account Status = Active

Step 5: Send

Mailvern evaluates the rows and sends the email to the recipients who match the conditions.

Your spreadsheet remains the source of truth.


Frequently asked questions

Can Google Sheets automatically send an email based on a cell value?

Yes. Google Sheets provides conditional notifications for eligible work or school accounts, and Apps Script can create custom email automations. citeturn0search0

For personalized, row-based conditional mail merge, Mailvern provides another option.

How do I send an email when a cell value changes in Google Sheets?

You can use Google Sheets' Tools → Conditional notifications feature if it is available for your account. You can create a rule based on a cell or column changing and specify recipients. citeturn0search0

How do I send an email based on a cell value in Google Sheets without coding?

For simple change notifications, Google Sheets may provide the built-in conditional notification feature.

For personalized emails sent to rows that match spreadsheet conditions, Mailvern lets you create the workflow without writing Apps Script.

Can I send emails based on multiple conditions?

Yes. A condition can be based on more than one spreadsheet field.

For example:

Payment = Pending
AND
Status = Active

This lets you target a more precise group of recipients.

Can I send an email if a cell is not blank?

Yes. You can make the email rule dependent on a field containing a value and combine it with other conditions.

For example:

Email is not blank
AND
Payment Status = Pending

Can Google Sheets send email reminders based on dates?

Date-based reminders are possible, but they are different from a notification that fires when someone edits a cell. If your reminder depends on time passing, use a scheduled automation rather than relying only on a cell-change trigger.

Can I send personalized emails from Google Sheets?

Yes. A mail merge workflow can use spreadsheet fields such as name, order number, amount, due date, or status to personalize each message.

Mailvern is designed specifically for this Google Sheets → Gmail workflow.


The easiest way to think about Google Sheets email automation

You don't need to think of your spreadsheet as just a table of recipients.

It can describe the current state of your business.

For example:

Payment = Pending
Status = Active
Follow Up = Yes

Your email automation then asks:

Does this row match the condition?

If yes:

Personalize → Send

If no:

Skip

That is the core of condition-based email automation.

And if your goal is to send personalized Gmail messages to the right rows without building the entire automation yourself, Mailvern turns that workflow into a Google Sheets mail merge you can actually manage from your spreadsheet.

Install Mailvern from the Google Workspace Marketplace

Keep reading

Google Workspace Marketplace

Start sending smarter emails today

Install Mailvern from the Google Workspace Marketplace and run your first conditional campaign in under five minutes.

3-day trial on paid plans · Works with Gmail and Google Workspace