Not receiving webhooks for customer but receiving webhooks for our own account

API Endpoint(s) and/or Zoom API Event(s)

Webhook events:

  • meeting.participant_joined
  • meeting.participant_left

Description

We just had our first customer OAuth with our Zoom app, and we have not received any webhook events for their account.

We have successfully received webhook events for our own account, so I don’t think anything is broken on our end. I have checked the recommended support links for webhooks, and as far as I can tell I’m doing everything correctly.

I confirmed that our app is configured with “All users in the account” checked off for the “Event notification receiver” option in the webhook config.

I do not know for certain that the customer has performed any actions that would trigger a webhook event, but I strongly suspect that we should have received at least one since they are a 60 person company and they connected their account last night.

We have been able to successfully make calls to the API to access their data, so I don’t think there is a problem with the connection or their credentials.

We don’t have any services sitting in front of our site that could potentially filter out requests. I looked at the logs for our web gateway (which is the first part of the system that gets hit by a request) and there are no logs for Zoom webhooks except those triggered by my own company’s Zoom account.

I checked the OAuth flow and I don’t think there’s any way for the customer to specifically deny webhooks being sent when they add our Zoom app.

We have been published and we have not made any changes to our app since being published.

I’m a bit stumped on this one. The fact that it’s working for our own account but not theirs makes me think that either:

  1. Our own Zoom account gets special behavior and I need to configure some option to specifically make this work for external accounts
  2. They have some non-standard config on their end that could be making this fail
  3. Everyone at their company joins Zoom meetings without logging in, or they don’t use their company Zoom users
  4. They really have not had a single employee join or leave a meeting all day

We’re demoing the product to them in 2 hours, so I’m hoping to get to the bottom of this by then.

How To Reproduce

Unfortunately, I’m not sure how to suggest reproducing this since it’s not an error but rather the absence of a webhook event. The only way I can think of to repro would be to perform an action in our customer’s Zoom account and observe that the webhook event did not appear in our system logs.

1 Like

Hi,

If its an OAuth app, it needs to be published in our marketplace before external users can use it in their account.

Here are details on how to do it : https://developers.zoom.us/docs/distribute/

Thanks

1 Like

Hi Ojus - our app was approved and published last week:

Link is here: Swivvel in App Marketplace

Would love further guidance! Thanks.

It sounds like you have done a thorough investigation of the issue. Here are a few additional things you could try:

  1. Double-check that you have the correct webhook URL configured in your Zoom app settings for the customer’s account. If the URL is incorrect, the webhook events won’t be sent to your system.
  2. Verify that the customer has granted your app the necessary permissions to access their account. You can check this by making a request to the Zoom API using the customer’s access token.
  3. Check if there are any firewalls or security settings on the customer’s network that could be blocking the webhook requests. If possible, you could ask the customer to check their server logs to see if any requests from Zoom are being blocked.
  4. Make sure that you are subscribed to the correct webhook events for the customer’s account. You can check this in the webhook configuration settings for the customer’s account.
  5. Finally, you may want to consider reaching out to Zoom support to see if they can provide any additional insights or troubleshooting steps for webhook issues. They may be able to help identify any specific issues with the customer’s account or configuration.

Hi Ahmed,

Thanks for replying.

Double-check that you have the correct webhook URL configured in your Zoom app settings for the customer’s account.

Is there a way to configure webhook URLs on a customer-by-customer basis? I am certain we have the correct webhook URL in our Zoom App settings since we have been receiving webhooks for our own account. But I have not seen any way to override the URL for a specific customer.

Verify that the customer has granted your app the necessary permissions to access their account. You can check this by making a request to the Zoom API using the customer’s access token.

We are able to successfully make requests to the Zoom API using their access token.

Check if there are any firewalls or security settings on the customer’s network that could be blocking the webhook requests. If possible, you could ask the customer to check their server logs to see if any requests from Zoom are being blocked.

Is there a way that the customer’s network could impact webhook events being delivered to our system? Actually, I think I should clarify - we don’t deploy our app on-premise for customers. All webhook events are delivered to our own servers.

Make sure that you are subscribed to the correct webhook events for the customer’s account. You can check this in the webhook configuration settings for the customer’s account.

Same question as above about customer-specific settings, but I know that our global settings are correct since we are receiving webhooks for our own account.

