NOTIFYIF
Description
Sends up to 1,000 notifications whenever one or more formulas with NOTIFYIF are executed and their criteria are met. You can send a notification to a user whether or not they have access to the workbook. If the function exceeds the limit, notifications stop and the #ERROR indicator displays in the cell containing the function. When you hover the cursor over the cell, a message describes the error.
Syntax
NOTIFYIF(
range
, criteria
, [ user_names
], [ subject
], [ message
], [ send_on_each
]) - range: The range to evaluate the criteria for.
- criteria: The string expression to evaluate against the range. The format is the same as functions such as SUMIF() and COUNTIF().
- user_names: The array or list of users to send the notification to. If you don't include this argument, the function uses the user_name of the current user (the user composing the function).
- subject: The text string to use as the subject of the Workday notification. If you include a subject, Workday adds a colon character at the end of the string.
- message: The text to use as the body of the notification. These HTML tags are supported: <br>, <b>, <i>, and <u>.
- send_on_each: If TRUE, the function sends a notification on each value in the range that matches the criterion (TRUE). If FALSE, the function sends a notification only if all the values in the range meet the criterion. The default is TRUE.
Examples
Formula | Result |
|---|---|
=NOTIFYIF(A1:A3,"=won","dave.smith","Contest results","you won!" ) | Send this notification to dave.smith:
"Contest results: You won!" won . |
=NOTIFYIF(E8,"<"&E7,"tserrano","Forecast Drop",CONCAT(A8, " of $",E8," has fallen below target of $", E7)) | Send a notification to tserrano if the value in E8 is less than E7. This example uses data in the sample workbook on Community. Example notification: "Forecast Drop: EMEA Forecast of $3214321 has fallen below target of $3530400" |
=NOTIFYIF(A1,">"&0.5,"tserrano","Sales Goal",TEXT(A1,"0%")&" of your employees met their sales goal.") | Send a notification to tserrano if the value in A1 is greater than 0.5. The TEXT function causes the A1 value to be formatted as an integer percentage. Example notification: "Sales Goal: 61% of your employees met their sales goal.") |
Example Notifications Using an Array of Values
You can use NOTIFYIF with an array of values to send personalized notifications to multiple users. Place your list of usernames in a range and reference it using ARRAYAREA() in the
user_names
argument. Remember to submit the formula using the array keyboard shortcut: Ctrl+Alt+Enter (Windows) or Command+Option+Enter (Mac).The formula in cell A8 puts the different users listed in A3, A4 and A5 into an array:

When including the reference cell in the NOTIFYIF formula, use ARRAYAREA(A8):

The My Tasks notification for the formula looks similar to this, if Oliver Reynolds submitted the formula:

The email notification looks similar to this:

How NOTIFYIF Works
The NOTIFYIF function sends a notification whenever it executes and the condition is true. It has no memory of whether a notification was previously sent for the same condition. Use this function cautiously and test thoroughly before sharing a workbook to prevent unexpected notifications from being sent.
NOTIFYIF will re-execute and send a notification if the condition is true in any of the following situations:
- A cell that the NOTIFYIF formula references, directly or indirectly, changes value.
- The formula contains a volatile function such as TODAY() or NOW(), and any cell in the workbook is changed.
- The NOTIFYIF formula has a dependency on live data, and a live data refresh occurs.
- A manual recalculate all is triggered on the workbook.
Best practices for volatile functions
Volatile functions such as TODAY() and NOW() recalculate whenever any cell in the workbook changes. Using them in a NOTIFYIF formula, either directly or through another formula it depends on, can cause notifications to fire every time a workbook edit occurs.
For example, suppose you want to notify a project owner when a high-priority project's deadline has passed. If column B contains project deadlines and your formula calls TODAY() directly, any edit anywhere in the workbook will cause your NOTIFYIF to re-fire for every overdue high-priority project.
To prevent this, place =TODAY() in a dedicated cell such as H1 and reference H1 in your formulas instead of calling TODAY() directly. For example:
=NOTIFYIF(B2,"<"&$H$1,"project.owner","Project Overdue","Your project deadline has passed.")
Since H1's value only changes once per day, your NOTIFYIF will not re-execute on every workbook edit. It will still fire at least once per day if the workbook is changed in any way. Note that simply opening the workbook will not cause the formula to re-execute. A change to the workbook is required.
Only notify when a condition changes from false to true
Even with the volatile function workaround above, NOTIFYIF will still fire once per day when the dedicated TODAY() cell updates. If you want notifications to fire only when a status changes to a new state rather than every day the condition is met, move the condition into a separate helper column.
Continuing the project deadline example, instead of placing the deadline check directly in your NOTIFYIF, create a helper column with the formula =B2<$H$1 to evaluate whether the deadline has passed. Then point your NOTIFYIF at the helper column with TRUE as the criteria. NOTIFYIF will only fire when the helper column's value changes from FALSE to TRUE rather than every time the date changes. .
Live data refreshes
There is no configuration that prevents NOTIFYIF from firing on a live data refresh if your formula has a dependency on live data. We recommend scheduling refreshes thoughtfully to manage notification volume.
Additional Notes
- This function evaluates a criterion expression against all the values in the range you specified. Ifsend_on_eachis true, then the function sends a notification for each criterion match in the range. Ifsend_on_eachis false, the function sends a notification only if all values in the match meet the criterion. The form of the criterion is the same as for SUMIF() and COUNTIF().
- The function generates a Workday notification. If emails are enabled in your environment, an email is also sent, but the email subject is auto-generated and doesn't match the subject argument of the notification.
- The function returns the value TRUE if it sent a notification or FALSE if it didn't.
- Workday identifies the sender of the notification as the user who placed the formula into the cell.
- Workday doesn't support using structured references with NOTIFYIF.
Related Functions
NOTIFYIFS