Plan [Your] Day

If you work in a collaborative environment, you are likely accustomed to meetings filling up your day. Whether you are an individual contributor (with fewer meetings) or a manager (with many meetings)1, your calendar has a huge impact on your productivity.

If you’re at least somewhat interested in optimizing your personal productivity there’s a good chance that you use also use a todo list app. If so, you likely spend a lot of time multi-tasking between your calendar and todo list — literally correlating your calendar events (when is my next meeting?) with your todo list (what is my next task?) in an effort to optimize your productivity. If you are just now realizing that you do this all the time, and that this is actually quite inefficient, then this post is for you!2

My most productive days were days when I had a single source of truth for my plans for the day: my todo list.

[TL;DR] Introducing the Plan My Day (PMD) for iPhone, iPad, and Mac.

PMD is a personal assistant automation for pulling calendar events into your todo list to help you Get Things Done™. PMD is a Shortcuts automation that works with Things. To download PMD, click here. To learn more about PMD, continue reading.

My personal journey to daily planning enlightenment

As a rookie Co-Founder and CEO at my first startup (Sensu), every day was jam packed from beginning to end. But as an eternally optimistic productivity nerd, I was constantly in search of the perfect workflow to optimize my efficiency as a teammate and leader.

If there was a producitivity hack or app that would give me an edge I tried it. And I didn’t just try it, I would try it with gusto! One of the core building blocks in my workflow throughout my 5-year run as CEO was my todo list. My goto todo list at the time was Todoist, which I preferred due to it’s availability across all platforms, from mobile to tablet to desktop and the browser.3 I also appreciated that it offered a public API, which I leveraged in various ways to automate my workflow.4 One neat thing I eventually grew to look forward to from Todoist was their “Spotify Wrapped” style year-end reviews, because according to Todoist I was in the top 1% of all Todoist users. Like I said, I used the todo list with gusto.

My Todoist year in review report from 2019; and this was the year when I stopped using Todoist and switched to Things mid-November.
My Todoist year in review report from 2019; and this was the year when I stopped using Todoist and switched to Things mid-November.

One of my biggest takeaways from all of that experimentation was that my most productive days were days when I had a single source of truth for my plans for the day: my todo list. Days when I had to switch back and forth between my calendar (to see when my next meeting was) and my todo list (to see what my next task was) would result in breaks in concentration, or worse – showing up late to meetings. This realization led me to make one of my biggest breakthroughs in daily productivity: a daily planning routine.

Automating the daily planning workflow

Once I realized how effective it was to integrate my calendar with my todo list, I focused on optimizing the process. At first I had my assistant create tasks in my todo list for each meeting on my calendar, and then we eventually automated it using the Todoist API. Each meeting or event would result in a task containing the following details:

  • meeting time (e.g. 10:00AM–11:00AM)
  • meeting title
  • video conference details/link(s)
  • attendees
  • meeting notes/description
  • a short checklist that includes questions like “Should this meeting be an email?”, “Can this meeting be shorter?”, and “Can this meeting happen without me?”

With my calendar events now available as tasks in my todo list, I could begin my day with my usual todo list triage. In fact, seeing my scheduled events in context with other tasks in my todo list was so helpful that I was frequently able to shorten or eliminate meetings by sending a brief email. In some cases I was even able to excuse myself from attending and check the task off as completed first thing in the morning! Now that’s what I call productive!

Fast forward to 2023 and this has gotten much easier. I’m now on iOS5 and all-in on Things as my todo list app of choice. Things offers deep integration with Shortcuts which I have found to be more than sufficient for most todo list automation, including my daily planning routine. I’m excited to share the end result with you:

Introducing the Plan My Day (PMD) shortcut!

PMD is a personal assistant automation for pulling calendar events into your todo list to help you Get Things Done™.

When you install PMD it will ask you two “import questions”6:

  1. What tag to use for the tasks it creates
  2. A list of checklist items (i.e. subtasks) to attach to the tasks it creates

