gform_post_note_added

Description

The “gform_post_note_added” action is triggered after a note is added to an entry in Gravity Forms, allowing further actions to be performed.

Usage

add_action( 'gform_post_note_added', 'your_function_name', 10, 7 );

Parameters

  • $note_id integer
    The ID assigned to the note by the database.
  • $entry_id integer
    The ID of the entry the note was added to.
  • $user_id integer
    Zero or the ID of the user who added the note.
  • $user_name string
    The name of the plugin or the user_name of the user who added the note.
  • $note string
    The note that was added.
  • $note_type string
    The type of the note that was added.
  • $sub_type string
    The subtype of the note that was added.

Examples

Log failed entry

Occasionally, a database error can occur when saving the field values for an entry. This code snippet can be used to create a draft entry from the submitted values and write it to the core log.

add_action( 'gform_post_note_added', function ( $note_id, $entry_id, $user_id, $user_name, $note, $note_type, $sub_type ) {
	if ( $note_type !== 'save_entry' || $sub_type !== 'error' ) {
		return;
	}

	$entry     = GFFormsModel::get_current_lead();
	$log_entry = json_encode( $entry, JSON_INVALID_UTF8_SUBSTITUTE );
	if ( ! $log_entry ) {
		$log_entry = $entry;
	}

	GFCommon::log_debug( "gform_post_note_added: Draft entry based on values for failed entry (#{$entry_id}) => " . print_r( $log_entry, true ) );

	global $wpdb;
	GFCommon::log_debug( 'gform_post_note_added: gf_entry_meta meta_value charset = ' . print_r( $wpdb->get_col_charset( GFFormsModel::get_entry_meta_table_name(), 'meta_value' ), true ) );

}, 10, 7 );

Send notifications configured for the custom event note_added

The following example assumes you have already added a custom notification event with the filter gform_notification_events defined as ‘note_added’. It will check if there’s any active notification configured for that event, and process them if any.

add_action( 'gform_post_note_added', 'send_note_added_notifications', 10, 2 );
function send_note_added_notifications( $insert_id, $entry_id ) {

	GFCommon::log_debug( __METHOD__ . "(): Running for entry id {$entry_id}" );

	$entry   = GFAPI::get_entry( $entry_id );
	$form_id = rgar( $entry, 'form_id' );
	$form    = GFAPI::get_form( $form_id );

	// Replace note_added with the name you have used to define your event
	$event = 'note_added';

	$notifications_to_send = GFCommon::get_notifications_to_send( $event, $form, $entry );

	$log_notification_event = empty( $notifications_to_send ) ? 'No notifications to process' : 'Processing notifications';
	GFCommon::log_debug( "gform_post_note_added: {$log_notification_event} for {$event} event." );

	if ( ! empty ( $notifications_to_send ) ) {
		GFAPI::send_notifications( $form, $entry, $event );
	}
}

Source Code

This action hook is located in forms_model.php.