Jump to content

Reminders


Recommended Posts

This creates a new reminder in Reminders.app

Quote

Important note about updates: Generally I am no longer supporting this workflow, however I have been known to do periodic updates, and I will try to include pull requests from others.

Download the latest version, tested with Alfred v5+ and macOS 14+ (older versions may work too)

For older versions, go here.

Usage

To use, just type r <some text> into Alfred.

For example, r check out some of Alfred's other workflows will create a new reminder called "check out some of Alfred's other workflows".

You can also include times and dates in the text and have Alfred set a reminder for that particular time.

r this will capture the current application and turn it into a reminder.

r help will show some built-in examples.

http://i48.tinypic.com/14plj7.jpg

Dates

To be reminded at a specific date/time, simply type a date into the command, for example:

  • r today release the hamsters into the wild
  • r tomorrow bring about financial ruin upon my enemies
  • r in 5 minutes drop everything
  • r in 2 hours laugh out loud
  • r on 24/12/13 forget everything I know about things in movies
  • r on 12 June 15 come up with some interesting ideas
  • r on 31-12-99 23:22 panic about the millennium bug
  • r at 2pm wait for nothing in particular
  • r next thursday at 15.30 ask some difficult questions

http://i50.tinypic.com/2emd0sz.jpg

Priority

To set the priority of the reminder, either use exclamation marks right at the start or end of the command (! for low priority, !! for medium priority, !!! for high priority), or type the priority right at the end of the command (these can also be abbreviated, for example mp or p lo). For example:

  • r !!! in 2 weeks an important meeting
  • r thursday have a banana medium priority
  • r decide what to have for lunch !lo
  • r make a turkey sandwich p3

Lists

To choose a list to use on a per-reminder basis, type in <list name> list right at the end of the command, for example r Get Santa outfit !2 in Christmas list. If a matching list can't be found, you won't be able to action the command.

In all other cases, the default Reminders list will be used (typically the first one). If you prefer, you can edit the defaultList variable within the workflow's Arg and Vars node (note that you'll have to edit this each time you upgrade the workflow however).

Apps

Get reminded about the app you're using, for example the selected file in Finder, or the current tab in Chrome or Safari.

To create a reminder about the active app, simply type r this. Or keep typing to set a date, priority or a custom title, for example r this drop some sick beats on Friday !!!.

The following apps are currently supported:

  • Adobe Acrobat (Pro/DX)
  • Chromium
  • Contacts
  • Finder
  • FoldingText
  • Google Chrome
  • Google Chrome Canary
  • Mail
  • Mailplane 3
  • Microsoft PowerPoint
  • Microsoft Word
  • Safari
  • TextEdit
  • TextMate
  • Vienna
  • WebKit

Apps can be added on request. Just raise an issue with the app you use. As long as it's freely available and has AppleScript support, it can be added.

Getting help

r help will display the above examples

All sorts of combinations are possible!

Configuration

If you want to change the default reminder list, edit the variables component at the top of the workflow, otherwise it will just use the first one (unless you use "in Y list" at the end).

External Trigger

To call the workflow as an external trigger, use applescript such as

