How I GTD in Roam Research

The Graph Representation of my “Second Brain” in Roam. Each Node represents one backlink.

As someone with ADHD, I am always seeking the ways to boost my productivity. “Getting Things Done” by David Allen has been a huge help for me in keeping my life organized and on-track. For those unfamiliar with GTD, here is a great summary. GTD is a great system for prioritizing and clarifying your tasks in a way that helps you avoid procrastination.

The other amazing tool I have found in the last few months is Roam Research. Roam allows you to seamlessly context switch throughout the day without having to hunt through a hierarchy to keep things organized. You just pop open today’s note and start typing, then as your contexts change throughout the day, you just add a backlink and nest whatever is relevant under that. It sounds deceptively simple, but it is pretty amazing once you get into it. For more info on Roam, check out Nat Eliason’s blog post here.

How do I use Roam to Get Stuff Done?


I used to use a combination of notebooks and an external application to get stuff done, but, as I started using Roam more and more, I realized that it was easier to drop in a TODO in my meeting notes and treat that as my inbox. This was awesome because it gave me all the context around what was going on when I captured the TODO, was I in a meeting? What were we talking about at that time? I never had that feeling of What the hell was I thinking when I captured this item?

The issue was that my TODO‘s would be scattered all throughout my notes and it could be easy to overlook them and miss something important. I wanted to find a solution that would put them all in one view for quick and easy clarifying.

I did find some other solutions for task management by Anonym.s and Nat Eliason, but I felt that there was too much manual process and it didn’t fit my ADHD brain as well.

The solution I found was to keep my easy-as-hell process of quickly capturing tasks on the fly, but setup a nice, clean Inbox where I could see everything I had captured at a glance. I wanted something that was automated using backlinks, where I wouldn’t need to go and setup special pages to track things week over week.

Setting up your inbox (Capturing)

  1. Create a new page in Roam named Inbox (CMD+U, type Inbox, hit enter)
  2. Add the following query:
    • {{query: {and: [[TODO]] {not: {or: [[Next Actions]] [[Projects]]}}}}}}}

This will create a list of your captured items, but will exclude items you have already prioritized into your projects or next actions lists. The goal here is to just show you your unprioritized stuff.

Ignore my NNNext Actions, I wanted to create some trivial examples for this blog and wanted to hide my real Next actions.

This is super easy to review at the end of each day/week and capture items that need to be tracked as Next Actions or converted to Projects.

Next Actions and Projects (Clarifying)

As you process your inbox you will have a few options ahead of you:

  1. If your captured task is small and will take less than 2 minutes, just go ahead and knock it out.
  2. If your captured task is something that can be done in a single step, make sure that it is worded as something that is actionable and tag it with your [[Next Actions]] tag. This will hide it from your Inbox and add it your Next Actions list.
  3. If it is something that will take multiple steps then we will need to create a project, which I will describe below.


In GTD parlance, a project is any objective that will take multiple actions to complete. To track my projects in GTD, I create a new page per project.

I use the following template:

This template of using Keywords to track projects was taken from Anonym.s’s youtube video series, which I highly recommend. You can find it here

I add Keywords to the top of the page to signify that this is a project, make sure to tag this with [[Projects]] so it will show up on your projects lists. You can also add a general area in this list as well if you want to be able to filter by Work, Personal, Etc.

I also nest my actual actions under a #[[Next Actions]] tag (make sure to preface it with a TODO (use CMD+Enter), this ensures that my Next Actions all show up on a single list.

By applying the [[Projects]] tag, to each new project, this lets you use references to get a clean view of all of your committed projects.

Make sure you filter out your INBOX here otherwise you will see a giant list of all your inbox stuff as well.

The Next Actions Page

Setting up the Next Action’s page is automated. Since we have been using the [[Next Actions]] tag to track everything, all we need to do is click through to that and you should see a linked reference list at the bottom. You will need to apply some filters to have it hide items which are completed.

My filters, INBOX might not show up for you depending on how you use it, but you definitely want to hide any DONE items. Shift click the DONE tag to make it exclude it.

Here is an example of a Next Actions Page:

What is great about this system is that it is automatic, I don’t have to create anything special, it is all created using backlinks and queries.

Tracking your high priority items (Engage)

From here on out, I just follow the GTD process, I schedule any items that are deadline dependent by tagging the tasks or project with a date and I create Starred filter to track high priority items that I need to get done ASAP.

To create the Starred filter just add a [[Starred]] backlink to any urgent items. You can then bookmark the page.

Don’t forget to use the filter to hide your DONE items.

Completing Projects

One final part is completing projects so they will be hidden from your Next Actions list. To complete a project, I just go to to the project and change [[Projects]] to [[Mission Accomplished]]. I also mark the [[Next Actions]] header as DONE (use CMD+Enter or just click the checkbox) above the checklist, so it will be hidden from my next actions view.

Here is my completed project to write this blog post, Mission Accomplished!

That’s all there is to it, feel free to ping me on twitter or leave me a comment with any questions or suggestions. Thanks again to Anonym.s and Nat Eliason for their great write-ups and courses and to the Roam Research team for building such a great product.