Webex AI Meeting Recap and Action Items
After a Webex meeting, the flow retrieves the transcript, sends it to Azure OpenAI to produce a structured recap (summary, decisions, action items with owners), posts the recap to the meeting's Webex space and a Teams channel, and creates tasks in Planner/Dataverse for each action item. Turns every meeting into tracked outcomes.
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 turns Webex meetings into tracked outcomes using Azure OpenAI. When a meeting transcript becomes available, the flow retrieves the transcript, generates a structured recap (summary, decisions, and action items with owners) as JSON, posts the recap to the meeting's Webex space and a Teams channel, logs a durable record to Dataverse, and creates a task for every action item in Planner or Dataverse.
Why it matters: Decisions and action items get lost after meetings. An AI recap with tracked tasks ensures follow-through without anyone manually taking and distributing minutes.
Connector note: The Webex Power Automate connector (shared_webex) is messaging-only — it has no meeting/recording/transcript operations. Meeting details and the transcript are therefore retrieved with the built-in HTTP action against the Webex REST API (Bearer token bound to flowlibs_WebexAccessToken). Posting the recap back into the Webex space uses the connector's SendMessage action, so the flow stays connector-first wherever an operation exists.
Use Case
Teams that meet in Webex want automatic, structured recaps and action-item tasks created directly from the transcript — no manual minute-taking, and a governed record of every meeting's outcomes.
Flow Architecture
When a Webex Transcript Is Ready
Request (HTTP)Built-in HTTP trigger. A Webex webhook (resource=meetingTranscripts, event=created) POSTs the transcript id and meeting id to this flow's URL.
Initialize variables
Initialize VariableMint a guid() correlation id, read the Task Target (planner/dataverse), and set the Webex REST API base URL.
Get Meeting Details
HTTP (Webex REST)GET /meetings/{meetingId} for the meeting title and host email.
Get Transcript
HTTP (Webex REST)GET /meetingTranscripts/{transcriptId}/download?format=txt for the transcript text.
Generate Recap
Azure OpenAI ChatCompletions (JSON mode)Produce a structured recap — summary, decisions, action items with owners — as JSON.
Parse Recap
Parse JSONParse the AI JSON into summary, decisions and actionItems.
Compose & Log Recap
Compose + Dataverse CreateRecordBuild a human-readable recap and log it to the Webex Meeting Recap table.
Post Recap To Webex and Teams
Webex SendMessage + Teams PostMessageToConversationPost the recap to the meeting's Webex space and the configured Teams channel.
Apply To Each Action Item
Foreach → ConditionFor each action item, create a Planner task (default) or a Dataverse action-item record, based on Task Target.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_AOAIDeploymentName | String | gpt-4o-mini | Azure OpenAI deployment id. |
| flowlibs_AOAIApiVersion | String | 2024-02-15-preview | Azure OpenAI API version. |
| flowlibs_WebexApiBaseUrl | String | https://webexapis.com/v1 | Webex REST API base URL. |
| flowlibs_WebexAccessToken | String | <configure> | Webex bearer token for the HTTP transcript/meeting reads. |
| flowlibs_WebexSpaceRoomId | String | <configure> | roomId of the Webex space to post the recap into. |
| flowlibs_TaskTarget | String | planner | 'planner' or 'dataverse' — where action-item tasks are created. |
| flowlibs_TeamsGroupId | String | <your-team-id> | Teams group (team) id for the recap channel. |
| flowlibs_TeamsChannelId | String | <your-channel-id> | Teams channel id for the recap. |
| flowlibs_PlannerGroupID | String | <your-team-id> | Planner group id for action-item tasks. |
| flowlibs_PlannerPlanID |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Webex | shared_webex | SendMessage |
| Azure OpenAI | shared_azureopenai | ChatCompletions_Create_2024Feb15Preview |
| Microsoft Teams | shared_teams | PostMessageToConversation |
| Microsoft Dataverse | shared_commondataserviceforapps | CreateRecord |
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.
- Task routing
- Set flowlibs_TaskTarget to 'planner' (default) or 'dataverse' to choose where action-item tasks are created. No flow edits needed.
- Owner mapping
- The recap captures owner names from the transcript. Extend the Planner branch to resolve names to assignees (body/assignments) for real task assignment.
- Decision log
- Append the parsed decisions array to a SharePoint/Notion log by adding an action after Parse Recap.
- Privacy
- Add a Condition after the trigger to skip recaps for sensitive meetings (e.g. by a meeting label or host).
- Model/prompt
- Change flowlibs_AOAIDeploymentName for a different model, or edit the system prompt in Generate Recap to adjust recap structure.
- Going live
- Turn the flow On, then register a Webex webhook (resource=meetingTranscripts, event=created) pointing at the flow's HTTP trigger URL.
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.01Transcript text
Raw transcript text from the Webex REST download.
EXPR.02AI recap content
Extract the AI JSON content from the Azure OpenAI response.
EXPR.03Action items loop
Iterate the parsed action items.
EXPR.04Task target routing
Decide Dataverse vs Planner for each action item.
EXPR.05Action item count
Count action items for the recap record.
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.