ベン・ギルド (Ben Guild)


How to import tasks/to-do list items into your Reminders app on iOS/iCloud using AppleScript

The Reminders app on iOS is actually pretty good!

I'd been trying to use Wunderlist, but the service has been really unstable recently (with multiple extended downtimes), and their site isn't even secured by HTTPS! Unacceptable.

The easiest way to import tasks into the Reminders app is through iCal on your Mac. — Unfortunately, as far as I can tell, getting tasks from one to the other isn't exactly automated unless you use an AppleScript (which I've put together and provided below), but it does the job.

AppleScript icon
The icon for AppleScript.

However, once you get setup in Reminders with your data, it's pushed seamlessly between your devices, and it feels great!

Apple's Mac OS X Mountain Lion (10.8) is coming this summer and will have a built-in Reminders app much like the iPhone and iPad. — This is what I'm personally holding out for. In the meantime, managing tasks via the iPhone, iPad, and also iCal on the Mac is a more than acceptable solution compared to what I was dealing with before.

Verify syncing via iCloud

Before getting started, I'm assuming that you've already created the lists that you want to import tasks into on your iPhone or iPad, enabled “Reminders” sync to iCloud on your device(s), and then also enabled “Calendar” sync on your Mac through the iCloud section of System Preferences.

If this is the case, then you should already see the same Reminders you already have listed on your iPhone, Mac, and/or iPad when toggling the “Reminders” column to be visible in iCal via the option in the “View” menu. (As mentioned, Mountain Lion will have its own separate Reminders app, like on iOS.)

Preparing for import

Now, there is one final preparation for getting your tasks into Reminders: Getting the data out of your existing tasks app! … This may be tricky. — However, most apps offers some method of making this happen. For example, Wunderlist enables you to email an entire task list to someone, so I simply did this (but to myself) and just copied it into a plain-text file using TextEdit.

The key thing is that it must be a plain text file, so you can make it one by using the option within the “Format” menu of TextEdit. Also, you must have only one task per line… with no skipped lines! — If you fail to do either of these things, you'll end up with additional blank or jibberish tasks in your list! 😰

The AppleScript

UPDATE: Here's a script for Mac OS X Mavericks or newer, which is probably what you have at this point:

set theFileContents to (read file "Users:benguild:Downloads:Reminders.txt") -- Change this to the path to your downloaded text file with your tasks in it! (Note the : instead of a / between folders) Or, just name them Reminders.txt and put them in your downloads folder
set theLines to paragraphs of theFileContents

repeat with eachLine in theLines
	tell application "Reminders"
		tell list "Reminders" -- Change this to your Reminders list name
			make new reminder at end with properties {name:eachLine}
		end tell
	end tell
end repeat

… If you're on a Mac OS version older than Mavericks, try this original version instead:

set theFileContents to (read file "Users:benguild:Downloads:Reminders.txt") -- Change this to the path to your downloaded text file with your tasks in it! (Note the : instead of a / between folders) Or, just name them Reminders.txt and put them in your downloads folder
set theLines to paragraphs of theFileContents

repeat with eachLine in theLines
	tell application "Calendar"
		tell calendar "Reminders" -- Change this to your Reminders list name
			make new todo at end with properties {summary:eachLine}
		end tell
	end tell
end repeat

Run the correct AppleScript for your system (using the AppleScript Editor found in your Mac's Utilities folder, if you're not familiar!) after modifying each of the paths and task list names in the script as you desire.

The data will be added to the appropriate lists in iCal automatically, and then synced to your other devices afterward if already setup via iCloud. 👍🏻