Filters for modifying webhook payloads before delivery to external services.
formforge_webhook_payload
Modify the webhook JSON payload before it is sent. Receives the payload, form object, submission data, and submission ID.
Add metadata and remove sensitive fields:php
add_filter( 'formforge_webhook_payload', function( $payload, $form, $data, $submission_id ) {
$payload['source'] = 'wordpress';
$payload['environment'] = wp_get_environment_type();
// Remove sensitive fields
unset( $payload['fields']['field_ssn'] );
unset( $payload['fields']['field_password'] );
return $payload;
}, 10, 4 );php
add_filter( 'formforge_webhook_payload', function( $payload, $form, $data, $submission_id ) {
$flat = [];
foreach ( $payload['fields'] as $id => $field ) {
$flat[ $field['label'] ] = $field['value'];
}
$payload['flat_fields'] = $flat;
return $payload;
}, 10, 4 );php
add_filter( 'formforge_webhook_payload', function( $payload, $form, $data, $submission_id ) {
$secret = get_option( 'my_webhook_secret', 'default-secret' );
$payload['auth_token'] = hash_hmac( 'sha256', wp_json_encode( $payload ), $secret );
$payload['timestamp'] = time();
return $payload;
}, 10, 4 );—