Open outlook emails from logseq


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.

Thank you in advance.

Hey @AAC

Try [Open in outlook](outlook://xxxxxxxxxxx)

Thank you very much @danzu , it works!

1 Like

Sorry @danzu, I spoke to soon.

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.

I wonder if this Open file links directly in Office desktop apps may help. The alternative is to copy the link to the email from outlook web.

The problem is not on the OS side, it’s on logseq:


If I reference with outlook:// or with outlook: logseq treats both cases diferently

Can you share the raw content of that screenshot? please blur private sections.

[Open inbox] (outlook://inbox)

[Open e-mail] (outlook:0000000023DD1CFA85A77544AFFD528DA3151CDD07003EAF6F11EE285548BE459FE6D750DAC60001267AF44D0000BBD71C936067B0498A2E868FDFA9E52C00029EDFC04F0000)

without the space between ] and (


how do you get this “number” after outlook:… in outlook? I tried but can`t figure it out.

Hi @hansendancen,

Take a look at this: Inbox Zero, Automation with Outlook VBA · Eric Chan

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

If you have any questions please let me know.

Any thoughts regarding my issue anyone??

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.

1 Like

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.

Don’t redesign the wheel, look at my previous posts, its very easy to get the email message id. :wink:

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.)



Drag + Drop from Outlook into Loqseq works well for me, it’s creating a new assetf ile, but thats fine for me

I think there’s some confusion happening here.

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.

@@html: <a href="outlook:messageidhere">click me</a>@@

On my system the above works.

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. :+1:

That’s it, it works great! Nice job, thank you very much