fbpx

Shortcut to Create Reminders in Any Mac App

Published:
Last Updated: Oct 01, 2021

Written by

This article contains affiliate links, which means that I may receive a commission if you make a purchase using these links.

In this article, I will demonstrate how to use Apple Script and Automator to create reminders in Apple Mail and any other application via a shortcut. I have tested the described technique works in OS X 10.9 Mavericks and macOS 11.4 Big Sur and all releases in between.

How to create reminders in Apple Mail

One feature I sorely miss in Apple’s Mail is the ability to flag an email for follow-up quickly and set a reminder or follow-up date. Microsoft Outlook 2011 has that ability, but I prefer to keep my workflows as streamlined as possible and that includes using Apple’s Reminders and Mail.

You can flag emails in Mail, and the flags synchronize via iCloud to iOS, but unfortunately, you can’t set a reminder or follow-up dates, and flagged emails on iOS only show in the “Flagged” mailbox if you leave them in their respective Inbox.

I keep a clean inbox and usually move every email that I have either processed or that requires me to wait for someone else before I can further process it into an archive mailbox.

So none of my flagged emails show in the Flagged mailbox on iOS. That makes flagging alone less useful as it already is due to lack of integration with Reminders.

A manual workaround for me has been to flag emails in Mail and then drag and drop them into one of my Reminders lists. There I can set a reminder date and check it off as complete when I’m done. Dragging an email into Reminders also conveniently adds a link to the email in Mail. This approach has worked well, but it still requires more manual interaction than I like.

Apple Script and Automator

So I was googling for alternatives and finally decided to approach the problem via AppleScript. I did some software development in the past but my programming skills are about on the same level as my handyman skills, and my wife can attest to how bad they are.

Nevertheless, after some research and trial and error, I managed to put together a script that, when triggered (via a keyboard shortcut or click on the service menu) creates an entry in Reminders and sets a remind me date based on user input.

It also flags the email in Mail. When running against an email whose subject matches an existing reminder, it asks if it should mark the reminder as complete and if so, does it and also unflags the email in Mail.

You can download the complete script from here.

Create a service in Automator

To trigger the script conveniently you want to save it as a Service and to do so, open Automator (a utility that ships with macOS) and select Service.

Shortcut to create reminders in Apple Mail and other applications
Create a new Service

Next, search for AppleScript in the search bar and drag it onto the area on the right side. Select “no input” and “Mail” in the drop-down boxes.

Shortcut to create reminders in Apple Mail and other applications
Add Apple Script action and change settings

Delete all the code in the AppleScript box on the right and paste the code of my script.

Shortcut to create reminders in Apple Mail and other applications
Delete sample code

Make sure to change the following lines to reflect your account names in Mail and list names in Reminders. If you have only a single email account and Reminders list, just set both pairs to the same value. For example,  iWorkAccountName = PersonalAccountName = iCloud and the same for *RemindersList.
WorkAccountName to "Exchange"
WorkRemindersList to "Work"
PersonalAccountName to "iCloud"
PersonalRemindersList to "Personal"

Additionally, you may want to change the flag color the script uses. I have seven flag colors in Mail, and #6 is Purple. Since the index in AppleScript starts counting at 0 instead of 1, I set FlagIndex to 5 below.
set FlagIndex to 5

If your system language is not set to English, you may also have to change the following line of the code:

#default list name in Reminders
set RemindersList to "Reminders"

Apple translates the term “Reminders” into the system language. For example, on a Dutch system, you would have to change Reminders to Herinneringen. Thanks to Gideon, one of my readers, for this tip!

Then click the “hammer” icon to compile the script and to make sure there are no syntax errors.

Shortcut to create reminders in Apple Mail and other applications
Compile script

Finally, save the service script (Cmd + s) and give it any name you want. I called mine “Create reminder from email.”

Shortcut to create reminders in Apple Mail and other applications
Save service

How to use the service in Apple Mail

Now you may have to restart Mail to see the service under Mail -> Services -> Create reminder from email.

Shortcut to create reminders in Apple Mail and other applications
Execute Create email from reminder service

To test the script select an email and go to Mail -> Services -> Create reminder from email. You should see a dialog appearing like the one in the screenshot before. Once you have selected the preferred follow-up time, a reminder will be created, and the email will be flagged.

