I would like to open Outlook emails from logseq using Outlook:// protocol
Is it possible to do this? I use this in Dynalist and it’s a great feature to reference emails and be able to open them just by clicking the reference.
I can reference my inbox with [Inbox] (outlook://inbox), but to reference a specific e-mail, I have to reference it like this [e-mail] (outlook:xxxxxxxxxxx) without the //. This way, the link stops working…
If execute it both ways on windows run, it works, so it has to be the way that logseq treats the reference.
I’m I using it wrong in logseq? Is there another way to do this outlook:xxxxxxxxxxx?
It really depends on the capability of the handler. URI handlers are set by the software maker(in this case Microsoft), and applied to the operating systems. Logseq is only a consumer in this case therefore not affecting the behavior of the uri. outlook:xxxxxxxxxxx is not an official handler syntax that is set within the OS. Therefor when logseq sends the request to the OS, to open it, the OS does not know what to do with it.
The ID you are looking for is Outlook.MailItem.EntryID property.
To open the e-mails from outside outlook you need to use the Outlook:// protocol, but if you are using Office 365 you need a workaround setup before you can use it: Shortcuts and the Missing Outlook:// Protocol
I’ve been playing with a solution for this. I think it’s not difficult for a decent dev to extract a unique mail ID from Outlook using a Macro or even Chrome extension (see above links for ideas), and use that to link to Outlook Web (the link would look something like Outlook…).
The other simpler solution would be to drag Outlook Windows client emails into Logseq. It adds the EML into the assets folder by default and allows you to open it directly.
That would be the best solution!
BTW, the issue with OneNote is still not solved whereas a copy/paste does not create a correct markdown clipbord entry!
There is no difficulty in generating the identifier for the email, I posted the links that should how to do it. The part I can’t figure out is how to open the email from logseq. If try it in the run bar of windows it works fine, also I can use dynalist and it works, but logsec can’t handle the protocol outlook: as a reference to execute on OS.
I also would love the ability to have email messages saved/sent from Logseq… OneNote does this AMAZINGLY well. Maybe there’s something we can learn from how that works? (You can drag and drop email messages into OneNote, then open them, reply to them, etc.)
Outlook accepts some links with the format outlook://inbox and that works in Logseq no problem. This style of link with the double slash is used when referencing locations in outlook, such as the inbox. But that does not work when directly linking to an email. In this case the link needs to be of the format outlook:emailidstring. No double slash. Outlook will return an error if there is a double slash when referencing an email id.
If I paste a URL with the format outlook:emailidstring into a browser address bar, or into the Windows run dialog box it works fine. The OS is handling the URL correctly. However in Logseq, it creates a page with that name and treats it as an internal link. This is definitely something on the Logseq side, it is not passing that URL to the OS for handling.
I’ve found a workaround however. It works if you embed the link as HTML. So try creating the link using the following format.
Thank you, this worked for me. I created a macro in Outlook to get the link when I work with Obsidian, but it didn’t work in LogSeq. When I use your html approach, it works perfectly, and I don’t have to use Office365 through my browser.