tell application "Alfred 3" to run trigger "remind" in workflow "com.surrealroad.alfred-reminder" with argument "something tomorrow at 5pm"

 

 
Changelog

  • v79 (Tuesday 4 June 2024) – Fixed a regression where specific times would be missing

  • v78 (Monday 3 June 2024) – Reminders set without specifying a time will now be created without setting a time  

  • v77 (Monday 20 May 2024) – Fix a reminder that was specified for today but was added to tomorrow (thanks narol!)  

  • v76 (Wednesday 8 May 2024) – Updated chrono.js to 1.4.8. Removed autoupdater  

  • v75 (21 October 2021) – New icons + Support for: Edge, Brave, and MS Excel   

  • v74 (Thursday, 3 August 2017) – Fixed an issue where impartial queries did not get parsed (thanks Nibblesh!)

  • v73 (Friday, 21 July 2017) - Added support for Mailplane 3 (thanks devguydavid!), ensure dates are always in the future (thanks saeedmahani!), added external trigger

  • v72 (Monday, 6 March 2017) – Quit reminders if needed when complete

  • v71 (Saturday, 4 March 2017) – Added built-in help

  • v70 (Friday, 3 March 2017) – Added OneUpdater

  • v69 (Tuesday, 3 January 2017) – Added support for different lists

  • v68 (Friday, 9 December 2016) – Added remaining app handlers, escaped paths

  • v67 (Thursday, 8 December 2016) – Added support for app-secific reminders

  • v66 (Thursday, 8 December 2016) - Added support for priorities

  • v65 (Thursday, 8 December 2016) – Fixed reminders app hanging temporarily after creating a new reminder

  • v64 (Wednesday, 7 December 2016) – Rewritten from the ground up in JavaScript for Automation. Now requires Alfred v3+, MacOS Sierra+.
    NEW: Enhanced date/time natural language parsing. Never worry about the correct syntax again!
    NEW: Better messaging about what will happen when actioning the item.
    FIXED: (Hopefully) improved performance.
    Note: there are still several features that have not been carried across to this version. As such, this should be considered a beta version.

  • Monday, 24 October 2016 – Add support for Microsoft Word, Adobe Acrobat Pro, OneNote, Powerpoint (Thanks to catgsmith!)

  • Friday, 3 June 2016 – Compatbility for users who did not previously have Alfred v2 installed

  • Wednesday, 28 October 2015 - attempted fix for reminders not quitting on OS <10.9

  • Tuesday, 27 October 2015 - fix for reminders not closing after adding a new reminder

  • Thursday, 15 October 2015 – compatibility for OS 10.11 El Capitan (and hopefully future releases)

  • Wednesday, 21 January 2015 – added pattern “r in {x} days at {time} to {something}” 

  • Thursday, 30 October 2014 – days can now be abbreviated to 3 or more characters (e.g. “tod”, “tomo”, “thurs”, etc.), minutes can be abbreviated to “min” or “mins”, hours can be abbreviated to “hr”; the priority of the reminder can now be specified by “ !” at the end of the query, “ !1”,“ !2”,“ !3” each with increasing priorities

  • Wednesday, 22 October 2014 – fixed cache process errors on OS 10.10, workaround for apple bug #18734006 on OS 10.10

  • Tuesday, 21 October 2014 – addressed some internal errors (which should also improve performance a little), notifications should now be working on OS 10.10, fixed Mail integration on OS 10.10, Mail integration now takes the most recent message if multiple messages (or a conversation) are selected

  • Saturday, 26 July 2014 – Disable showing reminders in OS 10.10 (Yosemite)

  • Thursday, 9 January 2014 – Fixed Finder links in OS 10.9

  • Saturday, 23 November 2013 – Disable display of existing reminders under OS 10.9

  • Friday, 22 November 2013 – Workflow will now display a message if the command is not valid

  • Saturday, 2 November 2013 – Fixed an issue that would cause the workflow to crash the first few times it was run; fixed an issue that would prevent update checking to work correctly

  • Friday, 1 November 2013 – Fixed an issue where caching reminders would cause update checking to fail

  • Wednesday, 23 October 2013 – Increased timeout on OS 10.9, and allowed reminders to be retrieved from the cache while it's running; times specified without am/pm are now assumed to be in 24hour format; corrected an issue where 12 o'clock times were calculated incorrectly; you can now use "noon" and "midnight" to specify time

  • Tuesday, 22 October 2013 – Prevent cache processes overlapping; recreate damaged cache file if needed; workaround for OS 10.9 GM2 plist bug

  • Wednesday, 9 October 2013 – Added support for Google Chrome Canary; added plain text formats of applescripts; fix for cache process failing for new users

  • Monday, 7 October 2013 – Added profiling to rtest; "r" with no arguments is now the same as "r all"

  • Friday, 4 October 2013 – Compatbility with OS 10.9 Mavericks GM

  • Wednesday, 18 September 2013 – Fix for non-gregorian date format

  • Tuesday, 17 September 2013 – Updated q_workflow module to latest version

  • Wednesday, 10 July 2013 - Added support for OmniFocus 2, TextMate 2 and FoldingText

  • Thursday, 18 April 2013 – Fixed recognition of 10/11/12am/pm times

  • Tuesday, 16 April 2013 -- Added support for WebKit Nightly.
  • Monday, 15 April 2013 – Added "r in x days y hours", "r in x hours y minutes", "r today/tomorrow/weekday at time to x" patterns
  • Thursday, 11 April 2013 – Added support for OmniFocus, Vienna, reminder from address book now adds a link to the contact
  • Wednesday, 10 April 2013 – Fix for -609 error (thanks, stevef!)
  • Tuesday, 9 April 2013 – Added "r refresh" keyword to refresh list ("r all" will no longer refresh the list); added "rshow", which will only show options for existing reminders, "radd", which will only show options for adding new reminders; added "rtest" which runs a set of tests to check for potential problems; fixed an issue that would cause workflow to crash (thanks, erist!)
  • Monday, 8 April 2013 – Better compatibility for editing library scripts on other systems; it's now possible to delete reminders by holding down control; fixed a rare issue where the workflow might incorrectly report a new version is available; iconography tweak; added "overdue" keyword; added support for TextMate and TextEdit; allow "r in 1 minute/hour/day"
  • Sunday, 7 April 2013 – Don't mark reminder as complete with option held down; properly escape illegal characters in query; added support for Finder and Chromium
  • Saturday, 6 April 2013 – Added "r this" which captures data from the current application and turns it into a reminder; support for Google Chrome, Safari, and Mail; fixed a regression; support for contacts/address book; added icons from the icon factory; "r all" now refreshes the cache
  • Friday, 5 April 2013 – Show "r all" in help; don't close reminders if its been moved to the foreground; all keywords can now be used to filter displayed reminders; changed the cache duration to 2 hours; subtitle for existing reminders shows more information where possible
  • Thursday, 4 April 2013 – Performance improvements; hold option to view the selected reminder in Reminders.app
  • Wednesday, 3 April 2013 – Fix for "in list" pattern breaking up text; added "r help" examples; don't prompt to create reminder with "all" keyword; checks for newer versions of the workflow
  • Tuesday, 2 April 2013 – If reminders.app is closed, it will stay closed when using this workflow
  • Sunday, 31 March 2013 – Added pattern "r Wednesday something"
  • Wednesday, 27 March 2013 – Renamed workflow to "Reminders"; Use application id instead of name, Alfred now shows existing reminders in his list (selecting one will mark it as complete); keyword is now optional
  • Tuesday, 26 March 2013 – Now sets specified date as the reminder date, rather than due date; added pattern "r something in Y list"
  • Wednesday, 20 March 2013 – You can now use the pattern "r at 1.30 to something"; Alfred will tell you what's going to happen before you press enter; split off code to library file
  • Tuesday, 19 March 2013 – You can now use the pattern "r in X minutes/hours/days something"
  • Sunday, 17 March 2013 – You can now specify a date for the reminder. See the examples above.

