Task Extraction from Transcript
Turns pipe-delimited transcript lines into assigned Planner tasks with real Azure AD owners.
Use case
Actions agreed in a meeting usually need someone to retype them into a task board. This flow parses the agreed lines directly, resolves each name to an Azure AD user and creates assigned Planner tasks in the right bucket — no retyping, no lost owners.
Who uses it
Project managers and scrum leads who close meetings with a list of commitments.
Real scenario
The chair pastes twelve lines like 'Marco|Prepare Q3 forecast|2026-09-04'. Within a minute Planner has twelve tasks in the 'From Meetings' bucket, each assigned to the right person with the right due date.
Time saved
Before
~20 min copying actions into Planner and assigning owners
After
0 min — paste the lines and run
Time saved
~20 min per meeting
How it works
A manual trigger receives the task block. Split turns it into an array of lines, an EmailMap JSON Compose maps display names to mailboxes, Office 365 Users resolves each mailbox to an Azure AD object ID, then Create a task plus a 5-second Delay and Update task details / Add assignees writes everything into Planner.
Step-by-step build
- 1
Standardise the transcript format: one action per line, Name|Task|DueDate (ISO date), for example Marco|Prepare Q3 forecast|2026-09-04.
- 2
Create an Instant cloud flow with 'Manually trigger a flow' and a multi-line Text input named 'TaskBlock'.
- 3
Add Data Operation → Compose named 'EmailMap' containing a JSON object mapping each display name to its mailbox, e.g. { "Marco": "marco@contoso.com", "Sara": "sara@contoso.com" }.
- 4
Add Compose 'Lines' with the expression split(triggerBody()['text'], decodeUriComponent('%0A')) to get one array entry per action.
- 5
Add Planner → Create a bucket named 'From Meetings' in the target plan (or reuse an existing bucket ID).
- 6
Add Apply to each over the Lines output. Inside, add three Compose actions: Name = trim(split(item(),'|')[0]), Task = trim(split(item(),'|')[1]), Due = trim(split(item(),'|')[2]).
- 7
Inside the loop add Compose 'Mailbox' with outputs('EmailMap')[outputs('Name')], then Office 365 Users → Get user profile (V2) using that mailbox to obtain the Azure AD Id.
- 8
Add Planner → Create a task with the Task title, the bucket ID and the due date, then Delay for 5 seconds so Planner commits the task before it is modified.
- 9
Add Planner → Update task details for the description, and 'Add assignees to a task' (or Update task with the Assigned user ids field) using the Azure AD Id from Get user profile.
- 10
Set the Apply to each concurrency to 1 to avoid Planner throttling, then run a test with three lines before scaling up.
Copilot prompt
Paste this into Power Automate Copilot to scaffold the flow.
Create an instant cloud flow with a multiline text input called TaskBlock formatted as Name|Task|DueDate per line. Compose a JSON EmailMap of names to mailboxes, split the input on new lines, create a Planner bucket named 'From Meetings', then loop each line: split it into name, task and due date, look up the mailbox in EmailMap, get the Azure AD user with Office 365 Users Get user profile V2, create the Planner task, delay 5 seconds, then add the resolved user as assignee.
Screenshots
Captures are added as each step is published.
Official documentation
Explore more flows
Meeting History Extractor
Captures the meeting transcript and stores it in SharePoint as the shared memory every other flow reads.
View module LivePre-Meeting Agenda Injector
Fifteen minutes before a meeting starts, it writes a full HTML agenda directly into the Outlook invite.
View module LiveDaily Activity Log Email
Every weekday at 18:20 Rome time it logs the day's Planner activity and drafts the team lead's summary email.
View module LiveWeekly Status Report
Builds done / overdue / in-progress tables, posts them to Teams and archives a CSV in SharePoint.
View module LiveDeadline Urgency Monitor
A daily 08:00 Teams digest that colour-codes every approaching deadline — and stays silent at weekends.
View module LiveColumn Name Monitor
Hourly SharePoint schema watchdog that catches renamed columns before they silently break every flow.
View module