# Duplicate phone webhook events received

**URL:** <https://devforum.zoom.us/t/duplicate-phone-webhook-events-received/110851>\
**Category:** API and Webhooks\
**Tags:** webhooks\
**Created:** [May 28, 2024, 5:13pm UTC](https://devforum.zoom.us/t/duplicate-phone-webhook-events-received/110851 "2024-05-28T17:13:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ben.acceleraate](https://avatars.discourse-cdn.com/v4/letter/b/58f4c7/32.png) [@ben.acceleraate](https://devforum.zoom.us/u/ben.acceleraate)\
**Post date:** [May 28, 2024, 5:13pm UTC](https://devforum.zoom.us/t/duplicate-phone-webhook-events-received/110851/1 "2024-05-28T17:13:33Z")

</div>

**Duplicate Zoom Phone Webhook Events**  
We’re currently receiving duplicate webhook events for the following webhooks:

- phone.callee\_ringing
- phone.callee\_answered
- phone.recording\_completed
- phone.recording\_transcript\_completed

By far the worst culprit is the transcript endpoint. Since a platform release to Zoom on 19th, we’re now seeing 40 to 50 duplicate event messages per call. All raw event messages are identical apart from the “event\_ts” value. These are all extremely close together, often just milliseconds apart.

We’re doing our best to block duplicates but this isn’t always possible.

Zoom Support are refusing to help here even though I see it as a platform issue and not a developer issue. Our logs clearly show a huge increase in events since 19th May.

Has anyone else experienced this issue? We’re seeing identical behaviour in multiple Zoom accounts.

**How To Reproduce**  
_Steps to reproduce the behavior:_  
\*1. Create a server to server OAuth app  
\*2. Subscribe to Zoom Phone webhooks as listed above  
\*3. Add an endpoint to consume the webhooks  
\*4. Validate the webhooks  
\*5. Make Zoom phone calls  
\*6 Duplicate webhook events are received

Has anyone else seen this, and does anyone know how we can get Zoom Support to take this issue seriously, please?

Thanks for your help,  
Ben

---

<div class="post-metadata">

**Author:** ![ben.acceleraate](https://avatars.discourse-cdn.com/v4/letter/b/58f4c7/32.png) [@ben.acceleraate](https://devforum.zoom.us/u/ben.acceleraate)\
**Post date:** [June 13, 2024, 9:12am UTC](https://devforum.zoom.us/t/duplicate-phone-webhook-events-received/110851/2 "2024-06-13T09:12:58Z")

</div>

If anyone also experiences this, apparently it’s by design to reduce instances of missed webhooks. I’ve been told that you can use the x-zm-trackingid header to deduplicate requests, although be mindful that you get many requests within just a few milliseconds. At the moment, they only send duplicates for the phone.recording\_transcript\_completed event. My original post was incorrect in stating it happened for other events. Although, if it was added by Zoom to address issues with missed webhooks, then I can only assume that it will be added for other Zoom Phone events and then ultimately for other Zoom product webhooks as well. I don’t yet have confirmation on this, but apparently the documentation will be updated.  
So, if you’re consuming webhooks, then it seems that you’ve got to build in functionality to make your webhook endpoint idempotent.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [June 14, 2024, 9:19pm UTC](https://devforum.zoom.us/t/duplicate-phone-webhook-events-received/110851/3 "2024-06-14T21:19:00Z")

</div>

Thanks for sharing this info @ben.acceleraate !

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [June 15, 2024, 9:19pm UTC](https://devforum.zoom.us/t/duplicate-phone-webhook-events-received/110851/5 "2024-06-15T21:19:36Z")

</div>

Closed on June 15, 2024, 9:19pm UTC

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.