Acknowledgements

Date parsing is done via chrono.js

Uses icons from the Flurry collection by David Lanham / The Icon Factory

Updates via OneUpdater

 

Disclaimer
This workflow is provided as-is, use it at your own risk. I can't take any responsibility for anything bad that happens as a result of using it, including, but not limited to, loss of data, loss of sanity, spontaneous human combustion.

 

Feedback

By far the best way to give me feedback is to submit an issue on GitHub. Alternatively, just reply to this post.

Edited by surrealroad
updated with new version info
Link to comment

It works!

Thank you !

 

Do you think we could add automatically the date of the day ? That could be very useful.

Thx !

 

Simply change the script as follows:

 

current: make new reminder with properties {name:q}

 

new: make new reminder with properties {name:q, due date:(current date)}

Link to comment

I would love to use this method for creating a new note in Notes. I tried changing "reminder" to "notes" but didn't get it to work. Here's how it looks:

 

 

on alfred_script(q)
  tell application "Notes"
make new note with properties {name:q}
end tell
return {q}
end alfred_script
 
Can anyone tell me what needs to be changed?? Many thanks!
Link to comment

I would love to use this method for creating a new note in Notes. I tried changing "reminder" to "notes" but didn't get it to work. Here's how it looks:

 

 

on alfred_script(q)
  tell application "Notes"
