Having a Good Morning with ToDoist and iOS 12 Shortcuts



Update: Literally this same day ToDoist released an app update that significantly simplifies the integration with Shortcuts. It will only get you to 70% of this shortcut, but for 90% of people that will be more than enough. I refuse to delete this post, though, cuz I had fun writing it so ¯\_(ツ)_/¯ 

I spent a few hours setting up this morning workflow for myself, and because I want to get something else out of this wasted time [footnote]IMO time well spent, actually.[/footnote] I’m gonna tell you about it.

Background Information

  1. I keep a logbook in bear which I use to track how my day went. It’s both a way to collect ideas for writing, a way to track my life and mood, and a way to keep a diary without having to start each entry with “Dear Diary”.
  2. I use ToDoist as my task manager, and although I love it very much, on busy days I get 30+ tasks in it, which makes using it as a “morning routine” reminder app very tedious.

So, what I need is a way to start my morning off right and get some easy tasks out of the way as soon as I wake up. This goal itself has to be easily achievable and easy to remember. I need to say “I’m awake” and have the rest of the morning take care of itself.

Challenge: Use my Phone to Have a Good Morning

I need a workflow that is going to log the time I woke up, start a playlist of nice music, and show me the things I need to do first thing in the morning. What I can’t do is have to open a gazillion apps to make it happen and be overwhelmed with 30+ things I’m going to have to do later in the day. I only need to see what I need to do to have a good morning.

Solution: iOS 12 Shortcuts + Bear + Todoist

Step 1 is logging my wake-up time in Bear.

To do this I create a workflow which:

  1. Opens Bear
  2. Creates a note with todays date, my wakeup time, and the #logbook tag.

This is easy and this is how you do it:

Create a “Text” field and have it automatically fill in everything. This specific workflow does the following:

  1. Makes today’s date the title of the note “ # Current Date”
  2. Logs my wakeup time with “Current Date + I’m Awake”
  3. Adds a #logbook tag to the note.
  4. Once it’s all done it takes me back to the shortcuts app to move on with the rest of the workflow.

Note: The first “Current Date” variable sets a Month-date-year format. It looks like this:

The second “Current Date” function gives me the Horus and minutes. It looks like this:

Step 2: Show me what I need to do in the morning

This one is the complicated one and took me a long time to figure out. I’m doing all this on MacOS.

To get this done you need to:

  1. Create a “Morning” filter in ToDoist (easy)
  2. Get Shortcuts to open it (not so easy)

Creating a “Morning” Filter

I use priority flags to break my tasks into Morning, Office, Evening, and Night. You can use an @Morning label.

So, create a filter and have the search query be:

Today & @Morning

Then go and create a bunch of things you want to do in the morning every day. Here’s what mine looks like.

This is my morning routine. Any other tasks I need to do first thing in the morning also get a @Morning label and automatically show up in my filter view.

Here’s what that looks like today:

Now, the difficult part.

Creating a Shortcut to Your Morning Filter

I’m going to skip all the background information for how this works and why, and just give the step-by-step of how to do it.

Step 1: Get your API token

  1. Go to todoist.com -> Settings -> Settings -> Integrations
  2. Copy your API token at the bottom of that page.

Step 2: Get your Filter ID

  1. Open up Terminal on your computer
  2. Copy-paste this into there
curl https://todoist.com/api/v7/sync \
    -d sync_token='*' \
    -d resource_types='["filters"]'
  1. Hit “enter”

You’re going to get a bunch of gibberish as the result.

  1. Copy the gibberish
  2. Paste it into here: https://jsonformatter.curiousconcept.com
  3. Hit “Process”
  4. Copy-paste the results into TextEdit
  5. Find your “Morning” filter and copy its ID

  1. Now, take that ID and add it to this URL: todoist://filter?id=
  2. Now, take that URL and paste it into a Shortcuts URL field

  1. Add an “Open URLs” step.

And you’re done.

Step 3: Creating a Siri Shortcut

  1. Hit the little “Settings” button

  1. Add to Siri

  1. Record the phrase you want to use to trigger your shortcut (something like “I’m awake”)

You’re Done

Now when you say “Hey Siri, I’m awake” this workflow will run, your wakeup time will be tracked, and you’ll see only the things you want to do every morning, without getting distracted and overwhelmed by the hundreds of other things you’ll have to do later in the day.

Have a good morning!