No longer receiving User Presence web hooks

Description
I am no longer receiving web hooks on my oAuth app after changing an Event Subscription’s URL.
I created an oAuth app (ID: UtjfMj5pQeOARamRIDD17Q) yesterday and added an Event Subscription for ‘User’s Presence Status has been updated’ and populated the ‘Event notification endpoint URL’ with a URL that was generated by ngrok and pointing towards a service on my local machine. This worked fine. I was able to receive user presence status events.

Today, I changed the ’ Event notification endpoint URL’ to https://api.statusleds.jasonpoindexter.io/status and I am no longer getting User Presence Status updates.

I have manually verified that POST (above URL) receives, logs, and responds with a 200, but I am not getting any POST’s from zoom on User status change.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
OAuth

Which Endpoint/s?
Please see POST url above (I have it my max of 2 links in a new user’s post)

Additional context
I did notice that after I changed the ‘Event notification endpoint URL’ from the ngrok URL to the new endpoint I was still getting webhook POST’s from zoom on the ngrok endpoint. This does not seem intended.

Here is my current eventSubscriptions:

[
  {
    "subscriptionId": "mVGEcxQJRg6Pu7-ZBYEz5Q",
    "applicationId": "UtjfMj5pQeOARamRIDD17Q",
    "events": [
      "602"
    ],
    "eventUsage": "EVENT_FOR_USER",
    "type": "Private_OAuth",
    "publicWebhookUrl": null,
    "privateWebhookUrl": "https://api.statusleds.jasonpoindexter.io/status",
    "name": "User Presence Change",
    "privateSubscriptionId": "mVGEcxQJRg6Pu7-ZBYEz5Q"
  }
]

App Summary:

"summary": {
    "id": "UtjfMj5pQeOARamRIDD17Q",
    "name": "UtjfMj5pQeOARamRIDD17Q",
    "displayName": "LED Status Indicator",
    "version": "1.0",
    "icon": null,
    "description": "LED Status Indicator",
    "type": "Private_OAuth",
    "developerId": "EiKnz4sbQgW4Muz3yPDTww",
    "accountId": "27j5KJLdSz-RtAg174MDCg",
    "status": "CREATED",
    "verificationToken": "REMOVED",
    "usage": "USER_OPERATION",
    "scopes": [
      "user:write",
      "user:read"
    ],
    "redirectUrls": [
      "https://api.statusleds.jasonpoindexter.io",
      "https://api.statusleds.jasonpoindexter.io/auth"
    ],
    "developerType": "THIRD_PARTY",
    "companyName": null,
    "robotFlag": 0,
    "legacy": 0,
    "iconSequence": null,
    "requiredFeatures": [],
    "createdTime": 1587772759000,
    "modifiedTime": 1587779466000,
    "worksWith": []
  },

Any help is much appreciated.

I implemented GET https://api.statusleds.jasonpoindexter.io/status but I am still not able to receive webhook notifications.

Hey @jason_zennify,

Can you try re generating your publishable / test url, and re install the app?

Thanks,
Tommy

@tommy will do. I realize some of these endpoints are old since I have updated my API over the weekend. I will let you know when I have done what you have requested

My app is currently set to “Internet to publish: No” does it need to be set to ‘yes’?

I uninstalled the app, set the app to ‘Intent to publish: Yes’, regenerated the ‘Publishable URL’, and installed. However, I am still not receiving web hook notifications.

Hey @jason_zennify,

Receiving webhooks needs to be POST, not GET. Zoom sends the webhook as a POST request to your server.

Can you double check it is POST? Also, to test this to see the logs, you could create a webhook only app, and then see if the webhooks sent here: https://marketplace.zoom.us/user/logs?type=WebhookOnly

Thanks,
Tommy

Hey @tommy,

Sorry my comment was not very clear. I had made that endpoint in order to make sure that there wasn’t a GET endpoint needed in order for the webhook to do some type of server validation ( which I have see for other services).

I have verified that the webhook POST endpoint is returning 200 (My apps webhook endpoint has changed since my original post)

[
  {
    "subscriptionId": "sma6pQT3TlSCmzRsj_BN8Q",
    "applicationId": "mmmkdfA1T-2KK6OrrTbrLg",
    "events": ["69", "68", "602"],
    "eventUsage": "EVENT_FOR_USER",
    "type": "Draft_OAuth",
    "publicWebhookUrl": "https://api.statusleds.jasonpoindexter.io/zoom/status",
    "privateWebhookUrl": "https://api.statusleds.jasonpoindexter.io/zoom/status",
    "name": "User Presence Change",
    "privateSubscriptionId": "REMOVED"
  }
]

I will need to talk to our zoom admin about getting me developer privileges as I currently cannot create a webhook only app.

@tommy I was able to get developer access and create a webhook-only app using the same POST endpoint https://api.statusleds.jasonpoindexter.io/zoom/status and receiving webhooks.

However, I need an oAuth app for the long run and I am still not receiving webhook notifications through the oAuth App. What do we do from here?

Hey @jason_zennify,

Can you try creating a new OAuth app and see if that fixes the issue?

If not, please send me your OAuth app name and I can debug the issue further.

Thanks,
Tommy

@tommy sure thing.

I created a new oAuth app that is also not emiting webhook events for User Presence change.

name: Work Status LEDs
Id: I3mrqYpQQfeyxI6z8fdEcA

Thank you for your help!

Thanks for the details @jason_zennify,

We are investigating the issue and will get back to you. (ZOOM-160067)

-Tommy

1 Like

Hey @jason_zennify,

This will be fixed in the upcoming release currently slated for this weekend.

Thanks,
Tommy

1 Like

Thank you @tommy I am receiving webhook events now!

1 Like

You are welcome! :slight_smile:

Happy to hear it is working now!

-Tommy