TUESDAY TIPS: Create a Reminder from an Evernote note

Screen Shot 2013-02-13 at 5.30.23 PM

UPDATE: Evernote has released Reminders functionality, so unless you prefer to use the Apple Reminders app and this hacked together workflow, take a look at the solution Evernote came up with. It's pretty awesome. This one's only for the Mac folks. Apologies to the PC fans out there.

I've found several different "To Do" apps that I like, but none that do everything I need. I really don't need that much. I need a way to break my tasks into contexts, and a way to link to an Evernote note (if there is one that goes along with the task.) I also need it to be simple, and available on my Mac, iPad, and iPhone. I've never really been a huge fan of Apple's built-in Reminders app, but it made this little project incredibly simple. I select one or more notes in Evernote, select the script from the scripts menu, and the selected notes are sent to Reminders. The note title becomes the reminder, and a link back to the note is placed in the "note" area of the reminder. Clicking the link opens the Evernote note in its own window. It's not pretty or fancy, but it works.

If you want to try it, copy and paste the following code into Applescript Editor, and change the "theList" variable to match the list you want to use in Reminders. I'm pretty sure the list has to exist--it won't create the list for you. Save the script to your Evernote scripts folder (~/Library/Scripts/Applications/Evernote), and enable the script menu bar icon (in Applescript Editor preferences.) Once that's all done, simply select a note (or multiple notes,) in Evernote, then select this script from the scripts menu in the OS X menu bar.

If you find a way to improve on it, let me know. I'm not a programmer, so I'm always open to suggestions in that area.

Applescript:

--Change this variable to match the name of one of your Reminders lists.    
set theList to "INBOX"

tell application "Evernote"
        synchronize
        delay (3)
        --get selected notes
        set theSelection to selection

        --loop through selected messages
        repeat with theCurrentNote in theSelection

            --get information from the current note
            set myNoteTitle to title of theCurrentNote
            set myNoteLink to note link of theCurrentNote

            tell application "Reminders"
                set mylist to list theList
                tell mylist
                    make new reminder with properties {name:myNoteTitle, body:myNoteLink}
                end tell
            end tell
        end repeat
    end tell

Update

I added a few lines to automate the processing of the note in my workflow. The additional lines tag the note with "reminder" and move it to a notebook I use called "_ToDo".

(*
This has bits and pieces of different scripts I've found online. I just tweaked them a bit to fit my needs.

Variables to set:

theList = Whatever list you'd like the task added to in the Reminders App. In my testing, this list doesn't have to exist.
theTag = A tag to assign to the note once it's been processed by this script. This tag should already exist.
theNotebook = The notebook to move the note to after it's been processed by this script. The notebook should already exist.
*)

-------------------------
set theList to "INBOX"
set theTag to "reminder"
set theNotebook to "_ToDo"
-------------------------

tell application "Evernote"
    synchronize
    delay (3)
    --get selected notes
    set theSelection to selection

    --loop through selected messages
    repeat with theCurrentNote in theSelection

        --get information from the current note
        set myNoteTitle to title of theCurrentNote
        set myNoteLink to note link of theCurrentNote

        --finish up by adding a tag and moving the note to the ToDo notebook
        assign tag theTag to theCurrentNote
        move theCurrentNote to notebook theNotebook

        --create the reminder
        tell application "Reminders"
            set mylist to list theList
            tell mylist
                make new reminder with properties {name:myNoteTitle, body:myNoteLink}
            end tell
        end tell
    end repeat
    synchronize
end tell

[gallery type="rectangular" link="post" columns="2" ids="1843,1844"]