Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.7: Create a 'New To Do' Service Apps
Make it easier to create To Do items for iCal's Reminders list by creating a Service that can be invoked from the contextual menu or a keyboard shortcut.

Here's the procedure:
  • Launch Automator and create a new Service.
  • At the top of the workflow, set the following options, which are the default: Service receives selected text in any application.
  • Add New Action » Set Value of Variable. (To find this action, enter Set Value of Variable in the Automator search field.)
  • Click the Variable: pop up menu and select New variable...
  • Name the variable To Do Title (or whatever you like) and click Done.
  • Add New Action » New To Do Item. (To find this action, enter New To Do Item in the Automator search field.)
  • From the Variable section in the bottom right of the Automator window, drag the new variable To Do Title into the Title: field of the action.
  • In the New To Do Item action, click the Options button and select Ignore this action's input and Show this action when the workflow runs.
  • Save the new Service as New To Do and quit Automator.
  • Go to any application with some text content, select some of the text, right click, and select New To Do from the contextual menu. (You may have to go inside the Services sub-menu if you have a lot of Services that act on this data type.)
  • A New To Do Item dialog window will appear with the selected text in the title field. You can edit the title if you like. Select the desired options and click Continue.
  • Switch to iCal and you'll see your new To Do item in the Reminders list.
If you want to be able to invoke the command with a keyboard shortcut, go to System Preferences » Keyboard » Services » Text » New To Do and double-click in the invisible column to the right of the text. (Look for other keyboard shortcut listings if you can't figure out where to click. The list is divided into two invisible columns and if you don't double-click far enough to the right, nothing will happen.)

Advanced Notes: There are a few things that aren't immediately obvious about creating this Automator workflow that might be useful if you create others. It took me quite a bit of trial and error to figure these things out, so let me share them with you.

Most of you probably understand that creating this workflow as a Service allows it to show up in the contextual menu, the Services menu, and to be assigned a keyboard shortcut in the Keyboard System Preferences. Simply adding the New To Do Item action will create a new To Do item in iCal's Reminders list using the selected text as the title, but you won't be able to set any other options and you won't receive feedback that anything has happened. Selecting the option Show this action when the workflow runs presents the dialog box that allows you to set options for your new To Do item. When you create the Service, you can set what the default options should be and these defaults can always be changed by re-editing the workflow document in Automator.

The tricky part is figuring out how to make the title editable. With only the New To Do Item action, the title field in the resulting dialog is blank, but editing the field has no effect on the reminder that is created. This was very perplexing. By adding the Set Value of Variable action and placing that variable in the title field of the New To Do Item action, the selected text appears in the title field of the To Do item. However, editing the text in this field in the dialog box still has no affect.

The New To Do Item action is designed to always use the selected text as the title of the To Do item, no matter what you do in the dialog box. By selecting the Ignore this action's input option and using a variable to fill in the title filed using the selected text, you can then edit the title field as you are creating the new To Do item. This was the key to achieving the desired behavior.

I hope you find this Service useful, and I hope these technical tips help you create other useful Automator workflows.

[crarko adds: I tested most of this and it worked as described. It's a pretty straightforward Automator Service. The hint was a bit difficult to edit, so if any errors were introduced let me know in a comment and I'll correct them.]
  • Currently 3.83 / 5
  You rated: 1 / 5 (6 votes cast)

10.7: Create a 'New To Do' Service | 6 comments | Create New Account
Click here to return to the '10.7: Create a 'New To Do' Service' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.7: Create a 'New To Do' Service
Authored by: rickroberts on Dec 01, '11 04:15:11PM

I wish I could invoke this without selecting text first. Sometimes Iím in an application and think of something for my reminder list. I want to bring up the dialog box and boom, be on with my work without ever switch to iCal. This hint sort of gets me there, but I have to select some text first.

[ Reply to This | # ]
10.7: Create a 'New To Do' Service
Authored by: TonyT on Dec 02, '11 05:23:39AM


[ Reply to This | # ]
10.7: Create a 'New To Do' Service
Authored by: TonyT on Dec 02, '11 04:54:58AM

Wasn't this already in MacWorld:
Automator workflow of the month: Create to-do items anywhere

[ Reply to This | # ]
10.7: Create a 'New To Do' Service
Authored by: dashard on Dec 02, '11 09:17:42AM
Get yourself a copy of LaunchBar and do this (easily) and much much much much more. (No offense to the OP.)

[ Reply to This | # ]
10.7: Create a 'New To Do' Service
Authored by: incogenator on Dec 05, '11 01:08:12AM

great tip. i was just looking for this a couple of days ago.

[ Reply to This | # ]
10.7: Create a 'New To Do' Service
Authored by: incogenator on Dec 06, '11 03:48:10AM

i reread the hint and the author has done a good job researching and putting this together especially that part about using the variable and ignoring input. i'd previously given up on doing something like this myself.

now it would be great if anyone could figure out how to edit or otherwise populate the 'note' field in a todo as the automator action does not include an option for this at all.

[ Reply to This | # ]