Author: Ashish Singh Chauhan

Zoom Meetings (commonly shortened to Zoom, and stylized as Zoom) is a proprietary video telephony software program developed by Zoom Video Communications.
The free plan allows up to 100 concurrent participants, with a 40-minute time restriction. Users have the option to upgrade by subscribing to a paid plan. The highest plan supports up to 1,000 concurrent participants for meetings lasting up to 30 hours.
During the COVID-19 pandemic, there was a major increase in the use of Zoom for remote work, distance education,and online social relations.
The increase led to Zoom being one of the most downloaded mobile app worldwide in 2020 with over 500 million downloads.
Steps Of Integration
Step 1 → Setting Up Zoom Platform
- Visit https://zoom.us/ and Sign in to your Zoom account.
- Also in another tab visit https://developers.zoom.us/ and sign in with the same account.

- Now Go to Build App → Select OAuth → Create

- Give a name to app → Check user-managed app → Create

- Save Client Id and Secret → Add Redirect Url as http://localhost:8081/oauth2callback → Scroll down and in Add allow list paste the same url → Continue

- Add short and long descriptions → Fill in other details accordingly → In developer information, give a name and email id → Continue.
- Leave the next step as it is and hit Continue.
- Add Scopes → Add the scopes according to your application needs. For this demo, I added all the scopes. → Continue

- You are all done with setting up the Zoom platform.
Step 2 → Integration With MuleSoft
- Create a Mule application → Search in exchange → Zoom connector → Finish.

- Go to configuration → Add configuration for Zoom connector as follows:
Connection: OAuth Connection Provider.
Consumer Key and Secret: Saved in Step 1 (5th part).

Step 3 → Zoom Operations
- Meetings → Used to get a list of all meetings.
userId: Your Zoom account id.
Type: Select Scheduled (default Live)

Run the application → Perform OAuth Dance by hitting http://localhost:8081/authorize in your browser and give permission to Zoom.

Create a meeting in the Zoom platform.

Hit the request from the postman and you get a response of all the meetings of your Zoom account.

- Meeting Create: Used to create and schedule a Zoom meeting.

Pass the user id (i.e email ID) and payload to the connector.
Sample payload –
{
    "agenda": "Sample meeting setup",
    "duration": 1,
    "start_time": "2022-08-15T18:00:00Z",
    "topic": "Scheduling meeting from mule"
}
The postman request looks like this →

The new meeting was created in Zoom.

- Meeting Delete: Used to delete a meeting.

Pass the meeting id to cancel.
The Postman request looks like this →

This meeting ID was generated previously.
The Zoom portal will look like this →

- Meeting invite links create: Create invite links for meetings.

Meeting id: The ID of the meeting for which the link is to be created.
The post body look like→
{
  "attendees": [
    {
      "name": "ABC"
    }
  ],
  "ttl": 1000
}
The Postman request looks like this →

This join URL will be shared using email to the clients.
TTL → The link will expire after this TTL.
I have included only 4 operations for this demo.
You can explore more operations by referring to the references section.
References
- Zoom Api’s: https://marketplace.zoom.us/docs/api-reference/zoom-api/methods/#overview