Shortcut to create reminders in Apple Mail and other applications
Pick follow-up time

If you know AppleScript, you can quickly change the follow-up time choices.

Shortcut to create reminders in Apple Mail and other applications
Verify that reminder was created successfully

If you run the script again on the same email the following dialog appears and allows you to mark the reminder as complete:

Shortcut to create reminders in Apple Mail and other applications
Mark reminder as completed

Last but not least you may want to add a keyboard shortcut, so you don’t have to go through Mail -> Services -> Create reminder from email all the time. To do so go to Mail -> Services -> Service Preferences and scroll down to General. Select the service you just created and assign a keyboard shortcut. In my case, I decided to use Cmd + Ctrl + R.

Shortcut to create reminders in Apple Mail and other applications
Create a keyboard shortcut

From now on pressing that key combination triggers the script. One thing I have noticed is that running the script in the AppleScript Editor is significantly faster than running it as a service.

Suppress privacy pop up

When you first run the service out of Mail, you may get a pop-up (depending on your version of macOS) asking if you allow Mail access to your Reminders. You have to say yes because otherwise, the script won’t run as indicated by one of my readers (thanks, Christian).

In case you haven’t said yes, or you don’t remember, you can verify if Mail has access to Reminders via System Preferences –> Security & Privacy –> Privacy –> Reminders. Make sure Mail is there and checked. You may have to click on the lock icon in the lower left corner to make changes.

Shortcut to create reminders in Apple Mail and other applications
Change privacy settings

How to create reminders from any application via a global shortcut

Let’s apply what we have learned above to develop a simple script that allows us to create a reminder via a global keyboard shortcut from any application.

The advantage of a global shortcut

As a global shortcut, as the name implies, can be invoked from anywhere, no matter what application you are in.

You can download the complete script from here.

Step by Step Instructions

Adding a Service using Automator and assigning it a global keyboard shortcut is simple. Here are the steps involved:

  1. Launch Automator
  2. Create a New Document
  3. Select Service
  4. Search for AppleScript and drag it over to the right side as an action
  5. Delete the sample code and paste in my script
  6. Make sure to select “Service receives: no input.”
  7. Compile it to make sure there are no syntax errors
  8. Save the Service. For example “Create Reminder”
  9. Close Automator
  10. Open System Preferences and go into Keyboard settings
  11. Go to Shortcut tabs and select Services
  12. Scroll down until you see your Service
  13. Click on “add shortcut” and press your key combination of choice
  14. I use Control+Option+Command+r
  15. Close System Preferences

To see if your new Service and keyboard shortcuts works press the key combination you have chosen, and you should see a dialog like the one in the screenshot below.

Shortcut to create reminders in Apple Mail and other applications
Create Reminder with specific due date
Shortcut to create reminders in Apple Mail and other applications
Create Reminder with default due date

You have two options:

  • Enter the subject name of the reminder only, such as “Buy milk” or
  • Enter a prefix indicating the due date in hours, followed by a: and the subject. For example 2:Buy milk, which will add a due date of two hours in the future

If you do not enter a due date, the script will default to 2 hours. Of course, you can change that default value in the script to suit your needs.

Permissions Issue

Depending on the version of macOS you have, you may get the following dialog, asking if System Preferences can get access to your Reminders. Just click OK. You can double-check if the permissions were granted via the Privacy Settings.

Shortcut to create reminders in Apple Mail and other applications
Launch Security & Privacy Settings
Shortcut to create reminders in Apple Mail and other applications
Allow access to Reminders
Shortcut to create reminders in Apple Mail and other applications
Confirm Access to Reminders

Issues in macOS 10.14 Mojave (Beta)

Apple has made some changes on how macOS protects access to application data, and as a result, if you use the above scripts you will likely see an error message like in the screenshot below: The action “Run AppleScript” encountered an error: “Not authorized to send Apple events to Mail.”

Apple Script issue on macOS 10.14 Mojave (Beta)
Apple Script issue on macOS 10.14 Mojave (Beta)

I’m not aware of any workaround of this, but I expect Apple to fix the problem or give users a choice to allow access to Mail from the “Run Apple Script” event framework.

