Using Gravity Forms ‘gform_entry_list_action_helpscout’ PHP action

I apologize for the confusion. Here are fully functional code examples for each case mentioned earlier:

Add Help Scout note for a specific entry

This example adds a Help Scout note when the ‘gform_entry_list_action_helpscout’ action is triggered for a specific entry.

add_action('gform_entry_list_action_helpscout', 'add_helpscout_note', 10, 2);

function add_helpscout_note($entry_id, $form) {
    // Replace with your Help Scout API key
    $api_key = 'your_helpscout_api_key';

    // Replace with the appropriate Help Scout conversation ID
    $conversation_id = 'your_conversation_id';

    $note_text = "A note added from Gravity Forms entry ID: {$entry_id}";

    $url = "https://api.helpscout.net/v2/conversations/{$conversation_id}/notes";

    $args = array(
        'headers' => array(
            'Authorization' => 'Basic ' . base64_encode($api_key . ':X'),
            'Content-Type' => 'application/json'
        ),
        'body' => json_encode(array(
            'text' => $note_text
        )),
        'method' => 'POST',
        'sslverify' => false,
    );

    $response = wp_remote_request($url, $args);

    if (is_wp_error($response)) {
        error_log("Error adding Help Scout note: " . $response->get_error_message());
    }
}

Send an email to support when Help Scout action is triggered

This example sends an email to support whenever the ‘gform_entry_list_action_helpscout’ action is triggered.

add_action('gform_entry_list_action_helpscout', 'email_support', 10, 2);

function email_support($entry_id, $form) {
    $to = '[email protected]';
    $subject = 'Help Scout action triggered';
    $message = "A Help Scout action was triggered for Gravity Forms entry ID: {$entry_id}";
    $headers = 'From: Gravity Forms <[email protected]>';

    wp_mail($to, $subject, $message, $headers);
}

Log Help Scout action to a custom log file

This example logs the ‘gform_entry_list_action_helpscout’ action to a custom log file.

add_action('gform_entry_list_action_helpscout', 'log_helpscout_action', 10, 2);

function log_helpscout_action($entry_id, $form) {
    $log_file = 'helpscout_action.log';
    $current_time = date('Y-m-d H:i:s');
    $log_message = "[{$current_time}] Help Scout action triggered for Gravity Forms entry ID: {$entry_id}" . PHP_EOL;

    file_put_contents($log_file, $log_message, FILE_APPEND);
}

Update the entry status when Help Scout action is triggered

This example updates the entry status when the ‘gform_entry_list_action_helpscout’ action is triggered.

add_action('gform_entry_list_action_helpscout', 'update_entry_status', 10, 2);

function update_entry_status($entry_id, $form) {
    $entry = GFAPI::get_entry($entry_id);
    $entry['status'] = 'trash';
    GFAPI::update_entry($entry);
}