You can use AppleScript with Things to automate actions on your Mac. This page will help you get started.

Sometimes there are actions you want to perform which are repetitive, or complicated, or simply not possible in Things’ interface. AppleScript makes it possible to automate these actions and perform them quickly.

Below, you’ll find some example scripts that demonstrate what’s possible, learn how to run them, and find information on how to get started writing your own.

AppleScript is only available for Mac. Consider using Apple Shortcuts instead; it’s available on all devices, and provides functionality that isn’t available via AppleScript (e.g., editing headings and checklists).

What is AppleScript?

AppleScript is a scripting language that lets you automate actions in compatible apps, including Things. You can write scripts to create new to-dos, move items between projects, or perform other repetitive actions automatically.

While AppleScript is designed to be easy to read, it can be a bit tricky to learn, so we provide a few examples below.

Example Scripts

We’ve written a few scripts to demonstrate using AppleScript with Things. You can run them in Apple’s Script Editor by clicking the button.

Show Quick Entry

This script will reveal the Quick Entry panel, ready for you to type a new to-do.

tell application "Things3"
 show quick entry panel
end tell

Download Script

Show modification info

This script will show the creation and modification dates for a to-do. You must select a to-do before running it.

tell application "Things3"
 set selected to selected to dos
 if (count of selected) is 0 then
  display dialog "No items selected. Please select one or more to-dos before running this script." buttons {"OK"} with icon note
  return
 end if
 repeat with toDo in selected
  set msg to name of toDo & linefeed & linefeed & "Created on " & (creation date of toDo as text) & linefeed & "Modified on " & (modification date of toDo as text)
  display dialog msg buttons {"OK"} with icon note
 end repeat
end tell

Download Script

Import a text file as to-dos

A simple text file can be imported, with each row of text being used to create a new to-do. Download this demo text file and use the script below to import it to Things’ Inbox.

set chosenFile to (choose file with prompt "Select a file to import:")
open for access chosenFile

--- use newlines (linefeed) to separate values; if you prefer CSV, change the delimiter to: {","}
set fileContents to read chosenFile using delimiter {linefeed}
close access chosenFile

tell application "Things3"
 --- open/foreground Things and reveal destination list
 activate
 show list "Inbox"
 
 --- work in reverse to maintain order
 repeat with currentLine in reverse of fileContents
  --- use rows as each to-do's title (name)
  set newToDo to make new to do ¬
   with properties {name:currentLine} ¬
   at beginning of list "Inbox"
   
  --- here you can perform more operations using newToDo, if you’d like
 end repeat
end tell

Download Script

Run Your Scripts

You can run a script from directly inside the Script Editor app, but there are more convenient ways to do it. Here are a few options:

Apple Shortcuts

A script can be saved inside of a shortcut in Apple’s Shortcuts app. You can then run your shortcut to run the script. To do this, you’ll need to use Apple’s Run AppleScript action. To learn more, see Apple’s documentation.

Reminder: Even though your shortcut will sync over to mobile devices, it won’t run there, because those devices don’t support AppleScript.

Scripts Menus

There are two places in your Mac’s menu bar where you can put scripts for quick access: Things’s Scripts menu, or the system’s global Scripts menu.

Add a Scripts menu to Things

Once you’ve created a script, you can add it to Things’ menu bar at the top of your screen. This menu is only accessible when Things is running. Here’s how to set it up:

  1. Quit Things.
  2. Go to the menu bar at the top of your screen, and click GoGo to Folder...
  3. Paste this path into the pop-up window that opens: ~/Library/Containers/com.culturedcode.ThingsMac/Data/Library/Application Support
  4. Navigate to the folder Cultured Code – if it doesn't exist, create it.
  5. In that folder, create a new folder and name it Things Scripts.
  6. Move the script into that folder.
  7. Open Things again.
  8. In the menu bar at the top of your screen, check that the scripts menu has appeared (an S-shaped icon) and contains your script(s).

Any other scripts you add to that folder will also appear in Things’ scripts menu. To make running a script easier, set a custom keyboard shortcut.

You can also add scripts to your system's Scripts menu, which remains visible in your menu bar even when Things isn’t running. Here’s how to set it up:

  1. In Finder, go to /Applications/Utilities/ and open Script Editor.
  2. In Script Editor, go to Script EditorSettings.
  3. In the General settings pane, enable Show Script menu in menu bar.

This will reveal a Scripts menu (an S-shaped icon) on the right side of your menu bar. Next, you’ll need to create a folder for Things’ scripts:

  1. In Finder, go to ~/Library/Scripts/Applications/ (if you don’t see the Applications folder, create it).
  2. Create a folder called Things.
  3. Place any Things-related scripts here that you would like to access from your system’s global scripts menu.
Save as App

You can convert your script into a standalone application that runs without Script Editor by exporting it as a .app file. The exported app can be run like any other Mac application.

  1. Open your script in Script Editor.
  2. Go to FileExport...
  3. Choose save location and enter filename.
  4. Set File Format to Application.
  5. Click Save.

Write Your Own Scripts

If you’re interested in writing your own scripts, consult our technical documentation, but please note:

  • Not all of Things’ features are accessible via AppleScript; if it’s not documented, it’s not possible (for more power, use Apple Shortcuts). If you run into a bug with something that is documented, let us know.
  • We cannot provide assistance with writing or troubleshooting custom scripts.

You can also consult Apple’s Introduction to AppleScript and Commands Reference.


Please note that Script Editor is made by Apple. If you have any problems with that app, please contact Apple for assistance.