Creating an Automator service to add email messages to Reminders.app

Solution 1:

I don't have the keyboard shortcut, but I just finished an Actionscript that adds the email Subject as the Reminder Title, the email Body as the Reminder Content and then adds a link to the actual email at the bottom of the Reminder. Hope this helps!

on run {input, parameters}
tell application "Calendar" to activate
tell application "Calendar"
    set miniaturized of window 1 to true
    tell application "Mail"
        set theSelection to selection
        set theMessage to item 1 of theSelection
        set theurl to "message://%3c" & theMessage's message id & "%3e"
        set thedes to theMessage's content & "Show in Mail " & "message://%3c" & theMessage's message id & "%3e"
        set input to theMessage's subject
    end tell
end tell
tell application "Calendar"
    tell application "Reminders"
        make new reminder at end with properties {name:input, body:thedes}
        tell application "Reminders" to activate
    end tell
end tell
return input

end run

Solution 2:

You can create a shortcut for a service. In System Preferences, Keyboard and Mouse, Keyboard Shortcuts: add a new shortcut for All Applications (if you want to use it everywhere). Make sure to match the services menu text exactly, including case and spacing.

Solution 3:

I was able to create a service that runs an AppleScripts and can be activated with a keyboard shortcut.

First I add the Get Selected Mail Messages action with Messages selected in the options. Then I used the Run AppleScript action with the following AppleScript:

on run {input, parameters}

tell application "Mail"
    set _sel to selection
    set _links to {}

    set the _message to item 1 ¬
        of the _sel
    set theSubject to subject of _message
    set message_id to the message id of the _message
end tell

set message_url to "message://%3c" & message_id & "%3e"
set end of _links to message_url
set the clipboard to (_links as string)

set theBody to the clipboard

tell application "Reminders"
    set theReminder to make new reminder with properties {name:theSubject, body:theBody, priority:1}

end tell

return input

end run

This doesn't add the body of the email to Reminders.app, but it does use the subject as the reminder's title and adds a link to the email message in the reminder's note field.