How to Set Up Conditional Email Alerts in Google Sheets
You have a Google Sheet tracking orders, project tasks, or inventory levels. You want to be notified by email when something specific happens: a status column changes to "Overdue," inventory drops below 10 units, or a deal stage contains the word "Won." Instead of checking the spreadsheet every hour, you want the spreadsheet to tell you when a condition is met.
This is a conditional email alert, and it is one of the most requested automations for Google Sheets. In this guide, we will cover the different ways to set up conditional email alerts, from the built-in notification system to custom Apps Script code to a no-code approach using Clear Approve's Smart Trigger.
Why Conditional Alerts Matter
Spreadsheets are passive tools. They store data, but they do not proactively tell you when something important changes. That means someone on your team has to be the one checking — scanning rows, looking for the thing that needs attention right now.
This creates real problems in practice:
- Delayed action. An expense request sits at "Pending" for two days because the approver did not notice it. A low-stock item goes unordered because nobody checked the inventory tab until the weekly meeting.
- Missed transitions. A project task changed from "In Progress" to "Blocked" three days ago, but the project manager only sees it during the next status review. Three days of potential unblocking time, wasted.
- Alert fatigue from broad notifications. Google Sheets does offer basic notification rules, but they notify you on every edit, not just the ones that matter. After the tenth "someone edited your spreadsheet" email in a day, most people turn them off entirely.
- Manual workarounds. Teams resort to Slack messages, verbal check-ins, or calendar reminders to compensate for the lack of smart notifications. These workarounds are fragile and do not scale.
What you need is a system that watches for a specific condition and only sends a notification when that condition is met. Not "any change was made," but "this column now equals this value in this row."
Option 1: Built-in Google Sheets Notification Rules
Google Sheets has a basic notification feature under Tools > Notification settings. It lets you receive an email when "any changes are made" or "a user submits a form." You can choose to be notified immediately or as a daily digest.
The limitation is significant: there are no conditions. You cannot say "notify me when Column D equals Overdue." You cannot filter by column, value, or data type. You will receive a notification for every single edit in the spreadsheet, whether it is a formatting change, a typo fix, or the critical status update you actually care about. For most teams, this creates more noise than value.
Option 2: Apps Script with onEdit and MailApp
The traditional technical solution is to write a Google Apps Script that uses an installable onEdit trigger. The script checks which cell was edited, evaluates whether the new value meets your condition, and sends an email using MailApp.sendEmail() if it does.
This approach is fully functional, and many teams use it. However, it comes with real trade-offs:
- JavaScript knowledge required. You need to be comfortable writing and debugging code in the Apps Script editor.
- Duplicate prevention is your responsibility. Without explicit tracking logic, the same cell change can trigger multiple emails if the row is edited again for unrelated reasons.
- HTML email formatting is manual. If you want the notification to include row data in a readable format, you have to build HTML tables by hand in your script.
- Maintenance burden. If someone renames a column, inserts a new one, or changes the sheet structure, the script can silently break. There are no built-in alerts when your trigger stops working.
- Non-technical users cannot modify it. Once the script is written, only someone comfortable with code can change the condition, the watched column, or the recipient list.
Apps Script is a solid choice if you have a developer on the team and need highly custom logic. For standard conditional alerts, there is a faster path.
Option 3: No-Code Conditional Alerts with Clear Approve
Clear Approve is a Google Sheets add-on with a Smart Trigger feature built specifically for conditional email alerts. You configure everything through a sidebar — no code, no script editor, no JavaScript. Here is how to set it up.
Step 1: Install Clear Approve
Go to the Google Workspace Marketplace and install Clear Approve. It works with any Google Sheet in your account.
Step 2: Open the Trigger Tab
In your spreadsheet, go to Extensions > Clear Approve > Open. When the sidebar appears, switch to the Trigger tab at the top.
Step 3: Select the Column to Watch
Choose the column that contains the values you want to monitor. This is the column where edits will be evaluated against your condition.
Step 4: Choose an Operator and Set the Value
Pick one of the five available operators: equals, does not equal, contains, greater than, or less than. Then enter the trigger value. For example, set the operator to "less than" and the value to "10" for a low-stock alert.
Step 5: Define the Row Range and Recipient
Specify which rows the trigger should monitor (e.g., rows 2 through 200) and enter the email address that should receive the alert. You can add multiple recipients separated by commas.
Step 6: Save
Click Save. Clear Approve installs an edit-based trigger that runs in the background. From this point on, any qualifying cell change sends an email automatically.
The Five Operators Explained
Clear Approve's Smart Trigger supports five conditional operators. Each one opens up different use cases depending on the type of data you are monitoring.
Equals
The trigger fires when a cell's new value exactly matches the specified text or number. This is the most common operator for status-based workflows. For example, set the watched column to your "Status" column and the value to "Approved." When a manager changes any row's status to "Approved," the requester gets an email with the full row details. Other status values like "Pending" or "In Review" are ignored.
Does Not Equal
The trigger fires when a cell changes to any value that does not match the specified text. This is useful for filtering out low-priority items. For instance, if your task tracker has a Priority column and you set the condition to does not equal "Low," you will receive an alert whenever a task is created or updated with Medium, High, or Critical priority. Low-priority items will not generate notifications.
Contains
The trigger fires when a cell's value includes the specified text anywhere within it. This operator is ideal for free-text fields where exact matching would be too rigid. For example, set the watched column to "Notes" and the value to "urgent." Whether someone types "urgent fix needed," "URGENT," or "This is urgent — please review," the trigger fires. It performs a case-insensitive partial match, so you do not need to worry about exact formatting.
Greater Than
The trigger fires when a cell's numeric value exceeds the specified threshold. This is essential for monitoring financial data and large transactions. Set the watched column to "Amount" and the value to "10000." When a new invoice or transaction exceeds $10,000, the finance team receives an alert with the full row — vendor name, amount, date, and any other columns in the sheet. Amounts at or below $10,000 do not trigger a notification.
Less Than
The trigger fires when a cell's numeric value drops below the specified threshold. This is the go-to operator for inventory management and SLA monitoring. Set the watched column to "Stock Quantity" and the value to "5." When someone logs a sale or adjustment that brings a product's stock below 5 units, the purchasing manager gets an immediate email with the product details and current quantity.
Built-in Duplicate Prevention
One of the most common problems with conditional email alerts is duplicate notifications. A naive implementation sends an email every time a row is edited, even if the value that triggered the alert has not changed. If someone fixes a typo in a different column on the same row, the alert fires again. Over time, this creates a flood of redundant emails that erode trust in the system.
Clear Approve handles this with smart duplicate prevention. The system tracks which rows have already fired for a given value transition. If a row's watched column already equals "Approved" and someone edits the description column on that same row, no email is sent. The trigger only fires on the actual value transition in the watched column.
There is an important nuance here: if the value reverts and then transitions back, the trigger does fire again. Say a row changes from "Approved" to "Pending Review" (perhaps the item was sent back for revisions) and later changes back to "Approved." The second transition to "Approved" generates a new notification, because it represents a genuine workflow event. This design handles real-world workflows where items cycle through states multiple times.
Sending to Multiple Recipients
You are not limited to a single recipient. In the email field, you can enter multiple addresses separated by commas. All recipients receive the same alert with the same row snapshot. This is useful when multiple stakeholders need to be informed of the same event — for example, both the account manager and the fulfillment team when an order status changes to "Ready to Ship."
Real-World Use Cases
Inventory Management
A retail operations team tracks product stock levels in Google Sheets. Using the less than operator with a threshold of 10, the purchasing manager receives an alert the moment any product drops below reorder level. The email contains the product name, SKU, current quantity, and supplier — everything needed to place a reorder without opening the spreadsheet.
Project Status Tracking
A project coordinator uses a shared spreadsheet to track deliverables. With the equals operator set to "Blocked," the project lead gets an immediate alert when any task hits a blocker. Instead of waiting for the weekly standup to learn about obstacles, they can intervene the same day.
Sales Pipeline Alerts
A sales team tracks deals in a Google Sheet with a "Stage" column. Using the contains operator with the value "Won," the sales director and onboarding team receive an alert when any deal is marked as "Closed Won" or "Won - Pending Contract." The alert includes the client name, deal value, and expected close date, enabling an immediate handoff from sales to delivery.
Expense Approval Workflows
A finance team uses a spreadsheet for expense submissions. Using the greater than operator with a value of 5000, the CFO receives an alert for any expense request exceeding $5,000. Lower amounts go through the standard approval flow, but high-value requests get immediate visibility at the executive level.
SLA and Deadline Monitoring
A support team tracks ticket resolution status. Using the equals operator with the value "Overdue," the team lead receives an instant notification when any ticket breaches its SLA. The email includes the ticket ID, customer name, priority level, and due date, enabling fast escalation before the situation worsens.
Getting Started
Conditional email alerts transform Google Sheets from a passive data store into an active notification system. Instead of relying on manual checks or generic "something changed" notifications, you define the exact conditions that matter to your workflow and receive targeted alerts only when those conditions are met.
With Clear Approve's Smart Trigger, the entire setup takes under two minutes. Pick your column, choose an operator, set the value, enter the recipient, and save. The spreadsheet handles the rest.
Try Clear Approve Free
Install the add-on and send your first snapshot in under a minute.
Install from Google Workspace Marketplace