Complete Guide to Zoom Integration in React Applications

Zoom Integration in a React application allows developers to add powerful video conferencing features with ease. Whether you want to embed Zoom meetings directly within your app using the Zoom Web SDK or create and manage meetings via Zoom OAuth + API that open in a new tab, there are flexible options to suit different use cases. This guide walks you through both integration methods, complete with step-by-step instructions and code examples to help you get started quickly and efficiently.

To implement Zoom Integration into your React project, you have two main options:

1. Zoom Web SDK – Embed the Zoom meeting directly in your app.
2. Zoom OAuth + API – Manage and create Zoom meetings programmatically, but open them in a new tab.

Using Zoom Web SDK (Embed Zoom in React)

Step 1: Create a Zoom App

▪️Go to the Zoom App Marketplace.
▪️Sign in and create an app with JWT or OAuth authentication.
▪️Get the API Key and API Secret for Zoom Integration.

Step 2: Install the Zoom Web SDK.

Run the following command:

npm install @zoomus/websdk

Installing the SDK is an essential step in establishing Zoom Integration using the embedded approach.

Step 3: Import and Configure the SDK

import axios from 'axios';

const createZoomMeeting = async () => {
const zoomToken = 'YOUR_OAUTH_ACCESS_TOKEN';

const config = {
headers: {
'Authorization': `Bearer ${zoomToken}`,
'Content-Type': 'application/json'
}
};

const meetingData = {
topic: 'React Zoom Meeting',
type: 1, // 1 = Instant, 2 = Scheduled
start_time: new Date().toISOString(),
duration: 60, // in minutes
settings: {
host_video: true,
participant_video: true,
}
};

try {
const response = await axios.post('https://api.zoom.us/v2/users/me/meetings', meetingData, config);
console.log('Meeting Created:', response.data);
window.open(response.data.join_url, '_blank');
} catch (error) {
console.error('Error creating meeting:', error);
}
};

This method provides a direct way to handle Zoom Integration for instant or scheduled meetings within the React application.

Step 4: Use the Component

import React from 'react';
import ZoomMeeting from './ZoomMeeting';

const App = () => { return (
<ZoomMeeting
meetingNumber="123456789"
userName="John Doe"
userEmail="john@example.com"
passcode="123456"
apiKey="YOUR_ZOOM_API_KEY"
apiSecret="YOUR_ZOOM_API_SECRET"
/>
);
};

export default App;

Embedding the component completes the frontend part of the Zoom Integration via Web SDK.

Now we are more focused on the Zoom OAuth + API way.

Using Zoom OAuth + API (Open Meeting in New Tab)

If you want to create and manage Zoom meetings programmatically without embedding, you can:

▪️Use OAuth authentication to get access tokens.
▪️Use the Zoom API to create/join meetings.
▪️Redirect users to the meeting URL.
▪️Get OAuth Credentials
▪️Go to the Zoom App Marketplace.
▪️Create an OAuth app and get the Client ID and Client Secret.

Related read:

Add and Connect the Zoom Account

Create the button to add the Zoom account.

<Button
startIcon={<AddIcon />}
variant="contained"
color="primary"
onClick={handleConnectZoomAccountClick}
>
Connect Zoom Account
</Button>

const handleConnectZoomAccountClick = () => {
const zoomAuthUrl = getZoomAuthUrl(
`${environment.zoomMeetingClientId}`,
`${window.location.origin}${RouteConstants.ROUTE_SETTINGS_ZOOM_ACCOUNTS}`,
);
window.open(zoomAuthUrl, '_blank', 'noopener,noreferrer');
};

After adding the Account, we have to create a meeting.

 

<Button
variant="contained"
color="primary"
startIcon={<Add />}
size="medium"
onClick={handleCreateMeeting}
>
Create Meeting
</Button>


let payload = {
topic: meetingTitle,
agenda: meetingDescription,
startTime: startTime,
timezone: selectedTimeZoneOption?.value,
duration: Number(meetingDuration),
password: meetingPassword,
waitingRoomFilter: waitingRoomFilter,
allowRecording: allowRecording,
meetingPlatform: 'ZOOM',
participantEmails: selectedOptions?.map(option => option.value),
};
if (isFormValid) {
try {
setIsLoaderVisible(false);
const response = await createMeetingApi(payload);
if (response?.code === HTTP_OK) {
console.log('Meeting Created Successfully')
}
} catch (error) {
setIsLoaderVisible(false);

console.error('Error in code:', error);
}
}

This code enables seamless backend Zoom Integration using OAuth and REST APIs.

We can also implement the Add to Calendar functionality.

const handleAddToCalendar = async (e: any, meeting: MeetingType) => {
try {
e?.stopPropagation?.();
e?.preventDefault?.();
const response = await downloadMeetingApi(meeting.meetingUuid);
const eventDetails = parseICS(response);

if (!eventDetails) {
throw new Error(invalidIcsFormat);
}

const cleanDescription = eventDetails.description.replace(/\\n/g, '\n').trim();

// Construct Google Calendar Event URL
let googleCalendarUrl =
googleCalendarActionUrl +
`&text=${encodeURIComponent(eventDetails.title)}` +
`&dates=${eventDetails.startTime}/${eventDetails.endTime}` +
`&details=${encodeURIComponent(cleanDescription)}` +
`&location=${encodeURIComponent(eventDetails.location)}` +
`&ctz=${encodeURIComponent(eventDetails.timezone)}`;

// Only add participants if the meeting is hosted by HOST
if (
meeting?.hostParticipant === HOSTPARTICIPANT_TYPE.HOST &&
eventDetails?.attendees?.length > 0
) {
googleCalendarUrl += `&add=${encodeURIComponent(eventDetails.attendees.join(','))}`;
}

// Open Google Calendar Event Creation
window.open(googleCalendarUrl, '_blank');
} catch (error) {
console.log(error)
}
};

Key Differences:

▪️Zoom Web SDK: Embeds Zoom directly in your app.
▪️Zoom API + OAuth: Creates and manages meetings programmatically but opens them in a new tab.

Best Practice Recommendations

▪️For internal apps, the Zoom Web SDK is better as it keeps users inside your app.
▪️For external-facing apps, the Zoom API + OAuth works well, as it avoids embedding complexities.

coma

Conclusion

There are two primary ways to integrate Zoom into your React app: Zoom Web SDK embeds the Zoom meeting directly inside your app, is suitable for a seamless in-app experience, requires handling Zoom’s SDK setup and initialization, and generates a signature for security.

Zoom OAuth + API allows you to create and manage Zoom meetings programmatically. It opens the meeting in a new tab rather than embedding it, is easier to implement, but lacks in-app integration and requires OAuth authentication and access tokens.

Keep Reading

Keep Reading

A Deep Dive into Modern Clinical Workflows with AI Agents & CDS Hooks

Register Now
  • Service
  • Career
  • Let's create something together!

  • We’re looking for the best. Are you in?