The gform_webhooks_request_args filter allows you to modify webhook HTTP request arguments in Gravity Forms.
Usage
add_filter('gform_webhooks_request_args', 'your_function_name', 10, 4);
Parameters
$request_args(array): HTTP request arguments.$feed(Feed Object): The feed object.$entry(Entry Object): The current entry.$form(Form Object): The form object.
More information
See Gravity Forms Docs: gform_webhooks_request_args
Place the code in the functions.php file of your active theme. The filter is located in GF_Webhooks::process_feed() in gravityformswebhooks/class-gf-webhooks.php.
Examples
Set the “From” Header
add_filter('gform_webhooks_request_args', 'set_args', 10, 4);
function set_args($request_args, $feed, $entry, $form) {
$request_args['headers']['From'] = '[email protected]';
return $request_args;
}
Set the WP REST API Cookie Authentication Arguments
Add the “cookies” argument and the “X-WP-Nonce” header to authenticate a request to the local WordPress REST API for the currently logged-in user.
add_filter('gform_webhooks_request_args', function($request_args, $feed) {
$request_url = rgars($feed, 'meta/requestURL');
if (strpos($request_url, '{rest_api_url}') === 0 || strpos($request_url, rest_url()) === 0) {
$request_args['cookies'] = $_COOKIE;
$request_args['headers']['X-WP-Nonce'] = wp_create_nonce('wp_rest');
}
return $request_args;
}, 10, 2);
Set the WP REST API Basic Authorization Header
Add the Basic Authorization header to authenticate a request to the local WordPress REST API. This method requires additional plugins.
add_filter('gform_webhooks_request_args', function($request_args, $feed) {
$request_url = rgars($feed, 'meta/requestURL');
if (strpos($request_url, '{rest_api_url}') === 0 || strpos($request_url, rest_url()) === 0) {
$request_args['headers']['Authorization'] = 'Basic ' . base64_encode(USERNAME_HERE . ':' . PASSWORD_HERE);
}
return $request_args;
}, 10, 2);