One of the key benefits of business software, or as a matter of fact, any software, is automation of tedious, repetitive tasks. One of the three great virtues of a programmer according to Perl creator Larry Wall is laziness as defined in:
“The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don’t have to answer so many questions about it.”
Being both a lazy programmer and a service provider who automates processes for his clients I like to automate my own business processes as much as possible to be able to focus on my actual business and what truly matters rather than ancillary or secondary concerns.
One admittedly tiny but still tedious aspect where I realised I was still repeatedly carrying out process steps like a human automaton was the creation of meeting notes with a default structure such as a title and a headline.
I currently use Bear for notes and note-taking and I’m quite happy with it. Now, Bear being a tool that runs as a client on your local machine and stores your data in Apple’s iCloud there’s no way of accessing it through a public web API, which limits the way one can automate processes that use this particular tool. Unfortunately, there’s still no desktop automation API that matches what was possible with ARexx on Amiga OS. AppleScript and Automator for macOS are nice but they aren’t exactly well-maintained and -supported. Besides, I could never seem to wrap my head around their UI.
However, there’s the x-callback-url specification for iOS / macOS app interaction, which allows you to craft URLs that will open an app supporting that specification and execute actions according to what has been specified in the URL and the actions supported by the app in question.
This in turn enabled me to use Zapier, an automation tool I can’t praise highly enough, for having an automatically generated email with such a URL sent to me whenever there’s a new Calendly event for me or I manually create a calendar event containing the string #create-notes.
Since Bear supports the x-callback-url specification mentioned above and even provides a convenient X-Callback-URL actions builder for many in-app actions such as creating notes I was able to have Zapier automatically generate emails with URLs like bear://x-callback-url/create?title=…, which upon clicking them have Bear create a new note with predefined content such as a meeting title or relevant tags.
This way, whenever there’s a new meeting I’d like to take notes for all I have to do now is click a link in order to be presented with a new note filled with a structure according to my personal meeting notes template. This process of course isn’t completely automated because I still have to click a link once a meeting starts but it’s a lot more automated and much less tedious than having to manually create a note with the same basic content each time.