Back to module: Meeting Autopilot
LiveMeeting Autopilot

Daily 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.

Use case

End-of-day reporting is the first thing that slips when the day runs long. This flow reads what actually changed in Planner, writes it to the SAL Report list for the record, and leaves a ready-to-send Outlook draft so the lead only reviews and clicks send.

Who uses it

Team leads and delivery managers who owe a daily status upward.

Real scenario

At 18:20 on a Thursday the flow lists nine tasks touched that day, writes them to SAL Report, and creates a draft email titled 'Daily activity — 27 Aug'. The lead opens Outlook, skims, sends.

Time saved

Before

~15 min per day assembling and writing the summary

After

~2 min reviewing a prepared draft

Time saved

~15 min per day

How it works

A recurrence trigger runs Monday to Friday at 18:20 in the Europe/Rome timezone. List tasks pulls the plan, a filter keeps items updated today, Apply to each appends HTML rows and creates SAL Report entries, and Create event/Send an email (V2) with 'Save as draft' leaves the summary in the lead's mailbox.

Step-by-step build

  1. 1

    Create a Scheduled cloud flow with a Recurrence trigger: Frequency Day, Interval 1, Time zone (UTC+01:00) Amsterdam/Berlin/Rome, At these hours 18, At these minutes 20, On these days Monday to Friday.

  2. 2

    Add Initialize variable 'ReportHTML' (String) at top level, immediately after the trigger.

  3. 3

    Add Planner → List tasks for the plan you track.

  4. 4

    Add Data Operation → Filter array on the tasks, condition: the task's completedDateTime or lastModifiedDateTime is greater than or equal to startOfDay(utcNow()).

  5. 5

    Add Apply to each over the filtered body. Inside, append an HTML <tr> with title, percent complete and due date to ReportHTML.

  6. 6

    Still inside the loop, add SharePoint → Create item on the 'SAL Report' list with Title, TaskStatus, LogDate = utcNow() and Owner.

  7. 7

    After the loop add Compose 'EmailBody' wrapping ReportHTML in a table with a heading containing formatDateTime(utcNow(),'dd MMM yyyy').

  8. 8

    Add Office 365 Outlook → Send an email (V2), set To to the team lead, Subject to 'Daily activity — [date]', Body to EmailBody, and in Advanced options set Importance Normal. To leave a draft instead, use the Graph-based 'Create draft' pattern via Send an HTTP request with Office 365 Outlook.

  9. 9

    Add a Condition before sending: if the filtered array is empty, terminate as Succeeded instead of emailing an empty report.

Copilot prompt

Paste this into Power Automate Copilot to scaffold the flow.

Copilot
Create a scheduled cloud flow that runs Monday to Friday at 18:20 in the Rome timezone. Initialize a string variable ReportHTML, list Planner tasks, filter to tasks modified today, loop them appending HTML table rows to ReportHTML and creating an item in the SharePoint list 'SAL Report', then compose an HTML summary and send it by email to the team lead, terminating early if nothing changed today.

Screenshots

Captures are added as each step is published.

Trigger configuration
Main action pane
Expression editor
Result in Microsoft 365

Explore more flows