Integrations: Obsidian, Things, and Calendar.
I downloaded Agenda over the weekend, just to see how it had evolved. If you've never heard of the app, it's certainly worth checking out. Think of it as a cross between a task manager and notetaker, but with deep Calendar integration (i.e the built-in Apple app). The company's business model is interesting as well: there's a free version with limited features, along with an annual subscription... but this subscription unlocks all existing features, plus any new features added during the year, forever. So when the subscription ends the app won't restrict access, or revert to a limited edition: the feature set is simply frozen, and the user gets to keep the app as is. [1]
It's a refreshing concept that, I think, encourages a very different type of relationship with the app's developers.
Unfortunately, Agenda and I never gelled. It's a gorgeous app, fully on par with Things and other top tier Apple-only apps, but the workflow never clicked for me. This “visit”, however, gave me an idea.
Building
In Agenda, any note can be tied to a calendar event. When you do this, the app also inserts a link back to the note in Calendar's URL field, which means you can open the appropriate Agenda note from Calendar, and vice versa. Very useful.
I've been happily using Things as my task manager alongside Obsidian, and it works fine. But each tool is siloed. So I wondered: could I build a more integrated workflow with Apple Shortcuts?
As a test, I decided to create an Obsidian Project shortcut that would:
Create a new project folder and note in Obsidian.
Allow the creation of a sister project in Things.
Allow adding the project to the Calendar app.
Link all of these together.
A shortcut is like a puzzle: all the pieces need to fit together in the end, but they can be broken down into sections first. I'd already built an Obsidian-only project shortcut so I duplicated it, used this as the first block, then added blocks for Things and for Calendar. These last two are skippable, so it's possible to just create an Obsidian project without adding anything else.
My biggest challenge was finding a way to fetch Obsidian and Things URLs so that each instance would link to the others: a Things link in the Obsidian note; an Obsidian link in the Things project; and both links included in the calendar event. I eventually figured out how to do this programmatically with Things (thx to this page from Culture Code), but I'm resorting to good ol' fashion manual copy/paste for Obsidian. [2]
Here's a run through of the shortcut:
1: Obsidian Steps
Shortcuts asks for a project name.
It asks for a project description.
The information is added to a formatted Text block.
Result: Shortcuts uses the name to create a project folder and project note in Obsidian. The description is included in the note.
The Text field is written in Markdown. This will be the content of the main project note (the top portion between dashes becomes properties. The blue “Provided Input” line is automatically filling in the description.
2: Fetch Obsidian URL Step
This is the only part that needs to be done manually:
Shortcuts tells me I need to copy the project note URL.
It opens Obsidian and waits.
To proceed, I simply copy the new URL (I do this all the time so there's a hotkey already assigned), and return to Shortcuts. As soon as I do, Shortcuts gets the clipboard, adds it to an Obsidian URL variable for later use, and moves to the next step.
3: Calendar Steps
Shortcuts asks about adding to Calendar.
Choose start and end dates.
Result: Shortcuts creates an all-day calendar event (single day or multi-day).
4: Things Steps
Shortcuts asks about creating a project in Things.
It autofills the project name (from the previously provided input).
It autofills the project note with the description (from the previously provided input).
It adds the Obsidian URL we created earlier.
It asks for a start date.
It asks for a tag.
Result: Shortcuts creates a new project in Things with all of the above.
After this I’ve included additional steps to format the Things project with pre-defined headers (Research, Development, and Publishing). Shortcuts also fetches the new project's URL and creates a Things URL variable. These steps happen in the background without user interaction.
The Finishing Touch
To finish this off, we need to fill in two remaining gaps:
I want the calendar event notes to include:
The project description.
The Obsidian URL.
The Things URL.
I want the Things URL to be included in the original Obsidian project note.
For Obsidian, I simply add an Append to Text File action and insert the Things URL variable. For Calendar, I use another Text field with the required info:
The Edit Calendar Event action copies the Text field content into the event notes.
Phew! Reading this probably made your eyes glaze over. The overall idea is to build slowly and refine as we go. Steps can be added or removed as needed. For instance, I built most of this on my iPad and it worked perfectly. But I knew it would fail on the Mac because Obsidian Sync uses a local folder, and this is obviously in a different location for each device. The solution was to create a duplicate shortcut for macOS (with the proper file path), and add a device check: on iPad the original shortcut runs normally; on the Mac it invisibly switches to the corrected Mac version.
Long story short, here's what this all looks like in action:
You’ll notice I'm launching the shortcut directly from Obsidian in that video. This is possible thanks to Federico Viticci's great Shortcuts Launcher plugin.
…
If you use these three apps and are interested in the shortcut, let me know and I'll share it with you. Just be aware that it'll need to be adapted to your specific system.
………………………..
New features would again require an active subscription, of course.
I'm sure there are much more sophisticated ways to build this, using scripting and dictionaries, but I'm not a programmer, so I tend to use any workaround I can think of. Elegance be damned ;)