Back to module: Meeting Autopilot
LiveMeeting Autopilot

Pre-Meeting Agenda Injector

Fifteen minutes before a meeting starts, it writes a full HTML agenda directly into the Outlook invite.

Use case

Meetings start with five minutes of 'so, where did we leave off?'. This flow removes that entirely: open tasks and the previous meeting's history are composed into an agenda and injected into the calendar event body, so every attendee opens the invite and sees exactly what matters.

Who uses it

Meeting chairs, project managers and delivery teams with recurring syncs.

Real scenario

At 09:45 the flow fires for the 10:00 project sync. It reads six open Planner tasks and last week's decisions from SharePoint, builds an HTML table, and updates the event body. Attendees joining at 10:00 already have the agenda in front of them.

Time saved

Before

~30 min manual prep per meeting

After

0 min — the agenda writes itself

Time saved

~30 min per meeting

How it works

An Outlook 'When an upcoming event is starting soon' trigger fires 15 minutes ahead. Get items pulls open tasks and the latest MeetingHistory record from SharePoint, an Apply to each builds HTML rows into a string variable, Compose assembles the final agenda, and Update event (V4) writes it into the invite body.

Step-by-step build

  1. 1

    Create a Scheduled/Automated cloud flow with the Office 365 Outlook trigger 'When an upcoming event is starting soon (V3)'. Set Look-ahead time to 15 minutes and choose the calendar.

  2. 2

    Add Variables → Initialize variable 'AgendaRows', type String, empty value. Keep it at top level, directly after the trigger.

  3. 3

    Add SharePoint → Get items on the OpenTasks list with a Filter Query of Status ne 'Completed' and Top Count 20.

  4. 4

    Add SharePoint → Get items on MeetingHistory, Order By MeetingDate desc, Top Count 1, to retrieve the previous meeting context.

  5. 5

    Add Apply to each over the OpenTasks value, and inside it Append to string variable 'AgendaRows' with an HTML <tr> containing Title, Owner and DueDate.

  6. 6

    After the loop add Data Operation → Compose named 'AgendaHTML' that wraps AgendaRows in a styled <table>, preceded by an <h3> with the meeting subject and a recap paragraph from MeetingHistory.

  7. 7

    Add Office 365 Outlook → Update event (V4). Pass the trigger event Id, keep Subject, Start and End identical to the trigger values, set Body to the AgendaHTML output and Body content type to HTML.

  8. 8

    Test with a real calendar event 20 minutes in the future and check the invite body updates without duplicating the event.

Copilot prompt

Paste this into Power Automate Copilot to scaffold the flow.

Copilot
Create an automated cloud flow that triggers 15 minutes before an upcoming Outlook event starts. Initialize a string variable AgendaRows, get open items from the SharePoint list 'OpenTasks' where Status is not Completed, get the most recent item from 'MeetingHistory', append an HTML table row per task to AgendaRows, compose a styled HTML agenda, and update the Outlook event with Update event V4 setting the body to that HTML.

Screenshots

Captures are added as each step is published.

Trigger configuration
Main action pane
Expression editor
Result in Microsoft 365

Explore more flows