# OAuth and webhooks in multiple environments

**URL:** <https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717>\
**Category:** App Marketplace\
**Created:** [August 5, 2022, 6:38am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717 "2022-08-05T06:38:06Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [August 5, 2022, 6:38am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/1 "2022-08-05T06:38:07Z")

</div>

I have 3 environments.

1. [https://example.com](https://example.com)
2. [https://sub1.example.com](https://sub1.example.com)
3. [https://sub2.example.com](https://sub2.example.com)

I would like to use OAuth and webhook in 3 environments in one app.

To support all domains, should I set the Redirect URL for OAuth to “[https://any.example.com](https://any.example.com)”?  
In addition, should I set “[https://example.com](https://example.com)” in Add allow lists?

Also, should I set “[https://any.example.com/endpointurl](https://any.example.com/endpointurl)” for the Endpoint URL of the Deauthorization notification?

Also, should I set “[https://any.example.com/notification](https://any.example.com/notification)” for the webhook Event notification endpoint URL?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 8, 2022, 1:00pm UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/2 "2022-08-08T13:00:26Z")

</div>

Hi @taki22

Thanks for reaching out to the Zoom Developer Forum, I am happy to help here!  
Please refer to the Documentation here:

> **[Zoom Developer Docs](https://marketplace.zoom.us/docs/guides/auth/oauth/#using-multiple-environments)**
>
> The Zoom Developer Platform is an open platform that allows third-party developers to build applications and integrations upon Zoom’s video-first unified communications platform.

Hope this helps,  
Elisa

---

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [August 22, 2022, 4:01am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/3 "2022-08-22T04:01:52Z")

</div>

Hi @elisa.zoom

Is there a way to set notification endpoint URL in development environment ([https://sub1.example.com/notificationendpointurl](https://sub1.example.com/notificationendpointurl)) and production environment ([https://example.com/notificationendpointurl](https://example.com/notificationendpointurl)) respectively?

If not possible, should I set the production environment’s notification endpoint URL ([https://example.com/notificationendpointurl](https://example.com/notificationendpointurl) ) when reviewing the app?

If the development environment’s notification endpoint URL ([https://sub1.example.com/notificationendpointurl](https://sub1.example.com/notificationendpointurl)) is not set, will this cause problems when reviewing or updating the app?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 22, 2022, 11:31am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/4 "2022-08-22T11:31:09Z")

</div>

Hi @taki22

Thanks for sharing more details with me.  
When you say notification endpoint URL, are you referring to the URL that will be receiving webhook events?

And when our team reviews the app, they do it with the Production credentials, since they will be reviewing the app as if they were the final users/customers so the development credentials are specifically for you for testing purposes.

Hope this helps,  
Elisa

---

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [August 23, 2022, 1:50am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/5 "2022-08-23T01:50:55Z")

</div>

Hi @elisa.zoom

> When you say notification endpoint URL, are you referring to the URL that will be receiving webhook events?

Yes, that’s right.  
Of the webhook events, it is a deauthentication notification.  
information \> Deauthorization notification \> Endpoint URL.

1. I am asking whether it is possible to set the deauthentication notification endpoint URL separately in the development environment and the production environment.

2. If it is impossible to set both in the development environment and the production environment, is the answer that if you set only the deauthentication notification endpoint URL in the production environment, you can pass the inspection without any problems?

> And when our team reviews the app, they do it with the Production credentials, since they will be reviewing the app as if they were the final users/customers so the development credentials are specifically for you for testing purposes.

1. At the time of the review, you answered that you would use the information of the production environment, but does Zoom use the information of the development environment?

2. There is the following description in the APP settings.  
“Zoom will only use these credentials to test App Update requests.”  
We believe that Zoom will use the development environment information when updating the APP.  
If you set only the deauthentication notification endpoint URL of the production environment when updating the APP, will there be any problems such as failing the review?  
“Redirect URL for OAuth” or “Webhook Event notification endpoint URL”  
can set two information for development environment and production environment, but it is difficult to set because only one deauthentication notification endpoint URL can be set.

---

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [August 29, 2022, 1:11am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/6 "2022-08-29T01:11:28Z")

</div>

Hi @elisa.zoom

Do you think it will take a long time to answer?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [August 29, 2022, 7:28pm UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/7 "2022-08-29T19:28:00Z")

</div>

Hi @taki22  
I apologize for the late response.

About the previous questions you reached out about:

> 1. I am asking whether it is possible to set the deauthentication notification endpoint URL separately in the development environment and the production environment.

You can use separate environments yes.

> 1. If it is impossible to set both in the development environment and the production environment, is the answer that if you set only the deauthentication notification endpoint URL in the production environment, you can pass the inspection without any problems?

If the deauthentication notification endpoint URL is properly set up and working in the production environment there should be no issues with funcitonal testing.

> 1. At the time of the review, you answered that you would use the information of the production environment, but does Zoom use the information of the development environment?

Our Marketplace team only uses development credentials once your app is published in the Marketplace and you are making an Update request to your published app.

> 1. There is the following description in the APP settings.  
> “Zoom will only use these credentials to test App Update requests.”  
> We believe that Zoom will use the development environment information when updating the APP.  
> If you set only the deauthentication notification endpoint URL of the production environment when updating the APP, will there be any problems such as failing the review?  
> “Redirect URL for OAuth” or “Webhook Event notification endpoint URL”  
> can set two information for development environment and production environment, but it is difficult to set because only one deauthentication notification endpoint URL can be set.

I am not sure I understand this last question. But there is only one Deauthentication notification endpoint and the Redirect URL for OAuth might be different for production and development. If you are submitting your app for review, our team will use production credentials.

Once your app is published and if you want to make an update, then the team will use the development credentials.

Hope this helps  
Elisa

---

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [August 31, 2022, 9:10am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/8 "2022-08-31T09:10:48Z")

</div>

Hi @elisa.zoom

I’m asking again because the problem is still not resolved.

For development purposes, we need to set the deauthentication notification endpoint URL in development and production environments respectively.

Deauthorization notification \> Endpoint URL  
Production environment “[https://example.com/endpointurl](https://example.com/endpointurl)”  
Development environment “[https://develop.example.com/endpointurl](https://develop.example.com/endpointurl)”

However, only one Deauthorization notification\>Endpoint URL can be set in the APP settings. Because there is only one input field.

 ![スクリーンショット 2022-08-31 18.00.03](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/8/a/8aebf1fdd6e9444945d52e5d03d307b28dd7e1a0.png)

If only one can be set, we plan to set the production environment information “[https://example.com/endpointurl](https://example.com/endpointurl)”.

As far as I can confirm the answer, the deauthentication notification endpoint URL ([https://example.com/endpointurl](https://example.com/endpointurl)) works normally, because the information in the production environment is used when conducting the APP review.  
I think I will pass the examination without any problems.

However, in the future, if you make any updates to this APP and make an update request, the deauthentication notification endpoint URL ([https://example.com/endpointurl](https://example.com/endpointurl)) will be the information of the production environment.  
It is not the development environment information ([https://develop.example.com/endpointurl](https://develop.example.com/endpointurl)).  
Is there a problem that the information is not in the development environment and the update request fails?  
Or will the update request succeed without any problems even if it is information from the production environment?

---

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [September 6, 2022, 2:10am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/9 "2022-09-06T02:10:34Z")

</div>

Hi @elisa.zoom

Is my understanding correct?

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 6, 2022, 1:03pm UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/10 "2022-09-06T13:03:08Z")

</div>

Hi @taki22  
Your understanding is correct.  
The update request will be successful even if your deauthorization endpoint URL is set to the production environment.

---

<div class="post-metadata">

**Author:** ![taki22](https://avatars.discourse-cdn.com/v4/letter/t/9e8a1a/32.png) [@taki22](https://devforum.zoom.us/u/taki22)\
**Post date:** [September 7, 2022, 5:55am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/11 "2022-09-07T05:55:51Z")

</div>

Hi @elisa.zoom

Thank you for your kind response.  
My doubts have been resolved.

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [September 7, 2022, 11:36am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/12 "2022-09-07T11:36:19Z")

</div>

I am happy to help 🙂 @taki22

---

<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:** [September 11, 2023, 3:12am UTC](https://devforum.zoom.us/t/oauth-and-webhooks-in-multiple-environments/73717/13 "2023-09-11T03:12:40Z")

</div>

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