Finally, you may want to consider reaching out to Zoom support to see if they can provide any additional insights or troubleshooting steps for webhook issues. They may be able to help identify any specific issues with the customer’s account or configuration.

I did reach out to Zoom support, but they directed me to post on the developer forum.

Thanks,
Cedric

Update on the situation:

We suddenly started receiving some webhook events for our beta customer, but it seems like we are not receiving every event. We only seem to be receiving events for meetings that are associated with the user who used OAuth to add our app.

I have triple checked that we have the following setting in our Zoom app settings:

Event notification receiver

[x] All users in the account
[ ] Only users added this app

Also, we had our second beta customer re-OAuth, and we then suddenly started receiving webhook events for them. We are going to try this with the first beta customer, but we are very confused about why it was necessary for our customer to re-OAuth.

My understanding is that you only need to refresh the access token, but webhooks should continue functioning without refreshing anything. Is that correct?

Hi @cedric-swivvel
Thanks for reaching out to us! I am happy to help here!
I see you are having issues with some of the webhook events that you have in your app.
Just to clarify, in order to receive webhooks from external users, they must authorize the app in their account.

Have you made any changes to the app that could have impacted the first beta customer that is not receiving events?

Hi Elisa,

Our external users have authorized our app. We are receiving some webhooks for them, but definitely not all of them.

For example, today we received a total of 11 meeting.participant_joined events. But the customer has a team of 60, so we are positive that there should have been more than 11 meeting.participant_joined events provided to our system today.

One potential pattern that is interesting: every meeting for which we received events has the user who OAuth’d as a participant. Here are the events we received for the beta customer today (names and meeting topics changed for privacy):

       occurredAt        |   displayName    |     type      |        topic         
-------------------------+------------------+---------------+----------------------
 2023-04-11 14:49:41.308 | User A           | JOINED        | Meeting A
 2023-04-11 14:49:49.148 | User B           | JOINED        | Meeting A
 2023-04-11 15:20:16.045 | User A           | MEETING_ENDED | Meeting A
 2023-04-11 15:20:17.958 | User A           | LEFT          | Meeting A
 2023-04-11 15:20:18.012 | User B           | LEFT          | Meeting A
 2023-04-11 15:20:44.304 | User A           | JOINED        | Meeting A
 2023-04-11 15:21:25.014 | User C           | JOINED        | Meeting A
 2023-04-11 15:23:53.402 | User C           | LEFT          | Meeting A
 2023-04-11 15:25:08.081 | User C           | JOINED        | Meeting A
 2023-04-11 15:33:54.051 | User A           | MEETING_ENDED | Meeting A
 2023-04-11 15:33:54.714 | User C           | LEFT          | Meeting A
 2023-04-11 15:33:55.946 | User A           | LEFT          | Meeting A
 2023-04-11 18:34:40.7   | User A           | JOINED        | Meeting A
 2023-04-11 18:34:46.091 | User D           | JOINED        | Meeting A
 2023-04-11 18:50:02.113 | User B           | JOINED        | Meeting A
 2023-04-11 19:16:54.785 | User D           | LEFT          | Meeting A
 2023-04-11 19:29:59.481 | User A           | MEETING_ENDED | Meeting A
 2023-04-11 19:30:00.551 | User B           | LEFT          | Meeting A
 2023-04-11 19:30:02.798 | User A           | LEFT          | Meeting A
 2023-04-11 20:04:51.205 | User A           | JOINED        | Meeting B
 2023-04-11 20:14:21.621 | User B           | JOINED        | Meeting B
 2023-04-11 20:36:36.383 | User E           | JOINED        | Meeting B

User A is the user that OAuth’d with our Zoom app, and happens to be associated with every meeting for which we received events. This pattern holds true for other days as well.

The table above is a complete list of the webhook events that our system received today. We have confirmed with the customer that there were a lot more meetings happening today than just the ones listed above.

Thanks for sharing more details with me @cedric-swivvel
I will follow up in a private message so I can investigate this issue further

Hi @cedric-swivvel
I followed up in a private message. I will send another

Update on this issue: our customers removed our app from their Zoom accounts and then re-OAuth’d and we started receiving webhook events again after that.

The underlying cause is still unknown, however.

I am sorry for te inconvenience @cedric-swivvel
I am happy to hear that you are receiving events as well and please feel free to reach out to me if anything similar comes up.