Automation Recipe: Automated Timesheet Reminder Emails

Tools:Zapier + Gmail (or Outlook) + Google Sheets
Time to build:1-2 hours
Difficulty:Intermediate-Advanced
Prerequisites:Comfortable using Gmail and Google Sheets — no prior Zapier experience needed

What This Builds

Instead of spending 1-2 hours every pay period manually emailing managers to remind them about timesheet deadlines, this automation does it for you. Every Thursday at 3pm (or whatever your deadline day is), Zapier checks a Google Sheet tracking which departments have submitted timesheets, and automatically sends a personalized reminder email to every manager on the "not yet submitted" list.

Prerequisites

  • Google account (for Google Sheets and Gmail)
  • Zapier account — free tier works for this automation (zapier.com)
  • A list of your managers and their email addresses
  • Your timesheet submission deadline day and time
  • Cost: Free (Zapier free tier allows 5 Zaps with 100 tasks/month)

The Concept

Think of this like a mail merge on a schedule. Zapier is the glue between your Google Sheet (which tracks who submitted) and Gmail (which sends the emails). You update the "Submitted" column in the sheet as timesheets come in, and at the deadline time, Zapier automatically emails only the people still showing "No." You update one column; Zapier handles all the follow-up.


Build It Step by Step

Part 1: Create the Tracking Sheet in Google Sheets

  1. Open Google Sheets and create a new spreadsheet named "Payroll Timesheet Tracker"
  2. Create these columns:
    • Column A: Manager Name
    • Column B: Manager Email
    • Column C: Department
    • Column D: Submitted (Yes/No)
    • Column E: Notes
  3. Add all your managers — one per row
  4. At the start of each pay period, reset Column D to "No" for everyone

Key rule: Keep this sheet clean — one row per manager, no merged cells, no extra formatting. Zapier reads it like a database.


Part 2: Set Up the Zapier Automation

  1. Go to zapier.com and sign up for a free account
  2. Click "Create Zap" (a Zap is one automated workflow)

Step 1 — Trigger: Schedule by Zapier

  • App: Schedule by Zapier
  • Trigger event: Every Week
  • Set day: Thursday (or your deadline day)
  • Set time: 3:00 PM (2 hours before your deadline)
  • This will run every Thursday at 3pm automatically

Step 2 — Action: Google Sheets — Find Rows

  • App: Google Sheets
  • Action event: Find Rows
  • Connect your Google account
  • Spreadsheet: Select "Payroll Timesheet Tracker"
  • Sheet: Sheet1
  • Search column: Column D (Submitted)
  • Search value: "No"
  • This tells Zapier to find all managers who haven't submitted yet

Step 3 — Action: Gmail — Send Email

  • App: Gmail
  • Action event: Send Email
  • Connect your Gmail account
  • To: Use the Column B value (manager email) from Step 2
  • Subject: "Reminder: Timesheet Submission Due Today by 5pm"
  • Body: Write your reminder message using variables:
Copy and paste this
Hi [Column A — Manager Name],

Just a quick reminder that timesheets for your team ([Column C — Department]) are due by 5pm today.

Late submissions delay payroll processing for your employees. If you have any issues, please reply to this email.

Thank you,
[Your Name]
Payroll
  1. Click "Test & Review" to send a test email to yourself
  2. Click "Publish" to turn the Zap on

Part 3: Test and Refine

  1. Set Column D to "No" for one test manager (use your own name/email)
  2. Manually run the Zap using the "Run Zap" button to verify it works
  3. Confirm you receive the email with the correct name and department filled in
  4. Check that managers who have "Yes" in Column D do NOT receive an email

What "working" looks like: You receive a personalized email with your correct name and department, and managers with "Yes" are skipped.


Real Example: Thursday Reminder Flow

Setup: 12 managers in your tracking sheet. Pay period closes Friday. Timesheet deadline is Thursday 5pm.

Input (what triggers it): Thursday 3pm arrives. Zapier wakes up, checks the sheet. 4 managers still have "No" in Column D.

Output (what happens): Those 4 managers each receive a personalized email: "Hi Sarah, just a quick reminder that timesheets for your team (Customer Service) are due by 5pm today."

Time saved: What used to be 20-30 minutes of manual checking + individual email composing now runs automatically every pay period.


What to Do When It Breaks

  • "Zapier can't find the spreadsheet" → Make sure the Google account you connected in Zapier has access to the sheet. Re-authenticate in Zapier's Connected Accounts section.
  • "All managers get an email even after submitting" → Double-check that Column D is being updated to exactly "Yes" (case matters — "yes" and "YES" are different to Zapier). Update your input to match exactly.
  • "The Zap ran but no emails were sent" → Check your Zapier task history — if "Find Rows" returned 0 results, all managers were marked "Yes". If it's a genuine error, check Gmail's sent folder and Zapier's error log.
  • "Managers are complaining they got double emails" → Your Zap may have run twice. Check the Zap history and make sure the trigger is set to "Once per week" not "Every hour."

Variations

  • Simpler version: Just send a reminder to ALL managers every Thursday regardless of submission status — remove the "Find Rows" step and hard-code the email list in the Gmail step
  • Extended version: Add a second Zap that fires Friday at 4pm with an escalation email ("FINAL REMINDER — Payroll will be delayed for your team") using the same tracking sheet

What to Do Next

  • This week: Build the tracking sheet and Zap, test on yourself
  • This month: Run it live for one full pay period — update the sheet as you receive timesheets and confirm the automation handles the rest
  • Advanced: Connect to your actual time-tracking system (if it has a Zapier integration) to update the "Submitted" column automatically when timesheets are approved

Advanced guide for payroll specialist professionals. Zapier's interface updates frequently — if a specific option has moved, search the Zapier help docs for the current location.