Shortcut to create reminders in Apple Mail and other applications

I hope you find my scripts useful and if you do, I’d appreciate if you left me some feedback. The code is released as-is, and you can use it where ever you want to.

125 thoughts on “Shortcut to Create Reminders in Any Mac App”

  1. Hi Michael,

    Thank you for this. I don’t think it works with current OS versions though – any chance you might update it?

    Zak

    Reply
  2. Hi Michael,
    Thanks for this – saved me writing my own!
    I tested it on Big Sur and it works perfectly with 1 change:
    set theUrl to {“message://%3C” & my replaceText(theOrigMessageId, “%”, “%25”) & “%3E”}

    ie I needed to add the ‘//’ after ‘message:’ otherwise the URL would not be clickable.

    Thanks again.

    Reply
  3. *Clickable URL in Catalina*
    I had to enhance my URL part with two “slashes” to work again:
    set theUrl to {“message://%3C” & my replaceText(theOrigMessageId, “%”, “%25”) & “%3E”}

    Reply
  4. Hi, doesn’t work for me on Catalina (first time I am trying to add the reminder to Automator).
    Does Any one success yo make it work on Catalina?
    Running it: I Got the error as running: script doesn’t understand “WorkAccountName”
    Thanks for sharing your experience
    ReGards
    Sylvian

    Reply
  5. If you use this in Mac OS Mojave, and the Reminder list is in a group the script will error “Cant get list”

    Reply
  6. Hello Micheal. Do you know how we can adapt this script now to work with macOS Catalina, since the reminders work with emails differently now. Thank you.

    Reply
    • Hi Rabih,

      Since I expect Apple to make further changes to Catalina, I’ll wait until the GM before doing any extensive testing. Last year macOS Beta didn’t work but the final release did. So I’d just wait a little…

      Reply
  7. I have the same issue that others have mentioned that there is a delay on activation prior to the dialogue asking for the delay interval. The dialogue come up immediately when run within Automator or Script Editor.

    Reply
  8. Running a huge amount of tasks/research/brainstorming snippets through Reminders (macOS and iOS) into Omnifocus, Omnioutliner and MindNode on iOS. Your Quickentry Reminders Script (minus reminder time) is proving invaluable in that workflow. I’m so appreciative. A thousand thanks! You Rock!

    Reply
  9. Thanks for this script Michael. I’ve been using iPad and iPhone for years, but had kept on using Office/Outlook until recently when I ditched windows and went Mac. I was sorely missing the ability to set reminders on emails and went hunting for a solution. Yours was very quick to set up and works like a dream. It’s also given me a look into automation which I’m sure I’ll be tinkering with myself in the future :-) Thanks again.

    Reply
    • Hi Dave!

      I haven’t checked it Outlook supports Apple Script, but I guess if you have Reminders enabled for your mail account, any mail flagged in Outlook would automatically pop up as a reminder in the Reminders app. At least, that was the case when I last used Outlook with Exchange a few months ago.

      Reply
  10. Hi,

    great script.
    How can i make a Reminder without a remindMeDate?
    This doesn’t work: set remindMeDate to ” “.

    Thanks a lot!

    Reply
    • Hi Wolfgang,

      Simply omit the whole “remind me date:reminder_time,” parameter. So your statement would look like this:

      set reminder_id to make new reminder with properties {name:reminder_name} –create reminder

      Reply
  11. Hi, I was just wondering about the fix finder column width action, is that written about anywhere? I can’t tell you how many times I adjust that every day, that could be an amazing time saver.

    Reply
  12. Mike,

    Thank you for replying. I have “Mail” in that box. It’s weird. Sigh. I can send you a screen shot if you’d like. Just tell me where to go with it.

    Reply
  13. AWESOME script – but I think I am having a PICNIC problem (Problem in Chair, Not in Computer).

    It works fine when I test run it through the Automator interface. It seems to save fine (and I can find it in my User/Library/Services, but it doesn’t show up under Mail services (have restarted Mail) or in the keyboard shortcut or in the Automator library. I did the whole thing again, saved and it asked if I wanted to replace the existing, so I am pretty sure it is there and works.

    Any hints on what I am doing wrong?

    Thank you so much!

    Reply
  14. This is an excellent tutorial and a very useful script!
    Thank you so much for it!

    Send you a warm thank you,
    Sebastian

    Reply
  15. Hey Michael, excellent script!

    Would it be possible to manually specify the date of the reminder notification? That would be great!

    Reply
  16. Script doesn’t work in Sierra – it compiles fine and sets the flag but the reminder is never created. Any ideas?

    Reply
  17. Hey, All

    Love the script, and wanted to know as a newcomer. Is there an easy way to mod this so that I can use it for another app other than ‘Reminder’ i.e. GoodTask?

    Reply
    • Hi Deval,

      I believe you can use Siri for that. Just open an email in the iOS Mail.app, launch Siri and say “Remind me about this”. I am on an airplane right now and can’t try it, but I will confirm it later.

      Reply
    • Hi Ash!

      Simply add another variable, for example:

      set WorkAccountName2 to “Exchange2” and then duplicate each line where it is used and change the name. If you cannot get it to work let me know and I’ll send you an updated script!

      Reply
  18. Hello Michael,

    When I click: Mail > Services > Reminder I get the following message:
    The action “Run AppleScript” encountered an error

    Still it gives a purple flag. What is going wrong?

    Could it be in this part?:
    # Set this according to your email account names and Reminder’s lists
    set WorkAccountName to “[email protected]
    set WorkRemindersList to “Work”
    set PersonalAccountName to “[email protected]
    set PersonalRemindersList to “Google”
    # On my machine 5 is the Purple flag, which is the color I would like to use for mails flagged as Reminder
    set FlagIndex to 5

    Reply
    • Hi Gideon,

      Try to run the script directly from the Apple Script Editor to see where it stops. I don’t recall, but it could also be that the FlagIndex starts counting at 0. So your 5th flag may indeed be at index 4.

      Reply
      • Hi Michael,

        I dit try to change that but still it gives the same error.
        The Flags turns Yellow (thats good because in want that). But it is n’t giving any reminder when I test.

        When I run Apple Script Editor it stuggs at the lign:
        make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl}

        It says: error “Reminders kreeg een fout: list “Reminders” kan niet worden opgevraagd. ” number -1728 from list “Reminders”

        It is Dutch so it means something like:
        There is an error: “Reminders received an error: list ” Reminders “can not be retrieved.” Number -1728 from list “Reminders”

        Reply
        • It looks like the script is defaulting to the list named “Reminders”, which may not exist in your case.

          So your problem is in this part of the script:

          # determine correct Reminder’s list based on account the email/message is in
          if name of account of mailbox of theMessage is WorkAccountName then
          set RemindersList to WorkRemindersList
          else if name of account of mailbox of theMessage is PersonalAccountName then
          set RemindersList to PersonalRemindersList
          else
          #default list name in Reminders
          set RemindersList to “Reminders”
          end if
          end tell

          tell application “Reminders”
          tell list RemindersList

          As you can see if the Mailbox can’t be matched, it defaults to “Reminders” and that’s what happening.

          Reply
          • Thanks that was helpful.
            It is Language Dependent. “Reminders” is “Herinneringen” in Dutch. Maybe a little correction in the post for people like me?
            So it is Solved. Thanks!

  19. This is great – thanks Michael!

    I’m trying to add options to set a reminder for 1 or 2 hours from the current time and running into trouble with setting the reminder date:

    else if selectedDate = “1 Hour” then
    set remindMeDate to (current date)
    set time of remindMeDate to (current date) + 60 * minutes

    It returns an error:
    Syntax Error
    Can’t make date “Friday, June 16, 2017 at 12:45:31 AM” into type integer.

    Can you enlighten me as to what’s wrong here?

    Thanks,
    Scott

    Reply
    • Try the following:

      else if selectedDate = “1 Hour” then
      set remindMeDate to (current date)
      set time of remindMeDate to (current date) + 60 * minutes

      In other words, omit the “time of” statement.

      Reply
  20. Dear Michael,
    Great script and it works perfectly in Sierra.
    It would be great to have a dialogue box for typing a Subject/Title before choosing the follow-up date.
    Any idea how to do this?

    Reply
    • Hi Ruud!

      If you look at the second half of my post, under “How to create reminders from any application via a global shortcut” – you will see a dialog statement to ask for a title. You can reuse that code.

      Cheers

      Michael

      Reply
  21. Hi Michael – this is still a stable script, thank you!

    Two questions that can’t see answered

    – when reminder is complete, can this unflag the original email in mail?

    – any way to automatically move email to a subfolder once script runs ?

    OK thank you !

    Reply
    • Hi Brayner,

      My script can mark reminders as complete when you execute it on an email that’s already in Reminders. That’s the easiest way of doing it. Alternatively, you could certainly write a script that cycles through all completed reminders and finds related/linked emails and unflags them. Or you write a script that executes only on selected reminders and finds the corresponding email to unflag. There may be other ways, but those pop into my head.

      To move an email message, you can use the “move [mail id] [location]” command.

      Reply
    • Hi Mom!

      I have since started using OmniFocus for my task management, instead of the native Reminders app. I could never figure out what caused the delay, to be honest.

      Cheers

      Michael

      Reply
  22. Hey, great script, this is going to save me a ton of time.

    One challenge I’m having is with the archiving feature. The email gets archived as expected, but then it unexpectedly shows again in my inbox a few minutes later.

    My email accounts are Google accounts so here’s the text I used to set the archive target mailbox

    set Work1Archive to “[Gmail]/All Mail”

    Anyone else seeing this?

    Reply
  23. Mike, I fix it all by my self ) I understood logic of you script, was hard, but its done. Works great! Theres any possibility to postpone for hours? 1 hour; 2 hours; 3 hours?

    Thank you very much!

    Reply
  24. Mike, I fix the previous issues, and in service menu appear “Mail Reminder” but when I choose mail message and try to add reminder, pop up window with message:

    Now I can’t add time The action “Run AppleScript” encountered an error.

    Reply
  25. As well after this message inside script text automator highlighted this text:

    make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl}

    May be I have to make some changes?

    Thanks!

    Reply
  26. Great script Mike!
    Your wife can be proud of you this time ;-)
    No problems or speed issues in El Capitan 10.11.16, Macbook Pro Mid 2014

    Reply
  27. A fantastic piece of code, really great thanks :-)

    If you can solve the speed issue then that would be great.

    Reply
  28. Hello Michael!
    Thanks a lot for your help. Sorry but i need more help =(
    When i execute the script automator says: “Syntax Error: Reminder has found an error ..” and link me this line of code: ” make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl} “. Can u explain me how can i solve this problem?

    Thanks a lot in advance

    Reply
    • that’s simple – just add two new variables and name them for example:

      set WorkAccountName2 to “Exchange2”
      set WorkRemindersList2 to “Work2”

      and then add another ELSE IF statement down below:

      # determine correct Reminder’s list based on account the email/message is in
      if name of account of mailbox of theMessage is WorkAccountName then
      set RemindersList to WorkRemindersList
      else if name of account of mailbox of theMessage is PersonalAccountName then
      set RemindersList to PersonalRemindersList
      else if name of account of mailbox of theMessage is WorkAccountName2
      set RemindersList to WorkRemindersList2
      else
      #default list name in Reminders
      set RemindersList to “Reminders”
      end if

      Hope that helps!

      Reply
  29. Michael, this is a beautiful script and is going to save so much time in my workflow. Thank you!

    One thing that I’ve done is to set up a rule that anything with a green flag (the color I’ve chosen) is automatically added to a follow-up folder, and this script will run automatically as a result.

    Given my general lack of knowledge around scripts, my question now is: can you write a script for Reminders that removes the flag from the associated email once the task is checked off?

    Reply
    • Hi Chance,

      you probably could by running a script from within Reminders that marks the selected reminder as complete and then looks for the corresponding email based on the subject.

      Reply
  30. Hi Michael,

    Thanks for this – I wish Apple would address this need.

    I am also on El Capitan but rather than using Automator to create a service I prefer to access my scripts from the menu bar, so I saved the script as a file in the ~/Library/Scripts/Applications/Mail folder. When I was testing the script in Script Editor it does work immediately – no delay.

    Only issue I came across was my test message does not have an id (?!) so the link in the Reminder failed. Finally I tried another message and the link worked.

    Reply
      • When Mail is active, I click on the Script icon in the menu bar [the one which is controlled via an option in Script Editor preferences], and the script appears in the list. I don’t think I need a keyboard shortcut.

        Reply
  31. Thanks so much Michael. I just followed your instructions and it works 100% on El Cap (10.11.1). I don’t see the slowdowns that others have noticed.

    -j

    Reply
  32. Michael,

    This is such an awesome script. I am using an iOS app named Handle for consolidating all my email + tasks + calendar and this script is a life saver for me (Note: I don’t work at Handle nor am I promoting them)

    It might be such a great idea to build a mail add on that can convert emails into tasks & calendar items. Lots of people on mac love to use existing scripting rather than new apps to be installed.

    Thanks

    Reply
  33. I’ve just stumbled upon your post through a Google search – you are awesome, this is exactly what I needed. And thanks to your many comments in the script, it’s easy to add other options to the dropdown menu for choice of reminder times for us automator newbs, so thank you!

    Reply
  34. Hi Michael,

    first of all I would like to express that this exactly what I have looked for since ages – THANK YOU VERY MUCH !!!!

    As I have no idea actually about writing scripts or changing some logs, I am positive surprised about myself that this worked out, I would like to ask if you can help to share a slightly amended version of the script that we can have the following additional choices e.g.:

    next Monday
    next Tuesday
    next Wednesday
    next Thursday
    next Friday
    next Saturday
    next Sunday

    is this possible?

    I mean that we would have an option which we can chose at any day and the reminder will pop ups on the following days like mentioned above? e.g. I have something which I receive today but I would like to follow it on Tuesday again, is there anything like this available?

    Cheers,

    Nico

    Reply
    • Nico,

      you can use the following lines of code – just overwrite the existing stuff:

      # present user with a list of follow-up times (in minutes)
      (choose from list {“Monday”, “Tueday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”} default items “Monday” OK button name “Create” with prompt “Set follow-up time” with title “Create Reminder from E-Mail”)

      set reminderDate to result as rich text

      # Exit if user clicks Cancel
      if reminderDate is “false” then return

      set curWeekDay to weekday of (current date) as string
      if curWeekDay = “Monday” then
      set remindMeDate to (current date) + 7 * days
      else if curWeekDay = “Tuesday” then
      set remindMeDate to (current date) + 6 * days
      else if curWeekDay = “Wednesday” then
      set remindMeDate to (current date) + 5 * days
      else if curWeekDay = “Thursday” then
      set remindMeDate to (current date) + 4 * days
      else if curWeekDay = “Friday” then
      set remindMeDate to (current date) + 3 * days
      else if curWeekDay = “Saturday” then
      set remindMeDate to (current date) + 2 * days
      else if curWeekDay = “Sunday” then
      set remindMeDate to (current date) + 1 * days
      end if

      # Flag selected email/message in Mail
      set flag index of theMessage to FlagIndex

      Reply
  35. This is a really great idea, but I’m finding on El Capitan (OS X 10.11.1) it’s taking more than 20 seconds from the time you choose the service off the services menu until the dialog appears to select the reminder time. I’ve got no idea what it’s doing in those 20 seconds, but it makes the service pretty difficult to use on a daily basis.

    Have you seen anything like this?

    The other thing I’ve found is that the service only appears if you actually select some text in the email message you want to be reminded about. Even though the script doesn’t use the selected text for anything, I cannot get it to appear in the services menu just by having an email message itself selected in Mail’s message list. That’s not a show-stopper feature, but it seems like ‘selection’ isn’t set in the Applescript unless there’s actually a text selection somewhere.

    Reply
    • Hi Matt,

      I have seen the same delay with El Capitan but haven’t yet figured out what causes the delay. I’ll try to find out what’s going on and post an update. For me the workaround is to invoke the service (via a global keyboard shortcut) and then continue with other work until the dialog pops up.

      Regarding the “text selection” – did you select “No Input” in the “Service receives” dropdown? I’m guessing you have “text” selected, which would explain the behavior.

      Reply
      • I’m glad it’s not just me seeing the delays on El Cap. If I figure out anything about what’s slow I’ll post here again.

        I’ve tried all combinations of Receives text and Receives No input, and making the service available in Mail or in All Applications. In every case, I have to have some text selected in the mail message for any services at all to appear under the Services menu.

        I wonder if it has anything to do with using conversation view in the message list window. I should try changing the view options to see if this makes any difference.

        Reply
  36. Michael,

    I have 2 questions:

    1.) Do you see that the reminders are created even when the email is flagged on your iPhone or iPad? I ask because I use my iPhone and iPad when I’m out working on the road and I flag emails on those devices, and I would like to use your script but I am curious to see if I flag the emails on my iPhone and iPad if the script with still trigger when I open Apple Mail on my MacBook Pro at the end of the day.

    2.) Since Apple Mail uses different color flags (numbers in your script above, as automator sees them by number), can you set a importance level based on the number of flag? IE: Flag 0 = High Importance, Flag 1 = Medium Importance, Flag 2 = Low Importance, Flag 3 = None…

    I look forward to your input on my questions.

    Thank you,
    Brody

    Reply
    • Hi Brody,

      1) Reminders aren’t created because of a flagged email – they are created because the service/script is invoked via keyboard shortcut or menu. Flagging is just done as part of the process. If you were to create a script that scanned all emails for flags and then create reminders based on it – then yes – it would work also when the email is flagged on an iPad since flags are synched via iCloud to OS X.

      2) Absolutely – when creating the reminder: make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl}
      you can add a priority: (integer) flag like so: make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl, priority: 1}
      You just have to add an IF statement before checking the flag and assigning a corresponding priority.

      Cheers
      Michael

      Reply
      • Michael,

        Where in the script do I tell the service to look in a specific folder? Or will it automatically check the “smart box” titled Flagged that already exists in Apple Mail?

        Brody

        Reply
        • Hi Brody,

          the script executes on the currently selected message/mail. It doesn’t go through any pre-defined mailbox. That being said, you could certainly change it to loop through a specific mailbox but I found it more usable to simply create a reminder from the message I have currently selected.

          Cheers
          Michael

          Reply
  37. Better to use an Blackberry instead of trying all these kind of stuffs. Blackberry always has solutions for professionals stuffs.

    Reply
  38. Hi!

    Thanks for a great script.
    What do i do if i want to ad a default text in the Remindername before the subject?

    Guess I add something to this, but how?
    “make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl}”

    Thanks for your help

    //magnus

    Reply
    • Hi Magnus,

      you can use the following code to add “ABC:” in front of the subject:

      make new reminder with properties {name:”ABC:” & theSubject, remind me date:remindMeDate, body:theUrl}

      Reply
  39. hi
    its really great,but i m very new comer and don’t know much about scripting.the steps i have taken :
    open Scripteditor
    Copy paste the script and chnaged the WorkAccountName to “[email protected]” name of my account and than saved the script in documents.
    but after opening Automator ,selecting service i could not search the saved script from my system.rest nothing can be done.could u please help there .

    Reply
  40. Hallo Michael, very nice script for just playing a little trial and error with code snipplets… Seriously, I am impressed. That is exactly what I wanted. Not another application or cloud service. Just relying on the built-in stuff. Reminder is for sure not the best application from Apple, same goes for Mail. But you did combine it very well. I tried myself with built in automator functions, but I have to admit, I got lost in the details. Thank you very much for your time and effort.
    Best regards, Wolfgang

    Reply
  41. Hi, thanks very much for sharing this script, it’s fantastic! I’m not familiar with AppleScript or coding, which is why I wanted to ask: Is it possible to show just the sender’s name or the subject line in the “body” part of the reminder, instead of the link to the email?

    Reply
    • I haven’t looked at the object definitions in a while but I think it’s possible. You can bring up the help and look at what attributes are available for each object (I.e. Reminder or mail message).

      Reply
  42. Hi Michael,
    great script, worked straight after changing it to my account and list names under OSX 10.10.2. But I would need similar as well to create an calendar entry. I tried to modify the script, but I’m not familiar with the calendar script terms. Could you please help me?

    What I would need:

    Select Mail message -> message pop up, calendar entry date, today or tomorrow, similar what you have in your current script, start time .. current time is fine end time 30 min from start time, I would manually modify to my needs, either a link to the mail, or copy the mail text in the calendar entry.

    Perfect would be to choose in the beginning which calendar to use, I’ve two on my exchange calendar, one “Kalendar” for events and “Aufgaben” for tasks, as I don’t use reminders, I need to see my tasks in my calendar ;-)

    You would really do me a huge favour!

    Thanks & best regards,
    Beatrice

    Reply
  43. Hi,
    I am new in Apple world … cannot figure out the following:

    I know my AccountName,
    I cannot understand what is behind set WorkRemindersList, PersonalAccountName, PersonalRemindersList

    For insider no problem, for me as novice difficult to understand:
    Make sure to change the following lines to reflect your account names in Mail and list names in Reminders. If you have only a single mail account and Reminders list, just set both pairs to the same value (i.e. WorkAccountName = PersonalAccountName = iCloud and the same for *RemindersList)

    set WorkAccountName to “Exchange”
    set WorkRemindersList to “Work”
    set PersonalAccountName to “iCloud”
    set PersonalRemindersList to “Personal”

    Looking forward to hear from you

    Regards

    Harald

    Reply
    • Hi Harald,

      WorkAccoundName = the name of your work email account in Apple Mail
      WorkReminderList = the name of the list that should contain your work-related reminders in the Reminders app

      Same goes for Personal. So if you have only one account, just set both to the same values.

      Makes sense?

      Reply
  44. Stopped working in Yosemite when run as service (working when run from Automator).
    This line seems to cause it but I wasn’t able to fix it:
    set theNeedlesName to (name of reminders whose name is theSubject and completed is false)

    Reply
    • Hi Christian!

      after re-installing Yosemite I didn’t restore my script but just now did and after making sure the section below “# Set this according to your email account names and Reminder’s lists” was configured correctly I tested it on both the Exchange and iCloud account and everything worked as it was supposed to. I’m running OS X 10.10.1 (Beta) which may or may not make a difference. Did you allow access when prompted at the first run of the script. I clicked it away so quick but I guess it asked if I wanted to allow access to Reminders. You can double check in System Preferences –> Security & Privacy –> Privacy –> Reminders. Mail should be there and checked.

      Cheers
      Mike

      Reply
  45. Michael,

    This is a really great script, and something I have been seeking for a while now. But — I have stumbled upon a problem I can’t get around.

    If the message I want to set a reminder for has been processed into a folder (Mailbox is the term Mail uses), and isn’t in the Inbox of the named account, then the script fails. Example below:

    SYNTAX ERROR: Mail got an error: Can’t get account of mailbox of message id 132169 of mailbox “GAPS”.

    Have you figured out a way around this – or is there one?

    Thank you!

    Reply
    • Hi there!

      I use the script mostly on mails stored in my Sent or Archive mailboxes and it always works. You may want to debug the script line by line using the Script editor to see where exactly it fails.

      Reply
  46. Hello,

    When I run the service, I get a syntax error: Reminders got an error: Can’t get list “XXX” where XXX is my Reminders Task List Name. I have OSX 10.9.4.

    Thanks,

    Manish

    Reply
  47. Awesome script/automation! Thanks a lot!

    I was wondering if maybe you could help me or maybe add functionality to this script or to the automator?

    The thing is that I don’t always need the full email as notes, but just a selection of text from the email.
    Would it be possible to somehow check if I have selected text, and then add the selected text as notes as well as the link to the full email at the end of the notes section?

    Again, thanks! :)

    Reply
  48. Thanks a lot – this was very thorough and just what I needed. Still got stuck after the popupwindow passed. Seems like its caused by my OS is in swedish. Said something like :SYNTAX. Reminders got an errorl: Could not get the list “Reminders”. The highlighted syntax is the following: make new reminder with properties {name:theSubject, remind me date:remindMeDate, body:theUrl}

    I changed the default name of the list in
    #default list name in Reminders
    set RemindersList to "MYDEFAULTLISTNAMEINMYLANGUAGE"
    end if

    Reply
      • Hello Michael: Is there a way to convert an email to a reminder in iOS on an iphone? Your trick works fantastic on the mac!! but i want to be able to do this on the phone so that all followup items can be managed across iphone and mac

        Reply

Leave a Comment