Weekly Outlook Task Completion Report
Scheduled flow compiles all completed Outlook Tasks for the week and sends a summary to the user and their manager.
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 compiles all completed Outlook tasks for the current week and generates a summary email that is sent to the user and their manager. The flow runs on Friday mornings, queries Outlook for tasks marked complete in the past 7 days, and formats a professional HTML report showing task name, completion date, and category for productivity tracking and management visibility.
Use Case
Managers need visibility into team productivity without manual status reporting, and team members benefit from a structured weekly accomplishment summary for self-reflection and documentation. This flow solves the problem by automatically aggregating task completion data from Outlook and distributing a professional weekly digest that empowers clear communication of progress and impact.
The flow is ideal for teams that:
- Automated Friday morning summary of all completed tasks for the week
- Professional HTML email format — easy to forward to stakeholders
- Tracks productivity metrics — completion dates and categories visible
- Includes both personal copy and manager copy for accountability
- Eliminates manual status report writing
- Integrates with existing Outlook task management workflow
Flow Architecture
Recurrence - Every Friday Morning
RecurrenceScheduled trigger; fires every Friday at 9:00 AM.
Initialize varStartDate
Initialize VariableSets varStartDate to Monday 00:00 of the current week using addDays(utcNow(), -dayOfWeek(utcNow())).
Initialize varEndDate
Initialize VariableSets varEndDate to Friday 23:59 using addDays(utcNow(), 1).
List Completed Outlook Tasks
Outlook ListTasksQueries Outlook with OData filter for status eq 'Completed' and dateCompleted ge varStartDate.
For Each Completed Task
Apply to eachFor each completed task: sequential loop that appends an HTML table row for the task (task name, category, completion date) to the running report body via an Append to String Variable action.
Compose Summary Report
ComposeBuilds the complete HTML email body with a header, the task table, and a footer.
Send Report to User
Outlook SendEmailV2Sends the completed task summary email to the current user.
Send Report to Manager
Outlook SendEmailV2Sends a copy of the summary to the manager email address configured via environment variable.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_ReportSubjectLine | String | Weekly Task Completion Report | Custom email subject line for the weekly task report. |
| flowlibs_ManagerEmailAddress | String | <configure> | Email address of the manager who should receive a copy of the weekly task summary. Set this to the recipient's primary SMTP address. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Office 365 Outlook | shared_office365 | ListTasks (List Completed Tasks) SendEmailV2 (Send Report to User) SendEmailV2 (Send Report to Manager) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
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.
- Deploying to another environment
- Import the solution into the target environment, update flowlibs_ManagerEmailAddress with the manager's email, update flowlibs_ReportSubjectLine with the preferred subject, bind the Outlook 365 connection to the organizational mailbox, adjust the recurrence trigger day/time as needed, and turn the flow on.
- Change report frequency
- Edit the Recurrence trigger to run on a different cadence (e.g., Monday morning, bi-weekly) by changing the frequency and interval values.
- Include task priority
- Add a Priority column to the HTML table so high-impact work is called out visually in the email.
- Filter by category
- Add a Filter Array action after List Completed Outlook Tasks to keep only tasks from specific categories or projects before building the table.
- Add task duration
- Calculate the time between task creation and completion (e.g., div(sub(ticks(completedDateTime), ticks(createdDateTime)), 864000000000)) and append it as a Days Open column for effort metrics.
- Export to Excel instead of email
- Replace the Send Email actions with Create File in OneDrive or SharePoint to save reports as Excel workbooks for long-term trend analysis.
- Include incomplete / overdue tasks
- Add a second List Tasks + Apply to each branch for overdue or incomplete tasks and append a second HTML table to highlight blockers alongside completed work.
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.01End of week timestamp
Used to set varEndDate so the OData filter window closes at end of the reporting day.
EXPR.02Start of week timestamp
Used to set varStartDate to Monday 00:00 of the current week, anchoring the lower bound of the OData completion-date filter.
EXPR.03Task category from loop item
Reads the current task's category array inside the Apply to each so it can be rendered into the HTML table row.
EXPR.04Completed-tasks OData filter
OData filter passed to the Outlook ListTasks action so only tasks completed in the current reporting window are returned.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.