How I Use Things 3 Todoist + Google Home + Keyboard Maestro

How I Use Things 3

Over the past year I have really delved into using Apple Script and Keyboard Maestro to really improve how I handle my ToDo List on Things 3. With the help of people from this forum and the Keyboard Maestro forum I have a few custom scripts and general workflows that I am pretty pleased with and I thought I would share.

I have toyed around with both Alexa and Google Assistant. For Adding items to Things the workflow I have developed works better with Google Assistant because I can tell it which list to go to.

The first step is Projects in ToDoIst that match your area in things.

The biggest downside is to get this to work properly here is the general flow as 3 different apps or services are involved

Google Assistant

-Tell Google Assistant What task to add and to which list (Area in Things)

-With IFTTT It can select where in ToDoIst to add the

-Once a Task is Added to ToDoist I have a Zapier workflow that send the tasks to Things

This feels a bit complicated but once set up works pretty well.


“Hey Google add Restart Computer to my Work List”

-IFTTT Applet Adds Restart Computer” from my Google “Work list” to my ToDoIst “Work list”

-I have a Zapier Zap that takes any item added to any list in ToDoIst and Adds it to Things. I have one to run for Each List which I have mirrored as Areas in my Things app.

Ex: New Item Added to ToDoist Work List (ZAP) Create new item in things. Now my issue with Things is the only thing It can do is create a task in the Inbox. However since I have a Zap for each item list in Zapier I add a Keybord to the Notes for the things inbox to make sure the running Apple script knows where to sort the item.

Task Name: “Restart Computer”

Task Notes (Added by Zapier)

“Work List” “Date Added”

Now is where the magic with AppleScript happens (See below)

Total time it takes to get the items to Things is about 10 minutes. My biggest pet peeve is that here are just so many points of failure for this, since I created it all myself its easy to troubleshoot but I would prefer if Things would just support voice assistants.

Amazon Alexa

The Alexa workflow is a bit more difficult because I can’t get IFTTT to recognize custom Lists from Google, so I don’t really use Alexa for this. I discovered last week the Any.Do skill allows you to add to custom lists and you can run Zaps for Zapier, but I found the

Apple script From Things Inbox

Scripts from Inbox

I do not really like to use the Inbox, so my first real task was that when I added items from Alexa or Google Assistant it would automatically put the items in the Inbox.

So my first real task was to automatically get the items from my Inbox to my Today view. I found most of the Things I would add VIA voice assistant would be for the Today view anyways.

I have the attached script run on my desktop computer which is always on every 5 minutes as long as the computer has been idle for 10 minutes. I have also set a Keyboard Shortcut to trigger it to run as well when I am using the machine. (All of this can be done in Keyboard Maestro)

I have attached the script here; be sure you add your own things token but otherwise this will take any item from your inbox and add it to your Today View and sort by area.

The biggest struggle I had was I use Areas pretty strictly so I wanted to make sure the items were sorted to the correct Area. So I set the script to sort items to the correct areas by Keyword in the Notes area.


“Work” – Move into Work Area of the today view

“Home” – Move into home area of the today view.

I have even more recently moved to using Emojis to ID the lists that way if a word like Home Depot is in my Errand Notes it doesn’t get sorted to the Home list by the script. However I have noticed that takes about 1 hour to get the Tasks to Things plus it has a subscription cost and since I am only really using it as a conduit to Things, I am not going to move past this month,

Sorry for the lost post but my main goal here was to help inspire any other Things users to be able to use the app more effectively. Also I am sure some of the Keyboard Maestro experts might be like “hey decent workflow but XXXXX would be way simpler” and I can make those adjustments.

Feel free to PM me with any questions as this can seem kind of overwhelming to set up.

1 Like

Forgot to share the best part, the apple script!

tell application "Things3"
set theToken to "INSERT YOUR TOKEN HERE"

set theTodos to to dos of list "Inbox"
repeat with aTodo in theTodos
	set textOfNote to notes of aTodo as text
	if class of aTodo is project then
		set urlCommand to "update-project"
		set urlCommand to "update"
	end if
	set doUpdate to true
	if (textOfNote contains "📊") then
		set area of aTodo to area "📊 Work"
		set tag names of aTodo to "Work"
	else if (textOfNote contains "🏠") then
		set area of aTodo to area "🏠 Home"
		set tag names of aTodo to "Home"
		set tag names of aTodo to "Home"
		set doUpdate to false
	end if
	if (doUpdate) then
		set theUrl to "things:///" & urlCommand & "?auth-token=" & theToken & "&id=" & (id of aTodo as text) & "&when=Today"
		open location theUrl
	end if
end repeat

end tell

1 Like

Look at @Brian_Martin getting all fancy and automated on us! :smiley: