Arbitrary scheduling in Keyboard Maestro | Dafacto

The personal website of Matt Henderson.

Arbitrary scheduling in Keyboard Maestro

02 May 2014

This morning I was trying to create a Keyboard Maestro macro to automatically send an email to my team members on the last day of each month. I got stymied when I realized the the time schedule trigger is basically limited to “Daily at a certain time”.

I reached out to Peter Lewis, the author of Keyboard Maestro, who provided a solution: Run the macro daily, but then check for a certain date/time calculation to govern the execution of the macro’s actions.

He then provided an example calculation to determine if today is the last day of the month:

One the one hand, I was really happy that a solution exists, and a solution that clearly points the way to all sorts of interesting scheduling possibilities for other periodic email reminders I might want to schedule.

On the other hand, it reminded me of my biggest frustration with Keyboard Maestro—the shallowness of its documentation.

For example, here’s the documentation for year, month and day to be used in calculations:

It didn’t occur to me that these things are actually functions that can be fed arguments constructed from other supported functions. But even realizing this, I still wouldn’t know how to check if today is May 2nd. I just need more usage examples.

Given the immense capabilities of KM, I can’t really blame Peter for not documenting all the possibilities more extensively. So here’s to hoping somebody might take the initiate to start something along the lines of a “Keyboard Maestro Cookbook” community service, where user-contributed usage examples and extended documentation can live.

Enjoy this article? — You can find similar content via the category and tag links below.

Questions or comments? — Feel free to email me using the contact form below, or reach out on Twitter.