One day, I started looking around my house and noticed all the little things that needed cleaning more regularly. Change the air filter, clean the oven, and run a cleaning cycle on the washing machine. It’s not that I forgot to do any of those things — I just kept putting more important things in front of them.

I didn’t have a system for this, so I built one. I used Apple Reminders as the task database and Apple Shortcuts to text my household every Sunday with whatever is due that week.

It’s made a real difference — I actually know when I last changed the air filter or cleaned the vacuum. If you want to apply the same idea to your family's weekly schedule, I've got a similar setup for that, too.

What You'll Need

Setting Up Your Cleaning Reminders List

The Reminders app will serve as your task database. Each cleaning task lives there with its own repeat schedule — weekly, monthly, every 3 months, whatever makes sense. Reminders handles all of that natively, which means you don't need a spreadsheet or a third-party app. Managing the List later is as simple as opening Reminders and editing a task.

Step 1 — Create a Cleaning list

Open the Reminders app, tap Add List, and name it Cleaning. This keeps your cleaning tasks separate from everything else and helps the Shortcut find them later.

Step 2 — Add your tasks

For each cleaning task, add a new Reminder to the Cleaning list and set:

  • Name: Be specific. "Clean the bathroom" beats "bathroom."

  • Date: Set it to the next scheduled time for the task.

  • Repeat: Choose the right cadence. Examples:

Building the Shortcut

This Shortcut runs every Sunday morning. It grabs what's due from your Cleaning list, filters out anything already done, and sends a single text to the household. If nothing is due, it stays quiet.

Step 1 — Calculate your date boundaries

Before getting the List of Reminders, you need two dates as variables:

  • DueCeiling — 7 days from now (the upper bound for tasks due this week)

  • DoneFloor — 7 days ago (how far back to look for recently completed tasks)

Add a Date action set to Current Date. Then add two Adjust Date actions:

  • First: Add 7 Days → set variable DueCeiling

  • Second: Subtract 7 Days → set variable DoneFloor

Step 2 — Find upcoming tasks

Add a Find Reminders action and configure it:

  • List: Cleaning

  • Filter: Is Not Completed

  • Filter: Due Date is before DueCeiling

  • Sort by: Due Date, Oldest First

  • Limit: Off

Set the output variable to UpcomingTasks.

There is no "due in the next 7 days" option in Shortcuts — this is the workaround. Without the DueCeiling variable, you'd get every overdue task you've never marked done, going all the way back to when you created the List.

Step 3 — Find recently completed tasks.

Add a second Find Reminders action:

  • List: Cleaning

  • Filter: Is Completed

  • Filter: Completion Date is after DoneFloor

Set the output variable to RecentlyDone.

This is what keeps the Shortcut from nagging you about something you just did. Without this query, you could scrub the bathroom on Friday and still get the reminder on Sunday.

Step 4 — Initialize the message variable

Add a Text action, leave it blank, and name the variable CleaningMessage. This is the running text that gets built up as you loop through tasks. Starting it empty means you can check at the end whether anything was actually added.

Step 5 — Loop through and cross-reference

Add a Repeat with Each action over UpcomingTasks. Inside the loop, you need to extract the task name, save it, then check it against your recently done List.

Add a Repeat with Each action over UpcomingTasks. Inside the loop:

  1. Add a Get Details of Reminders action. Set the detail to Title and the input to Repeat Item (the magic variable representing the current task in the loop).

  2. Add a Text action containing Repeat Item. This converts the current task to plain text so Shortcuts can check it against the recently done List.

  3. Add an If block. Set the condition to: TextcontainsRecentlyDone.

  • If the condition is true —the task was completed recently—do nothing; let the loop move on.

  • Otherwise: add a Text action followed by Repeat Item, then an Add to Variable action appending to CleaningMessage.

The contains check searches the RecentlyDone List for the specified title text. Keep your task names consistent — if you rename "Clean bathroom" to "Scrub bathroom" at some point, the match will break, and a recently done task could slip through.

Step 6 — Send or stay silent

After the loop, add an If block. Set the condition to: CleaningMessagedoes not have any value.

  • If true: End the Shortcut. Nothing is due — no text sent.

  • Otherwise: Add a Text action:

Cleaning this week:

[CleaningMessage]

Then add a Send Message action:

  • Message: the text above

  • Recipients: your household group chat

Setting the Automation

In the Shortcuts app, tap the Automation tab at the bottom, then tap +Time of Day.

  • Time: 8:00 AM

  • Day: Every Sunday

  • Run After Confirming: Off — toggle this to fire the Shortcut automatically without needing your approval each time.

Select your Cleaning Schedule Shortcut and save.

Every Sunday at 8am, your household receives a text with the week's tasks. If nothing is due or everything's already been handled, it stays quiet.

Common Issues and Workarounds

"Next 7 days" doesn't exist in Shortcuts.

The Find Reminders action has no built-in "due in the next N days" filter. You have to calculate a future date and use "due date is before [variable]" as the ceiling. I didn't know this going in and spent a while wondering why tasks from two months ago were showing up alongside this week's List.

Completed reminders aren't automatically excluded.

The Is Not Completed filter on the first query handles upcoming tasks — but it won't catch a task you just finished if the next occurrence is already set for this week. The second query (RecentlyDone) is what catches those. Without it, you mark the bathroom done on Thursday, and it's back in the text on Sunday.

Completion date filtering is the same trick in reverse.

To find recently completed tasks, you calculate today - 7 days and filter for "completion date is after [DoneFloor]." Without that variable, Shortcuts returns everything ever completed in the List — every task you've done since you set this up.

The air filter got changed. So did the oven — eventually. The difference is now I know when I last did it, and I get a nudge when it's time again.

This isn't a complicated build, but it's one of those automations that quietly earns its keep. It runs on Sunday, does its thing, and disappears. The only time you notice it is when something actually needs cleaning.

If you set this up, start with five or six tasks and let it run for a month before adding more. The List gets more useful the more honestly you maintain it.

Keep Reading