# Missing Custom Webhook Header

**URL:** <https://devforum.zoom.us/t/missing-custom-webhook-header/99324>\
**Category:** API and Webhooks\
**Created:** [November 30, 2023, 5:25pm UTC](https://devforum.zoom.us/t/missing-custom-webhook-header/99324 "2023-11-30T17:25:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mokutsu](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/mokutsu/32/27515_2.png) [@mokutsu](https://devforum.zoom.us/u/mokutsu)\
**Post date:** [November 30, 2023, 5:25pm UTC](https://devforum.zoom.us/t/missing-custom-webhook-header/99324/1 "2023-11-30T17:25:59Z")

</div>

### Format Your New Topic as Follows:

**API Endpoint(s) and/or Zoom API Event(s)**  
recording.completed Webhook Event

_Link the API endpoint(s) and/orZoom API Event(s) you’re working with to help give context._  
recording completed webhook: [https://developers.zoom.us/docs/meeting-sdk/webhooks/#operation/recording.completed](https://developers.zoom.us/docs/meeting-sdk/webhooks/#operation/recording.completed)  
webhook verification flow using custom header: [https://developers.zoom.us/docs/api/rest/webhook-reference/#verify-with-your-own-header](https://developers.zoom.us/docs/api/rest/webhook-reference/#verify-with-your-own-header)

**Description**  
I am changing an existing production webhook flow to use the updated “verify with your own header” flow. However, I’m noticing this new custom header is missing from production webhooks. Below are additional details regarding steps taken and how i’ve tested our internal system.

Marketplace settings  
In the zoom marketplace app settings, I have set the configuration to send custom headers and clicked ‘saved’. When I refresh the page, these changes are persisted. Our new custom header is using the standard x-prefix custom header. sample screenshot attached for where we updated it in the UI (actual header differs).

Our Application  
Our internal applications have been updated to accept this new header (anything not in this ‘allow-list’ is stripped out). I have verified this header is accepted when it is set. However, we are getting errors that this header is missing in webhooks sent from zoom (suggests this header is missing in the request).

**Error?**  
The new custom header that we set is absent from the webhooks, see screenshot.

**How To Reproduce**  
_Steps to reproduce the behavior:_  
_1. Request URL / Headers **(without credentials or sensitive info like emails, uuid, etc.)** / Body_  
[https://www.coursera.org/api/zoomEventWebhooks.v1/?action=webhook](https://www.coursera.org/api/zoomEventWebhooks.v1/?action=webhook)

_2. Authentication method or app type_  
Oauth App. Verification using custom header.

_3. Any errors_  
absent headers. see screenshot for sample error we raise for missing header.

Steps taken to verify our internal system works as expected:

1. take existing recording.completed webhook, copy it into postman and add the new custom header / value and send to [https://www.coursera.org/api/zoomEventWebhooks.v1/?action=webhook](https://www.coursera.org/api/zoomEventWebhooks.v1/?action=webhook).

2. verified that this header is present and doesnt throw an error when request is sent this way (ie verifies that our internal system is not stripping out this header).

 ![Screenshot 2023-11-24 at 12.04.19 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/b/5/b5c85c37a6189c6579582d97e1420a2e7628aff1.png)

 ![Screenshot 2023-11-24 at 12.13.04 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/8/0/80a3ff87db8e7d33d09a34de377521d6ddcede03.png)

---

<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:** [December 3, 2024, 9:02am UTC](https://devforum.zoom.us/t/missing-custom-webhook-header/99324/2 "2024-12-03T09:02:32Z")

</div>

Closed on December 3, 2024, 9:02am UTC

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