Trouble Setting Reminder to Review Zettel (using KM, AppleScript, Reminders)
This post may belong better on the KM or AppleScript forums, but I thought I'd ask here first mainly because I bet someone will have a far easier process than I'm trying to build.
After writing a Zettel in The Archive, I want to remind myself to review it in a day, and after that, remind myself for a few days later. A progressive review kind of thing.
I have a KM macro that:
- Prompts me for the number of days, from a pre-made list.
- Writes a tag (#ReviewXDays, where X is the number of days) to an inserted 2nd line on the Zettel
- Copies the Zettel's h1 (from the 3rd character to the end of the line)
- Creates an Apple reminder "Review such-and-such Zettel" with a due date of the number of days out
It all works except the calculated Reminders date at the very end. I think it must be either a variable type problem, or a syntax problem in the AppleScript. I have a temporary KM Action before the last step that displays the date I'm trying to use. If I simply copy that (correct-looking) result and paste it as a constant string in the final KM action, it works. It just won't accept the variable version of that date.
The error is some variation of "execution error: reminders got an error: can't get date (1/27/2022)", depending on the tweaks I've tried in the script syntax.
Has anyone
- created some kind of progressive review automation for themselves that's better than this
- worked with pushing a due date to Reminders via AppleScript
The image is of the last few actions, where the "make new reminder" line in the AppleScript is where I fail.
...and here is my KM macro (1st time sharing, hope I do this right):
Thank you all.
Howdy, Stranger!
Comments
Quick clarification of the problem. In that last action, the long line beginning with "make new reminder":
Please let me know if anything else is unclear. This may well be a question for a different forum.
I've had this problem in the past. Getting a variable from one scripting paradigm to another is not as straightforward as you'd think. I think most of the issue centers around global/local variables. Getting a Keyboard Maestro variable into a python script took loading a module and some unique syntax. I suspect that the same might be necessary to get an AppleScript variable recognized in Keyboard Maestro. The problem I had was that Keyboard Maestro would not report any error in my situation. I would fail that one step, which made it confusing and complicated to find the culprit. I asked on the Keyboard Maestro forum and got a quick answer that solved my issue with the various variables.
I love to review and think it is key to a growing ZK. I don't understand creating a note and not reviewing it. Review is how I correct my bad grammar and clarify vague, poorly articulate ideas. During my morning journaling, I do, as a minimum, a review as outlined in the screenshot. I use Keyboard Maestro to create a journaling template with links that launch The Archive and the note list populated with the right notes.
I love journaling, and tying ZK review to journaling works powerfully. I use journaling as my "trigger" to review. This works as my "reminder" because I see it every day. If I'm busy, I may get to journaling later in the day.
Using this method, I review every zettel in my entire ZK every year, a few each day. The earliest notes I've already reviewed twice. I'll grant you that not every review is deep, but I know that another review is upcoming in a year. So far, the time commitment for review is not so demanding, and it is delightful and rewarding. As a timely example, up for review today was
Opportunistic compression ›[[201901261934]]
About progressive summation - "You summarize notes, not knowing what question might be asked in the future."January 26, 2022

Will Simpson
My peak cognition is behind me. One day soon, I will read my last book, write my last note, eat my last meal, and kiss my sweetie for the last time.
My Internet Home — My Now Page
Thank you Will. I've been trying to think this through myself, and as I suspected, seeing another's thoughts open up a lot of possibilities for me.
I've seen variations of your screenshot on your previous posts. is that a KM Macro you've posted elsewhere? It would almost completely satisfy my requirements right out of the box. If it's not something sharable, I'll get to work on hacking an imitation together. I really like the information yours shows.
I see your post at https://forum.zettelkasten.de/discussion/786/zettelkasten-statistics. I didn't look at it deeply because it didn't look like your more recent stuff. I'm going to poke through there, I bet it has the ideas that I need.
As always, thanks Will, and thanks all.
I've been switching some of my Keyboard Maestro macros to python. This one is the one I had the aforementioned variable issues with. It is really not in a sharable state. I have customization embedded that would cause headaches. Making my python code generic enough to be sharable is something I'm working on.
The link you point to has a link to an Keyboard Maestro macro I created a while ago but it should lead you on the path.
Here is a link to a bit newer version of the same Keyboard Maestro only designed to put the links in a variable that can be printed .
Will Simpson
My peak cognition is behind me. One day soon, I will read my last book, write my last note, eat my last meal, and kiss my sweetie for the last time.
My Internet Home — My Now Page