Each time you run PMD it will prompt you for three inputs:

  1. Select the date you want to plan (default: “tomorrow”)
  2. Select the calendar(s) you want to select events from (default: “All Calendars”)
  3. Select the Things Area or Things Project you want to create tasks in (no default)

That’s it! The PMD shortcut will do the rest, creating a task in Things for every event on the selected day from the selected calendar(s).

Here’s what it looks like in action on the iPad.

How it works

If you want to give PMD a try but don’t care how the sausage was made, click here to jump to the end. 😊 Otherwise, keep reading for a step-by-step look into how it works.

1. What date do you want to plan?

PMD starts by prompting you for the day you want to plan, which makes it work with all kinds of daily planning routines. I like to plan my days before they even begin, so I am typically using PMD to plan “tomorrow”. But perhaps you’re a morning person – no problem, just run PMD first thing in the morning and choose today’s date. PMD takes your selection and uses the “Get Upcoming Events” action with an “Ask Each Time” prompt to fetch all of the Calendar events from the given date and calendar.

PMD uses the "Get Upcoming Events" action to fetch calendar events. PMD uses the "Get Upcoming Events" action to fetch calendar events. PMD uses the "Get Upcoming Events" action to fetch calendar events.
PMD uses the “Get Upcoming Events” action to fetch calendar events.

2. Where do you want to create tasks?

The PMD shortcut was designed with the understanding that everyone organizes their todo list differently, so the next prompt asks where you want to create the calendar event tasks. PMD uses the Things “Find Items” shortcut action to get a list of Things items that are of Type “Area” or “Project”, and the “Choose from List” action to prompt the user to select where they want to create the Calendar event tasks.

PMD uses a Things shortcut action and the built-in "Choose from List" action to prompt you for where the task should be created. PMD uses a Things shortcut action and the built-in "Choose from List" action to prompt you for where the task should be created.
PMD uses a Things shortcut action and the built-in “Choose from List” action to prompt you for where the task should be created.

3. Tasks details

The PMD shortcut provides two “Import Questions” for customizing its behavior: a task tag, and task checklist. Your answers are used as the Things To-Do tag and checklist item(s).

PMD's Import Questions are used in the task template. PMD's Import Questions are used in the task template.
PMD’s Import Questions are used in the task template.

4. The task generator

The core function of the PMD automation is the actual task generator, which is a “Repeat with Each” action, as you might have guessed. PMD iterates through the list of upcoming_events and fetches a number of variables that we’ll use to generate our task. Most of these are obvious (see screenshot), but one of them requires a little additional explanation.

I wanted to generate a unique ID for the tasks such that I could avoid generating duplicate tasks for a given event. There are probably easier ways to do this, but my engineering brain just reached for the built-in “Generate Hash” action. PMD passes in a string that looks like {{task_date}} [{{start_date}}—{{end_date}}] {{title}} (e.g. 2023-04-19 [10:00 AM – 12:00 PM] Finish Automation April Submissions) to “Generate Hash” and compute a unique hash that is then included in the task notes. PMD then use the Things “Find Items” action (where Notes contains the hash) and the built-in “Count” and “If” actions to apply the conditional logic.

Finally, as long as a task doesn’t already exist for the given Calendar event, PMD uses the Things “Create To-Do” action to create the task.

PMD doesn't support updating existing calendar event tasks in Things, but all the conditional logic is there to add it in a future update. PMD doesn't support updating existing calendar event tasks in Things, but all the conditional logic is there to add it in a future update. PMD doesn't support updating existing calendar event tasks in Things, but all the conditional logic is there to add it in a future update.
PMD doesn’t support updating existing calendar event tasks in Things, but all the conditional logic is there to add it in a future update.

Start your daily planning routine with PMD!

If you’re still reading (thank you!) then I suspect the only question left to answer is how do you get started?

