Using Gravity Forms ‘gform_pre_process_async_notifications’ PHP action

The gform_pre_process_async_notifications Gravity Forms action hook allows you to perform custom actions just before the background processor sends queued notifications.

Table of contents

Usage

Add the following code to use the action hook:

add_action('gform_pre_process_async_notifications', 'your_function_name', 10, 5);

Parameters

  • $event (string): The event the notifications are to be sent for. Default is form_submission.
  • $notifications (array): An array containing the IDs of the notifications to be sent.
  • $form (Form Object): The form currently being processed.
  • $entry (Entry Object): The entry currently being processed.
  • $data (array): An array of data which can be used in the notifications via the generic {object:property} merge tag. Defaults to empty array.

More information

See Gravity Forms Docs: gform_pre_process_async_notifications

This action hook was added in Gravity Forms v2.7.1.

Examples

Modify Notification Email Subject

To modify the notification email subject before it’s sent, use the following code:

function modify_email_subject($event, $notifications, $form, $entry, $data) {
    foreach ($notifications as $notification_id => $notification) {
        $notifications[$notification_id]['subject'] = 'Custom Subject: ' . $notification['subject'];
    }
    return $notifications;
}
add_action('gform_pre_process_async_notifications', 'modify_email_subject', 10, 5);

Add Custom Data to Notification

Add custom data to the notification that can be used as a merge tag:

function add_custom_data($event, $notifications, $form, $entry, $data) {
    $data['custom_data'] = 'Your custom data here.';
    return $data;
}
add_action('gform_pre_process_async_notifications', 'add_custom_data', 10, 5);

Log Notifications Before Sending

Log notification details before they are sent:

function log_notifications($event, $notifications, $form, $entry, $data) {
    error_log(print_r($notifications, true));
}
add_action('gform_pre_process_async_notifications', 'log_notifications', 10, 5);

Conditionally Send Notifications

Send notifications only if a specific condition is met:

function conditional_notifications($event, &$notifications, $form, $entry, $data) {
    if ($entry['1'] != 'send') {
        $notifications = array();
    }
}
add_action('gform_pre_process_async_notifications', 'conditional_notifications', 10, 5);

Modify Notification Recipient

Change the recipient email address for notifications:

function modify_recipient($event, $notifications, $form, $entry, $data) {
    foreach ($notifications as $notification_id => $notification) {
        $notifications[$notification_id]['to'] = '[email protected]';
    }
    return $notifications;
}
add_action('gform_pre_process_async_notifications', 'modify_recipient', 10, 5);

Leave a Comment

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