---
title: "How to send or skip a notification when an entry is edited"
date: 2026-11-03
updated: 2026-11-03
author: "Rafael Bennemann"
link: "https://www.gravitykit.com/docs/gravityview/edit-entry/notification-when-entry-edited/"
category: "GravityView > Edit Entry"
---

To send a Gravity Forms notification when someone edits an entry in GravityView, set the notification's **Event** to **GravityView - Entry is updated**. The notification goes out every time someone saves the Edit Entry screen, whoever saves it and whether or not a value changed. To limit it to people editing their own entries, or to edits that change a certain field, add one of the code snippets below.

## Choose the event

The event you pick decides which edits send the notification.

|  | GravityView - Entry is updated | GravityView - Entry approval is reset | GravityRevisions - Entry is updated, revision is saved |
|---|---|---|---|
| Someone saves the Edit Entry screen in a View | Yes, on every save | Only when the save changes the status to Unapproved | Yes, if the form saves revisions |
| An administrator saves the entry on its page in Gravity Forms | No | No | Yes, if the form saves revisions |
| A user edits a field inline with GravityEdit | No | No | Only if the form saves revisions for inline edits |
| A visitor submits the form for the first time | No | Yes | No |
| A moderator changes the status in the Entries list | No | Only for a reset | No |
| Code updates the entry with `GFAPI::update_entry()` | No | No | No |

