What is a Webhook?
Webhooks are a way for apps to communicate with each other. They allow you to send automated messages from one app to another when something happens. These messages contain information (known as payload) which are sent to a unique URL destination.
How can webhooks be used with Proof?
A webhook integration is an alternative method for capturing new conversions for your Proof notifications. This is an advanced option that should be implemented by a web developer.
Webhook setup instructions
Step 1 – Create a webhook endpoint
Inside the Proof app you can create a webhook endpoint – it's a unique URL where Proof will receive your webhook information. Make sure to POST webhook messages to this url in JSON format.
- Edit a campaign
- Go to Step 2 'Capture'
- Click the 'Webhook' button
- Then click the 'Custom Webhook' button
- Here you'll see a page where you can create a webhook endpoint
Step 2 – Setup your HTTP Post
Your data should be sent in the request body as "application/json" content.
Please include the following fields in your webhook (case sensitive):
Please note that the following data will need to be matched with custom variables associated with your web platform (
type field will always be matched to the
You'll need to send as JSON format type
Webhook example (in PHP)
// Proof Webhook
$l_asJson = array(
'type' => 'custom',
'email' => $_POST['email'],
'first_name' => $_POST['first_name']
$l_sUrl = YOUR WEBOOK;
$l_sRequest = json_encode( $l_asJson );
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' ) );
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_URL, $l_sUrl );
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, $l_sRequest );
$l_sReturn = curl_exec($ch);
Frequently Asked Questions
What if the webhook captures a prospects full name, but we only want to display their first name? Not a problem at all! Proof has a setting that will automatically strip the last name from the webhook if you send us the full name. That will ensure only the first name is being displayed.
Can I use a secure HTTPS webhook url in my POST requests?YES, you absolutely can and we recommend it.
How are duplicate email contacts handled?
If you send Proof two email contacts with duplicate email addresses, then your original email contact will get removed and replaced with the new contact.