I’m not a morning person. I have found that I do my best planning in the early evening, so I usually run PMD once a day right before I sit down for dinner. On most days of the week my schedule for “tomorrow” is usually pretty well settled by late afternoon, and I’ve found that taking a few moments at the end of each day to look at my plans for “tomorrow” really helps me stay productive throughout the week.7 One additional benefit of evening planning is capturing work in progress. If I stopped in the middle of a task that I want to resume, I can add it to my todo list while it’s still fresh in my mind. If you’re a morning person you might like to start your day using PMD to pull your calendar events into your todo list.

Either way, using PMD can help you start each day in your todo list with full confidence that everything you need to plan your day is all in one place.

Sheesh! 🌶️

I hope you give PMD a try, or better yet – I hope this inspires you to automate some part of your daily routine with Shortcuts. If you do give PMD a try I’d love to hear your feedback. Hit me up on Mastodon (@calebhailey), or just drop me an email at [email protected].

A brief aside about shortcut intelligence idempotence

The PMD shortcut is designed to streamline your daily planning routine, not complicate it. As such, PMD keeps track of which events it has already created tasks for to avoid cluttering your todo list with duplicate entries. In the world of public cloud infrastructure automation (where I spent the last 10 years of my career), this ability to “[run] multiple times without changing the result” is referred to as idempotence. I suspect there are a huge variety of Shortcuts automations that could benefit from implementing logical gates to ensure that they are idempotent (e.g. the Things “Prepare for Events” shortcut is a very similar automation to PMD, but it will happily create duplicate tasks in Things).

One interesting benefit of idempotence in the daily planning use case is that you can run the PMD shortcut multiple times for a given day and route tasks from specific calendars into specific Areas in Things (e.g. “work” versus “personal” projects). This means you can run PMD once for your work calendar and create tasks in your work Area, then run it again against your side project calendar and create those tasks in your side project Area, then run it one more time against “All Calendars” and create those tasks in your default Area (as a catch all).

As the Shortcuts community continues to mature I look forward to seeing Apple, app developers, and Shortcut developers embrace idempotence as a core practice to improve the overall user experience.


  1. I would argue that there are other ways to manage teams of people than endless meetings, but that’s a blog post for another day. ↩︎

  2. If your todo list is Things, then this post is definitely for you. Otherwise, I hope this post inspires you to try a similar automation in your workflow. And yes, I’m aware that Things offers support for connecting your calendars. But the Things ↔︎ Calendar integration is just a list of links to calendar events, not first-class tasks that you can interact with, so this approach offers unique benefits. Things also offers an example Shortcut in the Things Shortcuts Gallery called “Prepare for Events” that does something similar – but it lacks some important features that I have implemented in my Shortcut. Keep reading to learn more!

     ↩︎
  3. It’s been a while since I’ve been an Android user, but Todoist was my favorite of all todo list apps on Android at the time, and I still recommend it to Android users to this day. ↩︎

  4. And whatever couldn’t be automated was semi-automated by my personal assistant who would groom my todo list on a daily basis. ↩︎

  5. I switched from Android to iOS with the iPhone 11 Pro and I never looked back. ↩︎

  6. If you ever want to change your mind about these choices, just long-press on the PMD Shortcut in Shortcuts.app, then select “Details” → “Setup” → “Customize Shortcut…” to change how you answer the import questions. You can also just dig into the Shortcut itself and edit the “Text” actions that contain the task tag and task checklist. ↩︎

  7. Daily planning vs weekly planning. I’ve shared this PMD workflow with a number of associates who have inquired about my favorite productivity hacks over the years, and one of the questions I would get most often was “why daily?” or “why not weekly planning?” My answer is based on a mix of experience, personal preference, and role bias (more “manager” than “individual contributor”). If your calendar for a given week doesn’t change from Monday morning through the end of the week, then weekly planning might be possible. But for myself I have found that my calendar is quite fluid. Events can be scheduled, rescheduled, and/or canceled on relatively short notice. ↩︎