# Embedding meeting sdk in my react web application

**URL:** <https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156>\
**Category:** Meeting SDK\
**Created:** [August 6, 2025, 11:24am UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156 "2025-08-06T11:24:11Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vishal8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vishal8/32/56126_2.png) [@Vishal8](https://devforum.zoom.us/u/Vishal8)\
**Post date:** [August 6, 2025, 11:24am UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/1 "2025-08-06T11:24:11Z")

</div>

I need help to embed zoom application nin my react web application.  
Do i need to build two seperate apps in zoom? One “Server to server oAuth“ for schduling meeting and getting meeting creds? another General app so to embed zoom meetiong sdk in our react website ?  
I am not able to understand the complete flow of it?  
And what scopes do i need to select as per my requirement (Host and Participant) when building App in zoom ?  
Please can anyone guide methrough this .

---

<div class="post-metadata">

**Author:** ![Craig](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/craig/32/69695_2.png) [@Craig](https://devforum.zoom.us/u/Craig)\
**Post date:** [August 6, 2025, 11:40am UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/2 "2025-08-06T11:40:00Z")

</div>

Both are needed for full flow, most probably

---

<div class="post-metadata">

**Author:** ![Vishal8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vishal8/32/56126_2.png) [@Vishal8](https://devforum.zoom.us/u/Vishal8)\
**Post date:** [August 6, 2025, 12:34pm UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/3 "2025-08-06T12:34:54Z")

</div>

Can you please help me understand both.

What do i need to do and pick in both???

---

<div class="post-metadata">

**Author:** ![Craig](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/craig/32/69695_2.png) [@Craig](https://devforum.zoom.us/u/Craig)\
**Post date:** [August 7, 2025, 6:31am UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/4 "2025-08-07T06:31:20Z")

</div>

I meant, you need both. The server to server OAuth app to create meetings and the SDK app to embed Zoom in your react app using the SDK key for generating the sign.

---

<div class="post-metadata">

**Author:** ![Vishal8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vishal8/32/56126_2.png) [@Vishal8](https://devforum.zoom.us/u/Vishal8)\
**Post date:** [August 7, 2025, 1:12pm UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/5 "2025-08-07T13:12:55Z")

</div>

So basically these are the used cases for the both?  
To generate signature we need SDK App and to schedule a meeting we need oAuth.

---

<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 7, 2025, 1:26pm UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/6 "2025-08-07T13:26:33Z")

</div>

Hi @Vishal8,  
Thanks for reaching out, and thank you @Craig for jumping in!

To embed your Meeting SDK in a React app, you’ll need to use a General OAuth app and use its Client ID and Client Secret to generate a signature.

With the same app, you can also create meetings programmatically via OAuth. To do this, you’ll need to authorize the app and generate an access token, which you can then use to create meetings through the API.

What Craig suggested is definitely another option, but if you’d prefer to manage everything with just one app, the General OAuth app can handle both use cases.

---

<div class="post-metadata">

**Author:** ![Vishal8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vishal8/32/56126_2.png) [@Vishal8](https://devforum.zoom.us/u/Vishal8)\
**Post date:** [August 7, 2025, 2:09pm UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/7 "2025-08-07T14:09:31Z")

</div>

@elisall I tried that. The issue i was facing is, to get the access token it was askingg for ACCOUNT\_ID , which i wasn’t getting when creating General oAuth, i was getting this Account Id when created the Server to Server oAuth App in App Credentials.  
i had to made General App particulary to create signature to embed meeting SDK in my web 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 7, 2025, 2:13pm UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/8 "2025-08-07T14:13:37Z")

</div>

@Vishal8 To get an access token with a general app, you do not need your account ID

Here are the docs: [OAuth for user authorized apps](https://developers.zoom.us/docs/integrations/oauth/#app-type-general)

---

<div class="post-metadata">

**Author:** ![Vishal8](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/vishal8/32/56126_2.png) [@Vishal8](https://devforum.zoom.us/u/Vishal8)\
**Post date:** [August 8, 2025, 9:57am UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/9 "2025-08-08T09:57:16Z")

</div>

```json
 i am sending the below body in request-
endpoint- https://api.zoom.us/v2/users/me/meetings

body-
{
  "topic": "My Test Meeting",
  "type": 2,
  "start_time": "2025-08-10T10:00:00Z",
  "duration": 30,
  "timezone": "UTC",
  "agenda": "Discuss project status",
  "settings": {
    "host_video": true,
    "participant_video": true,
    "join_before_host": false,
    "mute_upon_entry": true,
    "watermark": false,
    "use_pmi": false,
    "waiting_room": true,
    "approval_type": 0,
    "registration_type": 1
  }
}

```

@elisa.zoom with the current value of registeration\_type and the approval\_type, i can see that the registeration is mandatory for a user to enter the meeting.  
What i want is no registeration must be required and host has power to approve the join meeting request.  
Can you please help me with this

---

<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 11, 2025, 1:13pm UTC](https://devforum.zoom.us/t/embedding-meeting-sdk-in-my-react-web-application/136156/10 "2025-08-11T13:13:59Z")

</div>

Hi @Vishal8  
If you do not wish to have registration enabled in your meeting, make sure to pass “approva\_type”=0 (ro registration required)  
In order for the host to have the abilitu to approve who joins the meeting, I suggest you enable waiting room so the host will approve participants as they start joining the waiting room
