Webex Recording Archive to SharePoint
When a Webex meeting recording is ready, the flow downloads the recording and transcript, files them into a structured SharePoint library (by date/host/topic), posts the link to a Teams channel, and logs the meeting to Dataverse. Optionally summarizes the transcript with Azure OpenAI. Gives Webex recordings durable, governed, searchable storage.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow archives Webex meeting recordings into Microsoft 365 on a schedule. On each run it queries the Webex recordings REST API for new recordings, and for each one not already archived it downloads the media and transcript, summarizes the transcript with Azure OpenAI, files the recording into a structured SharePoint library (by month/host), posts a link with the summary to a Microsoft Teams channel, and writes a Dataverse ledger row (which also provides deduplication).
Why it matters: Webex cloud storage fills up and recordings get lost. Auto-archiving to SharePoint gives durable, governed, searchable storage where the team already collaborates — with an AI summary surfaced in Teams so people don't have to watch the full recording.
The Webex connector (shared_webex) is messaging-only — it has no recordings operation — so recordings are read via the Webex REST API through the built-in HTTP action (the documented connector-first fallback when no connector op exists). All other steps use connector actions.
Use Case
Teams that record meetings in Webex want every recording and transcript retained in SharePoint with consistent foldering, an AI summary, a Teams notification, and an auditable log — without manual downloading and filing.
Flow Architecture
Recurrence
Recurrence (Day/1)Scheduled poll — Webex has no 'recording ready' trigger. Queries the Webex recordings REST API for new recordings in the window.
Initialize variables
Initialize VariableMint a guid() correlation id and bind the Webex base URL, SharePoint site, recording library path, Teams group/channel, summary prompt, and lookback-days; compose the query window start/end.
List Webex Recordings
HTTP GETWebex REST /recordings — list recordings in the window (Bearer token from env var).
Apply To Each Recording → dedup
Foreach + Dataverse ListRecords + ConditionLook up the recording id in the ledger; archive only if not already archived.
Download recording and transcript
HTTP GET (Webex REST)GET /recordings/{id} for temporary download links, then download the recording media and the transcript.
Summarize Transcript
Azure OpenAI ChatCompletionsGenerate a short professional summary of the transcript.
Archive Recording To SharePoint
SharePoint CreateFileCreate the recording file in a structured folder (<library>/<yyyy-MM>/<host email>).
Post To Teams and log to Dataverse
Teams PostMessageToConversation + Dataverse CreateRecordPost the link + summary to the channel and write the ledger row (dedup + metadata + summary).
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_WebexApiBaseUrl | String | https://webexapis.com/v1 | Webex REST base URL. |
| flowlibs_WebexAccessToken | String | <configure> | Webex REST auth bearer token (secret). |
| flowlibs_WebexRecordingLookbackDays | String | 1 | Query window in days. |
| flowlibs_WebexRecordingLibrary | String | /Shared Documents/Webex Recordings | SharePoint folder path. |
| flowlibs_RecordingSummaryPrompt | String | Summarize the meeting transcript into a short professional summary with key points and action items. | Azure OpenAI system prompt. |
| flowlibs_SharePointSiteURL | String | https://your-tenant.sharepoint.com | SharePoint site (dataset). |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams team id. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel id. |
| flowlibs_AzureOpenAIDeployment | String | gpt-4o | Azure OpenAI deployment id. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Microsoft Dataverse | shared_commondataserviceforapps | ListRecords CreateRecord |
| SharePoint | shared_sharepointonline | CreateFile |
| Microsoft Teams | shared_teams | PostMessageToConversation |
| Azure OpenAI | shared_azureopenai | ChatCompletions_Create_2024Feb15Preview |
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Schedule / window
- Change the Recurrence interval and flowlibs_WebexRecordingLookbackDays to widen or narrow the catch-up window.
- Foldering
- Edit Compose Folder Path (currently <library>/<yyyy-MM>/<host email>) to file by topic, department, etc.
- Summary style
- Edit flowlibs_RecordingSummaryPrompt (e.g. ask for bullet action items, decisions, risks).
- Retention
- Add a SharePoint metadata/retention label step after Archive Recording To SharePoint.
- Webex cleanup
- Add a Webex REST DELETE /recordings/{id} after a successful archive to free Webex storage.
- Tenant portability
- Only env var values + connection authorizations change; no connector references are hardcoded.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Query window
Recording query window.
EXPR.02Recordings list URI
Webex recordings list endpoint.
EXPR.03Dedup filter
Ledger dedup by recording id.
EXPR.04Download links
Temporary direct download link (and transcriptDownloadLink).
EXPR.05AI summary out
AI summary content.
EXPR.06Folder path
Structured archive folder path.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.