Receiving duplicate events sometimes

Description
We have an app in the marketplace and for some events, but not all of them, we receive duplicate events.

Error
It’s a duplicate event.

Which App?
Zapier

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Install App
  2. Create a New Recording for one account, or add a new Webinar Registrant for another
  3. Note that you get two events.

Screenshots (If applicable)
If applicable, add screenshots to help explain your problem.

Additional context

  1. The events come through with the same authorization header, so they’re clearly coming from the same app
  2. The events all go to the same URL, so I know they’re duplicate production (not staging/dev) events
  3. The events have the same X-Zm-Trackingid header, but they have different X-Request-Id headers
  4. I have opened ticket 11140441 on this, but they said they couldn’t help me.
  5. There is also an internal Jira ZOOM-277107 on this, but their last suggestion, to publish the app, doesn’t make sense since (i) it’s already in a Published state, not Draft, and (ii) this isn’t happening for all events, just some, which makes me not believe it has anything to do with the app’s state

Hey @partners ,

Double check you are sending a 200 OK response after receiving the webhook event. If we do not receive this, then we will continue to send the event as we assume the request failed.

Thanks,
Tommy

Hi @tommy ,

Yes, we send 200 every time, and I checked on these duplicate requests as well. Furthermore, the events come in with 100 ms of each other and only ever come once or twice (never more), so I don’t think it’s that we’re not sending a 200 back. These seem to be duplicate events

Follow-up question, @tommy … if we were to try to roll our own solution to this problem, can you confirm that we can use the X-Zm-Trackingid to de-duplicate? I’ve only done a little bit of sampling of the data, but it appears to be unique except in the case of these duplicate events. Can you please confirm that would work? Is there documentation on that header somewhere?

UPDATE: This page says of X-Zm-Trackingid, “Unique identifier that Zoom uses to identify the request.” so that seems like a pretty good thing to use for de-duplication if we can get that going. (Would still love to see Zoom fix the issue tho)

Hi @partners,

If you’re receiving the duplicate events within milliseconds of each other, can you please double check that you don’t have another event subscription under this or another app under your account?

A few places to look:

  • Confirm that you’re not receiving development and production events at the same URL (only applicable for an OAuth app)
  • Double check that you don’t have another webhook, jwt, or oauth app that is subscribed to the same event

Let me know—thanks!
Will

Hi @will.zoom ,

That’s correct, we have neither of this things happening. We know it’s from the same Marketplace app since they come through with an identical verification token. And we only have the one published app anyway.

And our development and production events come to another URL.

Thanks

Thanks, @partners,

One more thing to check—can you confirm if the event_ts field for the two payloads is the same?

Thanks,
Will