Event notification endpoint URLs need validation again after awhile

Hey, We are facing the exact same issue too. The manual validation works and we receive the webhook data correctly. But after some time, the validation fails and we are unable to receive the webhook data. This is very critical to our business so, please let us know how to fix it.

Update: Now the Endpoint URL is not validating at all. Let us know how to fix this asap as this is very critical to us.

Hi @trainingevents
Sorry to hear that, are you still not able to validate your endpoint url?

I’m getting this issue.

I’m able to manually validate without an issue, but the automatic revalidation fails. Any ideas?

Hi @george4
Thanks for reaching out to us and welcome to our community, here is a link to our Docs on how to validate your endpoint and also please take a look at the Revalidation for revalidation details:
https://developers.zoom.us/docs/api/rest/webhook-reference/#validate-your-webhook-endpoint

https://developers.zoom.us/docs/api/rest/webhook-reference/#revalidation

@elisa.zoom I’m experiencing a similar issue with the revalidation of webhook for my Server-to-Server OAuth app.
I have followed the steps outlined in your documentation to validate my endpoint URLs. Initially, I successfully completed the manual validation process and received the confirmation. However, I have noticed that the automatic revalidation process fails, and I receive a notification stating, “Your webhook endpoint failed to respond to our validation request.”

Despite the manual validation being successful, I am puzzled as to why the automatic revalidation is not functioning as expected. Please advise me on any adjustments I should make to my configuration to resolve this issue This is the code I used for validation in NodeJs

const generateHash =  (signingSecret, data) => crypto.createHmac('sha256', signingSecret).update(data).digest('hex')

 const isValidZoomRequest = (options) => {
  const { plainToken, signingSecret, headers, body } = options
  const message = `v0:${headers['x-zm-request-timestamp']}:${JSON.stringify(body)}`
  const hashForVerify = crypto.createHmac('sha256', signingSecret).update(message).digest('hex')

  const signature = `v0=${hashForVerify}`
  if (headers['x-zm-signature'] === signature) {
    const hashForValidate = generateHash(signingSecret, plainToken)
    return { plainToken, encryptedToken: hashForValidate }
  }
}

Having the issue sporadically here as well. 99% of the time we have no issues with the revalidation, but over the last couple of months we have had 2 times when Zoom claims our side was unresponsive. However, our logs clearly show we did respond within 1 second with the correct data. We have a message now claiming that if this happens again the webhooks will stop working. This is a bit worrying. Worth noting we have this same sporadic issue on two of our accounts, where everything works great, and then randomly Zoom sends a failed validation email.

@elisa.zoom

Hello Elisa,

I recently watched your YouTube video about Webhooks, and I found it very informative. I’ve been trying to implement the endpoint addition as demonstrated in your video, but I’ve encountered some challenges.

Unlike the ‘ngrok’ setup you mentioned, I’m using Zoho Flow, which is similar to Zapier. I’ve attached a screenshot for your reference.

However, in Zoho Flow, the payload response is captured. Please refer screenshot.

I would greatly appreciate your assistance with this issue. Thank you in advance.

1 Like

@elisa.zoom - Please help - thanks.

Hi @gopal2

Can you please make sure that Zoho Flow has the endpoint validation logic on their end?
Their endpoint has to be able to respond to us in order to validate your url