Power Automate connects Zoom to the entire Microsoft 365 ecosystem — trigger workflows from Zoom events, save recordings to SharePoint, post meeting summaries to Teams channels, and automate user onboarding. If something happens in Zoom, Power Automate can respond in any Microsoft service (and hundreds of other connectors).
For the full picture of Zoom + Microsoft integrations, see our Complete Guide to Zoom and Microsoft Integration.
What You Can Automate
| Trigger (Zoom Event) | Actions (What Happens) | Use Case |
|---|---|---|
| Recording completed | Save to SharePoint + notify Teams channel | Automatic recording archive |
| Meeting ended | Post summary to Teams channel | Meeting documentation |
| Meeting ended | Create follow-up task in Planner/To Do | Action item tracking |
| New user created | Send welcome email via Outlook | User onboarding |
| Meeting created | Post details to a Teams channel | Team awareness |
| Participant joined/left | Log to SharePoint list | Attendance tracking |
| Zoom webhook (any event) | Custom response | Advanced automation |
Prerequisites
- Microsoft Power Automate account (included in Microsoft 365 E1/E3/E5, or available standalone)
- Zoom admin account for the connector authorization
- SharePoint site (if saving recordings or logging data)
- Teams channel (if posting notifications)
Step 1: Set Up the Zoom Connector
- Go to Power Automate.
- Click Create > Automated cloud flow.
- In the trigger search, type Zoom — you’ll see available Zoom triggers.
- Select a trigger (e.g., “When a cloud recording is completed”).
- Click Sign in to connect your Zoom account.
- Authorize Power Automate to access your Zoom account — use a Zoom admin account (admin access is required for most triggers).
Tip: Use a Zoom service account rather than a personal admin account. This prevents the connector from breaking when an admin’s password changes or their account is deactivated.
Flow 1: Save Zoom Recordings to SharePoint
The most common automation — automatically archive every recording to your SharePoint document library.
Build the Flow
- Trigger: Zoom — “When a cloud recording is completed”
- Action: HTTP — Download the recording file
- Method: GET
- URI: Use the
download_urlfrom the trigger output - Headers: Add
Authorization: Bearer [Zoom access token]
- Action: SharePoint — “Create file”
- Site Address: Your SharePoint site URL
- Folder Path:
/Zoom Recordings/[year]/[month] - File Name:
[Meeting Topic] - [Date].mp4 - File Content: Body from the HTTP action
- Action: Teams (optional) — “Post message in a channel”
- Team: Your team
- Channel: #zoom-recordings
- Message: “New recording available: [Meeting Topic] — [SharePoint link]“
Flow Diagram
Recording completed → Download file → Save to SharePoint → Notify Teams channel
Important Notes
- Large recordings (1+ hours of video) may exceed Power Automate’s action size limits. For very large files, use Power Automate’s chunked upload capability or process only the audio file (much smaller).
- Zoom recordings may have multiple files (video, audio, chat, transcript). The trigger provides a list — use a For Each loop to process all files.
Flow 2: Post Meeting Summaries to Teams
Automatically share meeting recaps in a Teams channel after every meeting.
Build the Flow
- Trigger: Zoom — “When a meeting ends”
- Action: HTTP — Get meeting details from Zoom API
- Method: GET
- URI:
https://api.zoom.us/v2/meetings/[meeting_id] - Headers: Authorization with Zoom OAuth token
- Action: HTTP — Get meeting summary (if AI Companion is enabled)
- Method: GET
- URI:
https://api.zoom.us/v2/meetings/[meeting_id]/meeting_summary
- Condition: Check if summary exists
- Yes: Post summary to Teams
- No: Post basic meeting details (duration, participants)
- Action: Teams — “Post adaptive card in a channel”
- Include: Meeting topic, duration, participant count, summary text, recording link
Flow 3: Automate Meeting Attendance Logging
Track who attends which meetings by logging to a SharePoint list.
Setup
- Create a SharePoint list with columns:
- Meeting Topic (text)
- Meeting Date (date)
- Participant Name (text)
- Participant Email (text)
- Join Time (date/time)
- Leave Time (date/time)
- Duration (number)
Build the Flow
- Trigger: Zoom — “When a meeting ends”
- Action: HTTP — Get participant report from Zoom API
GET https://api.zoom.us/v2/report/meetings/[meeting_id]/participants
- Action: Apply to each — Loop through participants
- Action: SharePoint — “Create item” in the attendance list
- Map each participant’s details to the list columns
Flow 4: New User Onboarding
When a Zoom account is created (via SCIM or manually), send a welcome email with setup instructions.
Build the Flow
- Trigger: Zoom — “When a new user is created”
- Action: Outlook — “Send an email”
- To: New user’s email (from trigger)
- Subject: “Welcome to Zoom — Getting Started”
- Body: Include links to your organization’s Zoom SSO page, desktop client download, Outlook plugin, and IT support contact
This pairs well with SCIM provisioning — when SCIM creates a Zoom account, Power Automate sends the welcome email automatically.
Advanced: Using Zoom Webhooks (for Events Not in the Connector)
The built-in Zoom connector covers common events, but not everything (e.g., Zoom Phone call events, Contact Center interactions). For these, use Zoom webhooks with Power Automate’s HTTP trigger.
Setup
- In the Zoom Marketplace, create a Webhook-only app.
- Set the Event notification endpoint URL to your Power Automate HTTP trigger URL.
- Subscribe to the events you need:
phone.callee_ended— Zoom Phone call endedphone.caller_voicemail_received— voicemail receivedcontact_center.engagement_ended— Contact Center interaction ended
- In Power Automate, create a flow with an HTTP Request trigger.
- Parse the webhook payload and route to the appropriate actions.
Zoom Phone Example: Log Missed Calls to Teams
- Trigger: HTTP Request (receives Zoom webhook)
- Condition: Check event type =
phone.callee_missed - Action: Teams — Post message
- “Missed call from [caller_number] to [callee_name] at [time]“
Connector Authentication Details
The Zoom Power Automate connector uses OAuth 2.0:
- When you first set up the connection, you sign in with a Zoom account.
- Power Automate stores the OAuth refresh token.
- The token is used to make API calls on behalf of that account.
Important considerations:
- Use a Zoom admin service account — if the connected user’s account is deactivated, all flows break.
- The connection has the same permissions as the connected user — admin accounts can access all meetings; regular accounts can only access their own.
- If the connection stops working, go to Data > Connections in Power Automate and re-authenticate the Zoom connection.
Common Issues
- “Authorization failed” when setting up the connector — You must sign in with a Zoom account that has admin privileges. Regular user accounts can create flows for their own meetings, but triggers for all meetings (organization-wide) require admin.
- Recording download fails with 401 error — The Zoom download URL includes a temporary token that expires. Use the download URL immediately in the flow (don’t store it for later). If you need to access recordings later, use the Zoom API to generate a fresh download URL.
- Flow triggers for every meeting in the organization — The Zoom connector triggers fire for all meetings (not just the connected user’s meetings). Add a condition step to filter by meeting host, topic, or other criteria if you only want specific meetings.
- SharePoint upload fails for large recordings — Power Automate actions have a 100MB file size limit by default. For larger recordings, use the SharePoint “Create file (large)” action or chunk the upload. Alternatively, save only the audio recording (much smaller than video).
- Teams notification delayed — Power Automate flows can have a few minutes of latency between the trigger event and the action execution. This is normal for cloud-based automation.
- Zoom connector not showing all triggers — Some triggers require a specific Zoom plan level. If you don’t see a trigger, verify your Zoom plan supports the feature and that the connected account has the appropriate permissions.
- Webhook events not arriving — Verify the webhook app is active in the Zoom Marketplace, the endpoint URL is correct, and the event subscriptions are enabled. Check the Zoom webhook logs for delivery failures.