Power Automate

Create a Zoom meeting via Power Automate

Step 1: Create a Shared Booking Page

  • Click on the nine dots of the outlook page and then click on the “Bookings”. This will redirect to the Microsoft Bookings.
Create a Zoom meeting via Power Automate - screenshot 1
  • There are two options for creating booking, Personal booking page & Share booking pages. Click on the “Shared booking pages”.
Create a Zoom meeting via Power Automate - screenshot 2
  • Name the Page:

- Enter a unique Name (e.g., "VJ Test").

Create a Zoom meeting via Power Automate - screenshot 3
  • Add a Logo (Optional):

- Upload a logo for branding (e.g., company logo).

  • Select Business Type:

- Choose from predefined categories like IT support, Education, or Other.

Create a Zoom meeting via Power Automate - screenshot 4
  • Set Business Hours:

Default: Mon-Fri, 9:00 AM – 5:00 PM. Click Change to customize.

  • Click Next to proceed.

Invite Staff

  • Invite Team Members:
Create a Zoom meeting via Power Automate - screenshot 5

Search for staff within your organization.

- Assign roles (default: Team Member). External users can be added later.

Click –Next- to continue.

Set Up Services

Create a Zoom meeting via Power Automate - screenshot 6
  • Define Appointment Types:

- A default service (e.g., IT support, 30 mins) is pre-created.

Modify duration, availability, or description.

  • Customize Later:

- Add more services post-setup (e.g., Consultation, Training).

  • Click -Next- to advance.

Configure Access Permissions

Create a Zoom meeting via Power Automate - screenshot 7

**Choose Audience**:

- No self-service: Bookings managed internally.

- People in my organization: Internal self-service page.

- Anyone: Public page (default for external users).

Click Finish to publish the booking page.

Create a Zoom meeting via Power Automate - screenshot 8
  • Copy the link and paste in new tab for creating “Bookings”

Add User Input Fields:

- Require details like name, email, phone, and special requests.

Create a Zoom meeting via Power Automate - screenshot 9
Create a Zoom meeting via Power Automate - screenshot 10
Create a Zoom meeting via Power Automate - screenshot 11

Preview and Test

Check Availability:

Create a Zoom meeting via Power Automate - screenshot 12

Step 2: Create a Zoom App for API Access

1.Go to Zoom Marketplace: https://marketplace.zoom.us/

Create a Zoom meeting via Power Automate - screenshot 13

2. Sign In with your Zoom admin account.

3. Click on "Develop" > "Build App".

Create a Zoom meeting via Power Automate - screenshot 14

4. Select App Type:

  • Choose "Server-to-Server OAuth App" (recommended for automation).
  • Click "Create".
Create a Zoom meeting via Power Automate - screenshot 15

Configure the Server-to-Server OAuth App

1. App Name: Provide a meaningful name.

Create a Zoom meeting via Power Automate - screenshot 16

2. Information: Fill in required fields (developer contact, company name, etc.)..

Create a Zoom meeting via Power Automate - screenshot 17
Create a Zoom meeting via Power Automate - screenshot 18

3. App Credentials:

  • Save the Client ID, Client Secret, and Account ID securely.
Create a Zoom meeting via Power Automate - screenshot 19

Set API Scopes

Create a Zoom meeting via Power Automate - screenshot 20

Go to Scopes tab in the app setup:

  • Click "+ Add Scopes".
  • Add scope: meeting:write:admin to create meetings.
Create a Zoom meeting via Power Automate - screenshot 21

Save and Activate the app.

Create a Zoom meeting via Power Automate - screenshot 22
Create a Zoom meeting via Power Automate - screenshot 23
Create a Zoom meeting via Power Automate - screenshot 24

Step 3: Create a Power Automate flow for Zoom API Access

1. Trigger: Use the "When an appointment is created" trigger from the Microsoft Bookings connector.

Create a Zoom meeting via Power Automate - screenshot 25

Custom Value:

Create a Zoom meeting via Power Automate - screenshot 26

Note:-Paste the booking page link in the custom Value and remove first part from https till calendar/ from the link and remove last part from /booking till last. Rest of the part of the link paste in the Custom value. For reference, check below https://outlook.office.com/owa/calendar/VJTest@53ldh0.onmicrosoft.com/bookings/?ismsaljsauthenabled

Step (4-a1): “To Convert Time” just after "When an appointment is created" trigger

Step 1: Add a new action:-“Compose”

Create a Zoom meeting via Power Automate - screenshot 27
Create a Zoom meeting via Power Automate - screenshot 28

1. In the expression paste this formula:-

convertTimeZone(triggerOutputs()?['body/startTime'], 'UTC', 'Eastern Standard Time', 'MM-dd-yyyy hh:mm tt')