**GravityView - Entry approval is reset** fires after an edit only when [Unapprove Entries After Edit](https://www.gravitykit.com/docs/gravityview/edit-entry/unapproving-edited-entries-automatically/) is on for the View and the person saving can't moderate entries. The entry must also have been Approved or Disapproved before the save. Administrators and Editors can moderate entries by default.

A save that also changes the status, through the Approve Entries field or the Approve/Reject field on the Edit Entry screen, sends **GravityView - Entry is updated** and the approval notifications. [How to send email notifications when an entry is approved](https://www.gravitykit.com/docs/gravityview/entry-approval/notification-when-entry-approved/) covers those.

With [multi-page editing](https://www.gravitykit.com/docs/gravityview/edit-entry/edit-entry-multi-page-forms/) turned on, each click on **Next** or **Previous** saves the entry, so each click sends these notifications.

To send a notification after an inline edit, follow [How to trigger form notifications when editing with GravityEdit](https://www.gravitykit.com/docs/gravityedit/how-to-trigger-form-notifications-when-editing-with-gravityedit/). To show the old and new values in the email, follow [How to send form notifications after an entry has been updated](https://www.gravitykit.com/docs/gravityrevisions/email-notify-entries-updated-gravity-forms/), which uses GravityRevisions.

## Add the notification

- Go to **Forms**, open your form, then click **Settings** and **Notifications**.
- Click **Add New**.

![The Notifications page of a form, with the Add New button outlined above a list of notifications and their events](https://www.gravitykit.com/wp-content/uploads/2026/11/gravity-forms-notifications-list-add-new.png)
- Enter a **Name** and set **Event** to **GravityView - Entry is updated**.
![A notification named Listing edited, with its Event setting outlined and set to GravityView - Entry is updated](https://www.gravitykit.com/wp-content/uploads/2026/11/gravity-forms-notification-event-entry-is-updated.png)
4. Under **Send To**, enter an address, or choose **Select a Field** to use the form's email field. Fill in the **Subject** and **Message**
5. Click **Update Notification**.

To send only when a field holds a certain value, turn on **Conditional Logic** at the bottom of the notification. A rule such as Availability `is` Fully booked reads the values after the save, so it can't tell whether the value changed. The last snippet on this page compares the two.

## Find the notification's ID

Each snippet below names one notification, so your other notifications keep sending. On the **Notifications** page, click the notification's name and look at the address in your browser. The ID is the value after `nid=`, which is `6a4f1c2d9e3c8` in this address:

```
https://example.com/wp-admin/admin.php?page=gf_edit_forms&view=settings&subview=notification&id=12&nid=6a4f1c2d9e3c8
```

## Send the notification only when people edit their own entries

This snippet compares the logged-in user with the person who created the entry. An administrator or Editor who saves someone else's entry sends nothing, and an administrator who saves an entry they created does send the notification.

Someone who edits through a [Magic Links](https://www.gravitykit.com/docs/gravityview-pro/magic-links/getting-started-with-magic-links/) link without logging in isn't a logged-in user, so the snippet skips the notification for that edit, whether or not the entry has a creator.

```
/**
 * Sends a notification only when a logged-in person edits an entry they created.
 *
 * @param bool  $is_disabled  Whether the notification is already disabled.
 * @param array $notification The notification being sent.
 * @param array $form         The form the notification belongs to.
 * @param array $entry        The entry that was edited.
 *
 * @return bool True to skip the notification.
 */
add_filter( 'gform_disable_notification', function ( $is_disabled, $notification, $form, $entry ) {
    // Change this to your notification's ID.
    if ( 'abc123def456' !== rgar( $notification, 'id' ) ) {
        return $is_disabled;
    }

    $user_id = get_current_user_id();

    // Nobody is logged in, or the person saving the edit did not create this entry.
    if ( ! $user_id || (int) rgar( $entry, 'created_by' ) !== $user_id ) {
        return true;
    }

    return $is_disabled;
}, 10, 4 );
```

**Note**: To add this code to your site, follow [Adding custom PHP code snippets to your website](https://www.gravitykit.com/docs/gravityview/customizing-your-views/where-to-put-code-samples/).

To skip the notification for everyone who can moderate entries, use this version instead. It also skips an administrator's edits to their own entries, and it still sends when someone with a custom role edits another person's entry without being able to moderate it.

```
/**
 * Skips a notification when the person saving the edit can moderate entries.
 *
 * @param bool  $is_disabled  Whether the notification is already disabled.
 * @param array $notification The notification being sent.
 *
 * @return bool True to skip the notification.
 */
add_filter( 'gform_disable_notification', function ( $is_disabled, $notification ) {
    // Change this to your notification's ID.
    if ( 'abc123def456' !== rgar( $notification, 'id' ) ) {
        return $is_disabled;
    }

    return GVCommon::has_cap( 'gravityview_moderate_entries' ) ? true : $is_disabled;
}, 10, 2 );
```

**Note**: To add this code to your site, follow [Adding custom PHP code snippets to your website](https://www.gravitykit.com/docs/gravityview/customizing-your-views/where-to-put-code-samples/).

## Skip the notification on a first submission

**GravityView - Entry approval is reset** fires on every new entry, because GravityView gives a new entry the Unapproved status when the form is submitted. On a form with the Approve/Reject field, **GravityView - Entry is approved** or **GravityView - Entry is disapproved** fires on submission too. The notification's settings can't tell a first submission from a later change, so this snippet checks whether the entry was created during the same page request.

If someone edits an entry twice with no approval in between, the second edit doesn't send **GravityView - Entry approval is reset**, because the status is already Unapproved.

```
/**
 * Skips a notification when the entry was created during this request, which means it's a first submission.
 *
 * @param bool  $is_disabled  Whether the notification is already disabled.
 * @param array $notification The notification being sent.
 *
 * @return bool True to skip the notification.
 */
add_filter( 'gform_disable_notification', function ( $is_disabled, $notification ) {
    // Change this to your notification's ID.
    if ( 'abc123def456' !== rgar( $notification, 'id' ) ) {
        return $is_disabled;
    }

    return did_action( 'gform_entry_created' ) ? true : $is_disabled;
}, 10, 2 );
```

**Note**: To add this code to your site, follow [Adding custom PHP code snippets to your website](https://www.gravitykit.com/docs/gravityview/customizing-your-views/where-to-put-code-samples/).

## Skip the notification when a field didn't change

Gravity Forms passes the entry as it was before the edit to its [`gform_after_update_entry`](https://docs.gravityforms.com/gform_after_update_entry/) action. This snippet compares the field you choose in that copy with the saved entry. If they match, it skips the notification with [`gform_disable_notification`](https://docs.gravityforms.com/gform_disable_notification/).

Set `$form_id` to your form's ID, and `$field_id` to the ID that the form editor shows at the top of **Field Settings** when you click the field.

![The form editor with the Company field selected and its ID, 3, outlined at the top of Field Settings](https://www.gravitykit.com/wp-content/uploads/2026/11/gravity-forms-form-editor-field-id.png)Name, Address, and Checkboxes fields store one value per input. Use the main ID, such as `3`, and the snippet compares them all. In a File Upload field, removing a file is a change too, and so is adding or replacing one.

These cases affect the result:

- A field that isn't on the View's Edit Entry layout can't change, so the notification never goes out.
- If conditional logic hides the field during the edit, GravityView clears its value. That counts as a change, and the notification goes out.
- An entry created through the Gravity Forms API can have values rewritten the first time someone saves it. A Phone field's `5035550134` becomes `(503) 555-0134`, a Number field's `1,200.50` becomes `1200.50`, and an Address field's `United States` becomes `US`. Line breaks and rich text can change too. The snippet treats each of these as a change once, even if nobody touched the field.

```
/**
 * Skips a notification when an edit leaves the watched field as it was.
 *
 * Name, Address, and Checkboxes fields store one value per input (3.1, 3.2), so the code compares them all.
 *
 * @param array $form           The form the entry belongs to.
 * @param int   $entry_id       The ID of the entry that was edited.
 * @param array $original_entry The entry as it was before the edit.
 */
add_action( 'gform_after_update_entry', function ( $form, $entry_id, $original_entry ) {
    // Change these to your form's ID, your field's ID, and your notification's ID.
    $form_id         = 100;
    $field_id        = '3';
    $notification_id = 'abc123def456';

    if ( $form_id !== (int) rgar( $form, 'id' ) ) {
        return;
    }

    $get_values = function ( $entry ) use ( $field_id ) {
        $values = array();

        foreach ( $entry as $key => $value ) {
            if ( (string) $key === $field_id || 0 === strpos( (string) $key, $field_id . '.' ) ) {
                $values[ (string) $key ] = (string) $value;
            }
        }

        ksort( $values );

        return $values;
    };

    // The watched field changed, so the notification goes out as usual.
    if ( $get_values( $original_entry ) !== $get_values( GFAPI::get_entry( $entry_id ) ) ) {
        return;
    }

    // Skip the notification for this entry only.
    add_filter( 'gform_disable_notification', function ( $is_disabled, $notification, $notification_form, $entry ) use ( $entry_id, $notification_id ) {
        if ( $notification_id === rgar( $notification, 'id' ) && (int) $entry_id === (int) rgar( $entry, 'id' ) ) {
            return true;
        }

        return $is_disabled;
    }, 10, 4 );
}, 10, 3 );
```

**Note**: To add this code to your site, follow [Adding custom PHP code snippets to your website](https://www.gravitykit.com/docs/gravityview/customizing-your-views/where-to-put-code-samples/).

The snippet also works on a notification that uses **GravityRevisions - Entry is updated, revision is saved**.

If you adapt this code, keep using the action's copy of the entry. A `GFAPI::get_entry()` call in `gravityview/edit_entry/before_update` runs after GravityView has removed any deleted file, so a removed file would compare as unchanged.