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

Hey @tommy we’ve run into the same issue too. This was working fine until 6th June and has since stopped sending any outgoing webhooks. Not able to see any hooks in the App Activity log after June 6th and we didnt change the outgoing url or anything either.

https://marketplace.zoom.us/develop/apps/ktWUE4oGQgCyzKJkmA9B6Q/feature is the marketplace url we have if that helps.

Hey @viv,

I looked in your logs and I do see the User Presence Webhooks being sent. Are you still seeing this issue?

Thanks,
Tommy

1 Like

Hey @tommy cheers for the reply. I actually resolved it by creating a new app with the same scope and it then started firing the hooks from the new and the old app. The activity log in the original app should still show the gap from after June-6th I think till when the new app was created where no hooks were fired btw if that helps.

So yes was manage to get it to work again but not sure what caused it to stop in the first place and why creating a new clone app resumed the hooks.

1 Like

Hey @viv,

That is strange! Let me know if you see this issue again and I will look into the root cause.

Happy to hear creating a new app fixed the issue.

Thanks,
Tommy