Note:- the above yellow part is the “output value of Start Time” will come from dynamic value. And change the Time Zone as per your location of USA. Here are the values of USA time zone, copy and paste in the expression.

Here are some common U.S. time zone IDs you can use:

RegionTime Zone ID
Eastern Time (ET)'Eastern Standard Time'
Central Time (CT)'Central Standard Time'
Mountain Time (MT)'Mountain Standard Time'
Pacific Time (PT)'Pacific Standard Time'

Step 4: Generate Zoom Access Token

Action 1: Generate a Zoom Meeting Link via HTTP Request

Action 1: Add a “Compose” and rename it “Generate base64 Encoder”

Inside the compose paste an Expression value type:- base64(ClientID:ClientSecret)

Put the (ClientID:ClientSecret)which was saved earlier.

Create a Zoom meeting via Power Automate - screenshot 29

Step 5: Use Power Automate to Get Token

Action 2: Add an “HTTP” Action: and rename its name to HTTP

  • Method: POST
  • URI: https://zoom.us/oauth/token
  • Headers

Authorization: Basic (Output of Generate base64 Encoder )

Content-Type: application/x-www-form-urlencoded

  • Queries:

: account_credentials

account_id: Paste account_id here (get account id from zoom market place)

Create a Zoom meeting via Power Automate - screenshot 30

Step 6: Create a Zoom Meeting via API

Action3: Add an “HTTP” Action: and Rename HTTP to Create Meeting

  • Method: POST
  • URI: https://api.zoom.us/v2/users/me/meetings

Headers: { "Authorization": "Bearer ACCESS_TOKEN", "Content-Type": "application/json" }

Note:- Put Access Token value in Expression:-

body(‘Access Token Fetch’)?[‘access_token’]

Note:- After Bearer write the following expression in expression tab:-

body(‘New Name of HTTP action ’)?[‘access_token’]

if your HTTP action name is different then write your action name.

body(‘______’)?[‘access_token’]

Create a Zoom meeting via Power Automate - screenshot 31
Create a Zoom meeting via Power Automate - screenshot 32

Below images used are used for inside body parameters :

Example:

Body:

{

"topic": "Zoom Meeting",

"type": 2,

"start_time": Under dynamic content select “Output of compose”,

“end_time”: Under expression put this value: addMinutes(outputs('Compose'),30),

"duration": 30,

"timezone": Under dynamic content select “customer time zone for 1:1 meeting”,

"settings": {

"host_video": true,

"participant_video": true,

"join_before_host": true,

"mute_upon_entry": true,

"audio": "voip"

}

}

Create a Zoom meeting via Power Automate - screenshot 33

1.body{start_time}

Create a Zoom meeting via Power Automate - screenshot 34

2.body{end_time}

Create a Zoom meeting via Power Automate - screenshot 35

3. body{timezone}

Create a Zoom meeting via Power Automate - screenshot 36

Step 7:- Add an Action named “Parse JSON”

Create a Zoom meeting via Power Automate - screenshot 37

Content: In the content add dynamic value “Body” of Create Meeting

Create a Zoom meeting via Power Automate - screenshot 38

Schema:- paste this Schema and save it.

Example:

{

"type": "object",

"properties": {

"join_url": {

"type": "string"

},

"start_time": {

"type": "string"

},

"topic": {

"type": "string"

},

"password": {

"type": "string"

} ,

"Meeting ID": {

"type": "string"

}

}

}

Step 8:- Add an action named “Send an Email (V2)”

Create a Zoom meeting via Power Automate - screenshot 39

To: paste the dynamic value “Customer Email”

Create a Zoom meeting via Power Automate - screenshot 40

Subject:- Write the Subject

Body:- Paste this format in HTML mode.

Hello,

(Dynamic value “Customer Name”)

You are being invited to a scheduled zoom meeting.

Topic: body(‘Parse_JSON’)?[‘topic’]

Start Time: outputs(‘Compose’)

Join Link: Click here to join Zoom

Meeting ID:- body(‘Parse_JSON’)?[‘id’]

Passcode: body('Parse_JSON')?['password']

Thank you,

Kind Regards

Create a Zoom meeting via Power Automate - screenshot 41
Create a Zoom meeting via Power Automate - screenshot 42
Create a Zoom meeting via Power Automate - screenshot 43
Create a Zoom meeting via Power Automate - screenshot 44
Create a Zoom meeting via Power Automate - screenshot 45

Note:- Save the flow and create a meeting from “Booking” and check flow is working. Then check meeting is created in Zoom App.

Create a Zoom meeting via Power Automate - screenshot 46
All Power Automate posts