Filed under: Features, How-tos
Mac Automation: Quickly add to-dos/events to iCal
How many times have you been watching TV and wanted to quickly add a to-do or event (maybe both) to iCal? In this Mac Automation post, I'm going to show you how to create both a to-do and an iCal event from within Automator. You will be able to add new items to iCal without ever having to open it. Let's begin. Creating the Automator Workflow (New iCal Event)
First we need to create an Automator workflow that will add the to-do and event to iCal. To create the workflow, just add the "New iCal Events" action to the workflow area. Before you continue, be sure to click the "Options" button at the bottom of the action and select the "Show this action when the workflow runs" checkbox.
Saving the Automator Workflow
To give you quick and easy access to the creation of iCal events, you can choose the Save As method of your choice.
Running the Workflow
To run the workflow, click the "Run" button in the top-right corner of Automator (or launch it as an application). When you run the workflow, you will be presented with a dialog that will ask you to specify a Name, Date, Time, and other information. When you press "Continue," the workflow will create the event in iCal.

Keep reading to learn how to quickly create to-dos in iCal.
First, we need to create an Automator workflow that will add the to-do and event to iCal. To create the workflow, just add the "New iCal To Do Item" action to the workflow area. Before you continue, be sure to click the "Options" button at the bottom of the action and select the "Show this action when the workflow runs" checkbox.
Saving the Automator Workflow
To give you quick and easy access to the creation of iCal events, you can choose the Save As method of your choice.
Running the Workflow
To run the workflow, click the "Run" button in the top-right corner of Automator (or launch it as an application). When you run the workflow, you will be presented with a dialog that will ask you to specify a Due Date, Priority, and calendar to add the information to. When you press "Continue," the workflow will create the to-do in iCal.

Want to see more Automator how-tos? Visit TUAW's Mac Automation section today. Do you have a task you would like to automate with an Automator Action or AppleScript? Send us a tip and you will get your questions answered!
Get a WordPress.com Blog
![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 1)
Tim said 11:14PM on 9-29-2008
Now, can you make this an applescript that can be triggered by an iCal event alarm, so that I can have recurring to-dos? That would be awesome.
Here's what I want to do: I have events that are set up as recurring all-day events for my bills. I want to have an alarm run 5 days before to add a to-do that I can then see in a concise way what bills are due, what has and has not been paid, etc. iCal doesn't have a good way to do that, and I know it can't be that hard. I'd like the to-do to be named the same as the all-day event.
Anyone?
Reply
Randy said 12:05AM on 9-30-2008
i SECOND that motion
Martin said 2:17AM on 9-30-2008
You should check out the free Reminder widget at http://gravityapps.com/reminder/index.html
Probably the fastest way to add Todos and Events
Reply
Jash Sayani said 2:47AM on 9-30-2008
Nice. But can I type a mail and automate it to send it at a particular time with Entourage 08....?
Reply
Steven said 5:19AM on 9-30-2008
There's an easier way of quickly adding itemes to iCal if you have QuickSilver installed. This was explained 2 years ago here at TUAW: http://www.tuaw.com/2006/09/23/how-to-add-a-new-ical-event-from-quicksilver/
Reply
Jim Boutcher said 7:45AM on 9-30-2008
Try QuickCal... Quickest way to add todo's and events out there, with 'smart reminders' that set up one or more reminders - automatically - based on the length of time remaining to the event you just created...
http://quickcal.smellypuppy.com
Barron said 11:21AM on 9-30-2008
I've been adding events the QS way for a little while and just tried QuickCal. QuickCal FTW! (Though I don't love the new color scheme.)
barbara said 7:33AM on 9-30-2008
problem is: this does not work. I think there is an error with the add to ical workflow. MacWorld has mentioned this a few months back.
Reply
Barron said 11:07AM on 9-30-2008
I had the same problem. Saved it as an app. Ran it. Added iCal Event. And....nothing. No new event on my calendar.
Xtopher Robin said 11:15AM on 9-30-2008
Yup, it doesn't work. I can create a new calendar from this action, but the event doesn't add.
Dominic said 8:32AM on 9-30-2008
I inclueded Growl Notification :) That rocks... but if I save the workflow as a Application it doesnt seem to work at all...
Reply
Elsa said 11:42AM on 9-30-2008
You could always just use FlexCal - hit a hotkey, type your todo and hit return. Voila, todo added to iCal (or hit it twice if you want to add an event).
See our site - www.flexgames.com/flexcal
Cheers.
Elsa
Xtopher Robin said 10:26PM on 9-30-2008
Elsa, FlexCal is perfect! I was bummed when the Automator script didn't work, but FlexCal works flawlessly! Definitely dropping a donation on payday!
Jake said 12:27PM on 9-30-2008
How the screw do I get ICal to let me enter all the information into an event (recurrence, time, alarm type & info, URL, notes) when I create the event, rather than having to create an event, then edit it to put in all the particulars? Seems like command N should result in a blank event with all details available for editing right from the get-go.
Reply
Arlo said 3:57PM on 9-30-2008
Because I use Things but am forced by work to use Entourage for my calendar, I wanted a way to add to-dos via Quicksilver when iCal was NOT running.
Ultimately, my solution involved using F-Script (www.fscript.org) to add to-dos directly to Leopard's Calendar Store. Here's the Applescript. Save it as todo.scpt and put it in ~/Library/Application Support/Quicksilver/Actions/
--
using terms from application "Quicksilver"
on process text theString
tell application "F-Script"
eval "(NSBundle bundleWithPath:'/System/Library/Frameworks/CalendarStore.framework') load."
eval "task := CalTask task."
eval "task setTitle: '" & theString & "'."
eval "task setCalendar:(CalCalendarStore defaultCalendarStore calendars objectAtIndex:0)."
eval "CalCalendarStore defaultCalendarStore saveTask:task error:nil."
quit
end tell
end process text
end using terms from
--
Bring up Quicksilver, hit period, type your to-do, tab, type "todo" and hit enter. Tada.
The caveat is that the to-do item only goes in your first listed calendar in iCal. For me, that calendar is called "Inbox" and is synced with the inbox in Things. Works for my workflow.
Perhaps this will help someone else.
Reply