make new note with properties {name:q}
end tell
return {q}
end alfred_script
 
Can anyone tell me what needs to be changed?? Many thanks!

Quick & dirty:

 

on alfred_script(q)
    tell application "Notes"
        tell first account
            make new note at folder "Notes" with properties {name:q, body:q}
        end tell
    end tell
end alfred_script
 

 

created a workflow: http://www.alfredforum.com/topic/1009-add-new-note/

Edited by surrealroad
Link to comment

Workflow works great for me.  However I have two (2) Lists in Reminders -- one is "Calendar" located On My Mac and the other is "Reminders" located on iCloud.  Is it possible to select which List the reminder that this workflow creates goes to?  I'm sure it's a change in the Applescript but I'm stumped.

 

Thanks.

Link to comment

Workflow works great for me.  However I have two (2) Lists in Reminders -- one is "Calendar" located On My Mac and the other is "Reminders" located on iCloud.  Is it possible to select which List the reminder that this workflow creates goes to?  I'm sure it's a change in the Applescript but I'm stumped.

 

Thanks.

I didn't consider that possibility! Download the updated version in the original post, and you can set the name of the list to use at the top of the applescript

Link to comment

I didn't consider that possibility! Download the updated version in the original post, and you can set the name of the list to use at the top of the applescript

That was fast.  Thanks for the revision and the info.  Much appreciated.

Edited by thinkfilm
Link to comment

modify it to do what exactly? 

 

Are you using the lastest version with the ability to set the date as per the description?

 

Yes, I am using the latest version. However, I am not talking exclusively about the date. I just wondered if it´s possible to set a reminder for a date AND the time for the reminder, for instance 18/03/13 at 1800 hours or 6 pm.

Link to comment

Great work, definitely will come in handy!

 

Quick suggestion: It would be great to add a reminder time at a specific clock time (2pm, 10 am, etc) such as:

r Call Bob at 2pm.

 

Oof! That was taxing!

You can now do something like the following in the newest version:

  • r at 2pm to wait for nothing in particular
  • r at 3.30 to ask some difficult questions
  • r at 4 to change my mind
It will try to be smart about figuring out the am/pm if you don't specify it.
 
As an added bonus, I figured it was now complicated enough to warrant giving some feedback as to exactly what the reminder will create, as you type, as well as prevent you from pressing enter if it doesn't understand (one of Alfred's pretty nifty features)!
Link to comment

I am hoping someone creates something exactly like this for iCal. Is there any chance of adapting this for iCal? Basically something so I can do "on 3/22/13 EVENT at X:XX for 2.5 hours at XXXX"

 

I don't really use iCal all that much, so I don't know. I've made the code a little more portable in the latest version, so in theory you can replace just the following part with something iCal specific:

    tell application "Reminders"
        if reminderList is "" then set reminderList to first list's name
        if theDate is not "" then
            tell list reminderList to make new reminder with properties {name:theText, due date:theDate}
        else
            tell list reminderList to make new reminder with properties {name:theText}
        end if
    end tell 

 

Edited by Jack James
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...