Weekly Status Report
Builds done / overdue / in-progress tables, posts them to Teams and archives a CSV in SharePoint.
Use case
Weekly status packs are pure assembly work: three lists, three tables, one Teams message. This flow does the assembly from SharePoint data so the meeting starts with numbers everyone already saw.
Who uses it
Project managers preparing the weekly steering or team meeting.
Real scenario
Thirty minutes before Friday's weekly, Teams shows three tables — 14 completed, 3 overdue, 9 in progress — and a CSV lands in the Reports library for the archive.
Time saved
Before
~45 min per week compiling the status pack
After
0 min — the pack is waiting in Teams
Time saved
~45 min per week
How it works
An upcoming-event trigger fires before the weekly meeting. Three Get items calls run in parallel with different OData filters (completed, overdue, in progress), Select and Create CSV table shape the data, Compose builds three HTML tables, Post message in a chat or channel publishes to Teams, and Create file archives the CSV in SharePoint.
Step-by-step build
- 1
Create an automated flow with the Outlook trigger 'When an upcoming event is starting soon (V3)', look-ahead 30 minutes, and add a Condition so it only continues when the event subject contains 'Weekly'.
- 2
Add SharePoint → Get items #1 on the tasks list with Filter Query Status eq 'Completed' and Modified ge '@{addDays(utcNow(),-7)}'.
- 3
Add Get items #2 with Filter Query DueDate lt '@{utcNow()}' and Status ne 'Completed' for overdue work.
- 4
Add Get items #3 with Filter Query Status eq 'In progress'.
- 5
For each result add Data Operation → Select mapping only the columns you want: Title, Owner, DueDate, Status.
- 6
Add three Compose actions turning each Select output into an HTML <table> (or use Create HTML table for a quick version).
- 7
Add Microsoft Teams → Post message in a chat or channel, posting as Flow bot to the project channel, with the three tables and a heading per section.
- 8
Add Data Operation → Create CSV table from the combined Select outputs, then SharePoint → Create file in the Reports library named WeeklyStatus-@{formatDateTime(utcNow(),'yyyy-MM-dd')}.csv.
- 9
Run the flow manually once with Test → Manually to validate the filters before relying on the calendar trigger.
Copilot prompt
Paste this into Power Automate Copilot to scaffold the flow.
Create an automated flow that triggers 30 minutes before an Outlook event whose subject contains 'Weekly'. Run three SharePoint Get items actions with OData filters for completed in the last 7 days, overdue, and in progress. Select the Title, Owner, DueDate and Status columns, build three HTML tables, post them as a formatted message in a Microsoft Teams channel, then create a CSV file of the combined data in the SharePoint Reports library named with today's date.
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 LiveTask Extraction from Transcript
Turns pipe-delimited transcript lines into assigned Planner tasks with real Azure AD owners.
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 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