I schedule events in Google Calendar and often write notes in the event description. I prefer to keep notes in Obsidian, and would like to link an event to a note, however Google Calendar does not allow Obsidian URI (obsidian://
) links.
To solve this I bought obsidian.name
and setup Cloudflare so that it redirects to obsidian://
using the subdomain as the vault name and the path as the note name:
https://<vault>.obsidian.name/<note>
Will redirect to:
obsidian://open?vault=<vault>&file=<note>
Let’s say your vault is called “Notes” and you have a note called “Journal”. Here is how you would create a URL to use as a link:
https://notes.obsidian.name/Journal
You can create the links yourself just by writing the URL, but to make it easier there is form on obsidian.name to create the link for you.
Now I can add obsidian.name
links to Google Calendar, and when I click them, they open in Obsidian.
Feel free to use this yourself, it doesn’t cost me anything to run, but I can’t guarantee I will renew the domain forever.
How to set up your own
You will need a domain name and a free Cloudflare account.
Configure your domain
First add your domain name to Cloudflare.
Now set up your DNS so that it can redirect any subdomain. Add a CNAME
with name *
and target can be anything. I am using obsidian.name
as the target, but this will never be used, once you set up the redirect rule it will take effect before the target is resolved.
Optionally, set up the form to help you create links. Skip this step if you don’t need it. The form is a single index.html
file that is hosted on Cloudflare page. You can fork the obsidian.name
form here codewithcheese/obsidian.name. Modify the HTML to create a link containing your domain name. Deploy the form using Cloudflare pages. Then add a second CNAME rule with name <your domain name>
and target the Cloudflare pages host name.
Setup redirect rule
Now create the redirect rule that will match your vault and note name, and redirect to the obsidian://
URI.
Request URL: https://*.<your domain name>/*
Target URL: obsidian://open?vault=${1}&file=${2}