Webhook Timeout occurred, but will retry soon

Hi,

I’ve seen similar questions about this before but can’t see that the solutions apply in my case. I’ve created a webhook which is correctly being trigged as can be seen in the Hubspot log at Automation UI Canvas

Looking at the apache access log on my server no request is ever received via my target url https://test.yourdolphin.com/unsubscribe/fromhs.php yet if you go directly to that url in a browser it’s just fine. The SSL vertificate on the server is valid and in date.

Neil

Hi @NFortin ,
A webhook shows that result in the history page of the workflow when it has not received a valid response. In my case I had to set a valid HTTP response in order to debug the issue a bit further.
In your case, it seems as if the URL is never reached, but just to be sure, could you check if you send a response when a ‘POST’ is made to the file?

My endpoint script does not send a response, what response is required? However the endpoint is never reached, no incoming requests from Hubspot are present in the apache2 log file.

Hi @NFortin , Any HTTP response should work. Best to send just a default HTTP response with a success or error message. Remember, when you open the URL through your browser, it is a GET request. A HubSpot webhook sends a POST request with an object attached.
My best guess is to set a HTTP response and check if your file handles the POST requests correctly.

@NFortin You could also use Postman to test what happens when you send a POST request. You could temporarily set the webhook to point to https://webhook.site/ where you can get a unique URL to send the POST request to. In Postman, you could than simulate the POST request to your endpoint to analyze the response.

OK, so I create this test script on a different server:-

<?php
//The url you wish to send the POST request to
$url = ‘https://test.yourdolphin.com/unsubscribe/fromhs.php’;

$data = array(‘key1’ => ‘value1’, ‘key2’ => ‘value2’);

// use key ‘http’ even if you send the request to https://…
$options = array(
‘http’ => array(
‘header’ => “Content-type: application/x-www-form-urlencoded\r\n”,
‘method’ => ‘POST’,
‘content’ => http_build_query($data)
),
“ssl”=>array(
“verify_peer”=>false,
“verify_peer_name”=>false
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

var_dump($result);
?>

I modified my endpoint script for the webhook to echo “OK!”, it also writes the result of print_r($_POST) into a log file.

Running the test script above the var_dump($result) prints ’ string(3) “OK!”’ so its getting that response. The print_r($_POST) in my enpoint script is correctly showing:-

Array
(
[key1] => value1
[key2] => value2
)

so the POST request is working just fine.

Hi @NFortin , I tried sending a POST request to your URL (https://test.yourdolphin.com/unsubscribe/fromhs.php) through Postman and I think I have found the issue.


When I disable the SSL verification, I do get a response. So I guess the HubSpot webhook is not passing because of the SSL issue.