Using this template helps us debug your issues more effectively
Description
When I start a meeting by clicking “host a meeting” then clicking “with video off” it triggers the meeting.created webhook called 4 times in rapid succession.
Error
I return a 204 and it stills calls it 4 times with about 2-3 millisecond delays. This causes rate limit issues when I call other zoom APIs in the webhook.
Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth
Which Endpoint/s?
The meeting.created webhook.
How To Reproduce (If applicable)
Steps to reproduce the behavior:
When I start a meeting by clicking “host a meeting” then clicking “with video off” it triggers the meeting.created webhook called 4 times in rapid succession.
After looking into the logs, we see many “INTERNAL SERVER ERROR” responses from your webhook endpoint url after we send the webhook. This can cause us to resend the webhooks.
Please double check your logs / system to see why this is occurring.
Thanks ya that is expected since in my webhook I am calling other zoom APIs which rate limit me so the first request succeeds and then the other three requests fail due to me being rate limited. Also the documentation says it should retry after 5 minutes, not 2 milliseconds.
This is also being called 4 times for the meeting.started webhook, but that’s not causing issues for me yet since it’s currently a no-op.
Thank you for the update. Looking at your account, I can see that you have installed the Production and Development version of both the “Bluebird” and “Bluebird Old” apps. Looking at these apps, we can see that they use the same Webhook Endpoint for Production and Development.
Because both versions of the apps are installed and both versions use the same endpoint, you will get 2 webhook events delivered from each app for a total of 4. From here, you may want to uninstall one of the apps or change the webhook endpoints so they are different for each app and each version.
Let me know if that makes sense. I hope that helps!
Wow that makes so much sense thanks for the help and sorry for the dumb question due to my misconfiguring. I’ll uninstall the “Old” app, but I have a followup question about what the best practice is with the dev vs prod endpoints.
Let me know if I should open a new ticket, but my question is:
Even if I separate the dev/prod endpoints then both endpoints will be called when a meeting is scheduled and there will be a race and one of them will crash when it tries to update some zoom settings since they’re both attached to the same zoom account. Is it best practice for zoom developers to have two zoom accounts (one for dev and one for prod)? Or what’s the best way to handle this?
I’m glad that was helpful, no need to worry. Typically, you would only have one version of the app installed. You would only install the development version for testing in which case you would know to check the development endpoint.
With that said, you shouldn’t see any crashes on the Zoom side if you are making changes quickly based on the webhooks that you receive.
Instead of having two Zoom accounts, I would make sure that your endpoints operate on two different versions of your application - development and production. That means it’s a separate endpoint that makes changes to a different database.
In this way, your development version would only write to a development database when it is installed. This would separate the two even further and make testing simpler.