Zoom webhooks are not getting fired in development via ngrok

Description

  1. The webhook for the meeting start and end events are not being fired to my local system via ngrok.

Error?
No error as message as my server isn’t being hit

How To Reproduce

  1. create ngrok parser for your localhost
  2. set that url in event subscription and try to check if it is being hit

Also it was webhook type app only

Note: While validating the url manually ,I. am getting the request

Please verify that you have added events/webhooks URI also inside the allowed list. For more please watch the webhook session → here.

Hi,

Have you subscribed to any other events? If yes are you receiving those? Can you send a POST request to your endpoint and make sure you are receiving the events?

@ojus.zoom @freelancer.nak I am getting the exact same error, created a simple api that sends back the plain token and encrypted token, tested it out with postman but seems like zoom is not sending the request to my url. I configured it with ngrok and everything is running correctly, but zoom gives out and error without even sending a request.

@odynai have you clicked on validate URL first?

Yes, I did click on validate url, and it doesn’t validate it correctly using ngrok

Can you confirm that your logic to validate the URL is correct?

Here is an example that works:

app.post('/webhook', (req, res) => {
  const webhookEvent = req.body.event;
  
  if (webhookEvent === 'endpoint.url_validation') {
    const plainToken = req.body.payload.plainToken;
    const hashedToken = crypto.createHmac('sha256', ZOOM_WEBHOOK_SECRET_TOKEN)
                            .update(plainToken)
                            .digest('hex');
    
    const responseJson = {
      plainToken: plainToken,
      encryptedToken: hashedToken
    };
    
    res.status(200).json(responseJson);
  } else {
    // Handle other webhook events here
    console.log('Received webhook:', req.body);

    // Send a response to acknowledge the webhook
    res.sendStatus(200);
  }
});