Email supervisors from Excel with Power Automate

Excel add-ins can't send email, and WeekClose never touches your data outside your workbook. So supervisor emails come from a small Power Automate flow you build once in your own Microsoft 365. It sends from your own Outlook; we never see the emails, the addresses or the hours.

How it fits together

  1. The payroll clerk presses Make timesheets. WeekClose writes one sheet per department and a sheet called WeekClose Timesheets with an Excel table named WeekCloseTimesheets: one row per department per week.
  2. The clerk presses Email supervisors, checks the list and presses Send. WeekClose sends nothing itself: it sets Send to Yes on those rows.
  3. Your flow runs on a schedule, finds rows where Send is Yes and Sent at is empty, emails each supervisor, and fills in Sent at, so nothing is sent twice.
  4. If a punch changes afterwards, WeekClose gives that timesheet a new check code and sets Send back to "Not yet", so the new numbers need a new release.

What you need

Prefer emails not to come from a person? Build the flow with a shared payroll mailbox account.

Build the flow

  1. At make.powerautomate.com choose Create, then Scheduled cloud flow. Name it "WeekClose supervisor timesheets". Start the Monday after your pay week ends, 10:00 AM, repeating every week, in your time zone.
  2. Add Excel Online (Business): List rows present in a table. Pick the SharePoint site or OneDrive, library and payroll workbook, and the table WeekCloseTimesheets. Under advanced options set Filter Query to Send eq 'Yes'. In the action's settings turn Pagination on with a threshold of 5000 (the action returns only 256 rows by default).
  3. Add Control: Apply to each over value from the previous step.
  4. Inside it, add Control: Condition: Sent at is equal to (leave the right side empty). Put the next two steps in the If yes branch.
  5. Office 365 Outlook: Send an email (V2). To: Supervisor email. Subject: "Timesheet to approve:" then Department, ", week of", Week starting. For the body, switch to code view and paste the email template, then match each placeholder to its dynamic content.
  6. Excel Online (Business): Update a row on the same table. Key column: Timesheet ID; key value: Timesheet ID from dynamic content. Set Sent at to the expression utcNow().
  7. Save.

Try it safely first

  1. Copy the payroll workbook as "WeekClose flow test" in the same folder, and put your own email address for every department on its Departments sheet.
  2. Point the flow's Excel steps at the test copy.
  3. In the test copy: WeekClose, Calculate, Make timesheets, Email supervisors, Send.
  4. In Power Automate choose Test, Manually, Run flow. Expect one email per department in your inbox and Sent at filled in.
  5. Run it again: no new emails.
  6. Point the flow back at the real workbook.

What a supervisor receives

An email titled like "Timesheet to approve: Human Resources, week of 2026-11-01", with a short table per employee (regular, overtime, double time, leave), any rows that need a look, and an Approve or send back button that opens your approval form with the timesheet ID and check code filled in, when your Departments sheet has an approval form link. See the sign-off form.

Privacy and records

Menu names change from time to time. If a step looks different in your Power Automate, email [email protected] and we'll update this page.