Hey Folks, I’m trying to make KeyboardMaestro process information for meetings through Things 3 and Bear.
Gather Information about Meeting
When I schedule a new meeting, I’d like to trigger KeyboardMaestro to prompt for three variables (to be used in URL scheme for Bear and Things):
- Name/topic of meeting (Variable: Name_of_meeting)
- Date month (variable: Month_of_meeting)
- Date day (Variable: Day_of_meeting)
I recycled a date picker solution that defaults the dropdowns for month and day to today’s date, but can select a day in the future when needed.
Create Things Task
Next, I want to use the Things URL builder to generate a task to prep for the meeting with the start date (“when”) as today and due date (“deadline”) as the meeting date selected above. That due date would concat as:
2021-%Variable%Month_of_meeting%-%Variable%Day_of_meeting%
So the full Things URL would be:
things:///add?title=Prepare%20meeting%20notes%20for%20MEETING_NAME&when=today&deadline=DATE&reveal=true
Problem 1
I tried adding the variable Name_of_meeting
and the concatenated yyyy-MM-dd date into the URL above, but the spaces in the text and the fact that KM needs the variable wrapped in percentage signs like %Variable%Your-Variable-Here%
breaks the link.
Create Bear Note
Assuming I can get that part to work, the next part of the macro would generate the Bear note. Again, the variable syntax seems to be where my plan is breaking down. Using the Bear URL builder, I create a link for a new note with:
- Title: Meeting notes:
- Tags: Meeting_Notes (and a couple others)
- Text: Some basic templatized text I use for meeting notes in markdown format.
- New_Window: Yes
So that URL Looks like:
bear://x-callback-url/create?title=Meeting%20notes%3A%20&tags=meeting_notes&new_window=yes&text=**Attendees**%3A%20%0A**Meeting%20purpose**%3A%20
Problem 2
I’d like to have KM insert the Name_of_meeting
variable, followed by a space, a dash, and a space, then the yyyy-MM-dd like we built for the Things due date. So the title of the note would be Meeting notes: NAME OF MEETING - 2021-03-01. Again, adding the variables with KM’s syntax into this URL breaks it.
Return with the Bear Note Link for Things
And the final step I’m trying to include would be to grab the Bear note link (accessible via simulating the keyboard shortcut to copy that link), then paste it into the Things task note section.
That would involve grabbing the Things task link during the first step above (again, via a shortcut I assigned within MacOS’s native Keyboard shortcuts) and storing it as a variable to be used in this step. After creating the Bear note above, I need to grab the Bear note link as described, trigger this Things URL to go back to the task, simulate Enter to expand the task, simulate tab to get to the notes section, and finally, to paste the Bear URL.
WHEW. I know this sounds like a lot of work, but I keep all my work notes in Bear, and I schedule tons of meetings as part of my job. This one automation would save me literally hours and hours every year.
So as called out above, my main issue is the way to integrate KM variables into Things and Bear URLs, given that the percentage signs throw it all off. Any ideas?