Using Roam and Scrivener

UPDATE: It appears that in order for this to work correctly you need to have your Roam instance set to public. Following a conversation with someone in tech support at Literature and Latte (the team behind Scrivener) I was told that their web page files are “not able to handle authentication” and will error if the page you link to is not publicly viewable.


Since starting my master’s programme Roam has become an indispensable tool. I use it as my research diary and for more general note taking. The bidirectional links are incredibly powerful, allowing me to easily link ideas together and create new pages on the fly for the purpose of revisiting at a later date. Then there are the slash commands, the knowledge map and lightning fast search. This post is by no means a review, but I thought it was worth mentioning how good I think the app is for starters.

Another new app I’ve fallen for is Scrivener. Scrivener is a word processor in that it competes with the likes of Word and GDocs, but is different from then in that it’s targeted at people who are writing long form content. Novelists, screenwriters, academics etc. What’s nice about Scrivener is that it has a dedicated research section, the content of which is ignored when you come to compile your final document. This has been really useful as I can take notes from other papers within Scrivener when working on my own.

This process of making research notes within Scrivener leads to some duplication. In reality, I want my research notes in Roam, so I find myself either copying earlier Roam notes into Scrivener, or, taking the original notes in Scrivener and transferring them the other way when the essay is finished. Fortunately, I found a hacky way to get the best of both worlds.

Launching Roam in a Scrivener web view

It’s possible to launch Roam inside the research section of your Scrivener project using a web view. You’ll be able to navigate your Roam database just as you would within a standard browser, as well as create / edit pages and copy content across for your writing.

To do this right click on the research folder, select ‘Add’ and then ‘Web Page…’, punch in your desired Roam URL, sign in, and away you go.

A screenshot showing how you add a web view to Scrivener

I recommend that you name the Scrivener file after the name of the Roam page you link to. This is because each time you navigate away from the Scrivener file it has to reload the Roam page when you return. While this may seem frustrating to begin, after using it for a while I find it’s actually preferable. It means that each Scrivener file in your research section is dedicated to a specific Roam page, rather than being a general link to your entire Roam database. If you want to have access to more Roam pages, create new Scrivener files, just as you would if you were creating notes in Scrivener without Roam.

A screenshot of Roam working inside Scrivener

The only regular frustration I run into is when I create a new Roam page inside Scrivener, only to lose that page when I return to my writing. The quickest way to combat this is to open the page menu inside Roam, click ‘Share link to this page’ and then create a new Scrivener file using the URL that was just copied to your clipboard. It’s imperfect, but like I said, this is a hack.

Using the page menu in Roam to copy the page's URL

Other than this, the occasional crash from Scrivener, and failed load from Roam, I’ve found this system to be pretty handy. It allows me to keep all my note taking centralised within Roam, and avoids the need to switch between different apps. The later I find particularly handy given that retaining focus is one of the aspects of writing I find hardest; accessing Roam in this way means I can work for long periods of time with only Scrivener open on my Mac.

Hopefully this is of use to you. Or, if you find a better way to achieve the same thing, be sure to let me know.

Hi there, thanks for stopping by!

My name is Dan, I'm a product manager and entrepreneur living and working in London. Check out my blog archive or read more about me.