Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How can the Remember The Milk (RTM) task management system be used to implement the Getting Things Done system?

share|improve this question
up vote 15 down vote accepted

I've been using RTM (both web and iPhone) as my GTD system for over a year and have found it incredibly helpful and ideally suited to my needs. I originally started with this advice from the RTM blog, but quickly streamlined the system to something less complex to manage and with less overhead.

What I've liked the most are the power of the smart lists and the iPhone app, which means I always have easy access to my contexts and a means to capture an action "on-the-fly".

My usage is best described in two parts.

  1. My lists and how I use the RTM meta-data fields (e.g. due dates)
  2. How I use smart lists to generate my next-action context lists.


For me, a critical feature is the ability to enter tasks and all associated meta-data from the "command line", so I've included as in-line code snippets the correct syntax for all the meta data types and enumerations I'm about to go through.


I use three lists:

  1. Inbox (no syntax; Inbox is the default list): I use smartlists for everything so this list holds everything not in the next two lists
  2. Waiting #waiting: this holds reminders of tasks I am waiting for others to complete that can wait until my weekly review. I label these Name: task description. This sorts the waiting items by person so during my weekly review I can create a task to tag up with that person to get status (if necessary).
  3. Maybe #maybe: this holds traditional GTD someday/maybe items that I look at as part of my weekly review

Waiting and Maybe hold items I only look at as part of my weekly review. Everything else goes into Inbox, which I use because it's a default list that can't be deleted; the less list tabs there are the cleaner the interface is.

I've found that a list per project is unwieldy. Furthermore, my project files typically contain lots of reference information inappropriate for storage in RTM (like files of background data, hand-written notes, etc.). So I store project data separately and only use RTM to capture actions.


By definition, locations are mutually exclusive so I reserved their use for tasks that have to occur at a specific physical location. I use locations instead of tags because the @ notation for a location is more intuitive for me than the # for tags, because it's one less tap to assign on the iPhone, and because it allows me to move a task from a home to work context without having to remove the old tag (i.e. assigning a new location automatically blows away the previous one, which is exactly what I want).

  1. Home @home
  2. Work @work
  3. Errands @errands: this includes anything I have to do out-and-about. In practice this list is small enough that I can group all my errands together and quickly determine what is nearby and what I have the time to do when I'm out. If I was a traveling salesman or worked at multiple plants I could see having more locations.


  1. Phone calls #@call: which I use for any calls I need to make. I typically include the phone number in the task: 867-5309: Call Jenny re good time.
  2. Things that require the internet @#web: something that only requires an internet connection

Due dates and repeat

Due dates and repeat can be entered in natural language, e.g. ^tomorrow or ^June 30 or *weekly. If I have a task that I've though of now but don't need to see until a certain date (i.e. it's not yet a next action but will be by date certain), then I use this meta data field (Note: the due date as I use it dictates when the item shows up, not when it's due--more on this in the smart lists section).

Smart Lists

Smart lists have been my key. I use them to create order from my onmibus inbox and meta-data-tagged tasks. Here are my smart lists, human-readable descriptions, and the query syntax to generate them. These list are comprised entirely of next actions.

  • @call (people to call, which I check when I am near a phone but can do little else)
    (list:inbox AND (dueBefore:Now OR due:never)) AND tag:@call
  • @errands (things to do when I'm out)
    (list:inbox AND (dueBefore:Now OR due:never)) AND location:@errands
  • @home (things to do at home, including calls to make and things to do on the internet)
    (list:inbox AND (dueBefore:Now OR due:never)) AND (location:@Home OR tag:@call OR tag:@web)
  • @work (analogous to @home) (list:inbox AND (dueBefore:Now OR due:never)) AND (location:@work OR tag:@call OR tag:@web)

So for example I might enter a task as follows

Take out garbage @home ^thursday 7pm *weekly

And now every Thursday at 7pm the task will pop up on my task list so I'll be reminded to do it before I go to bed.

Other random tips and tricks:

  • If a task has a URL associated with it just paste it into the entry bar. RTM will auto-detect and put it in the URL meta-data field as a link so it's at the ready.
  • I also use priorities, which are sorted from !1 (highest) to !4.
share|improve this answer
Thanks for the very complete explanation! How do you handle the concept of a GTD "inbox" that is left empty after each time you "process" the collected items into their various places? – jrdioko Jul 5 '11 at 23:24
Good follow-up. First, I conceptually separate the RTM inbox list from a real GTD inbox. I don't collect things in my RTM inbox to be processed later. One way I collect tasks is when I think of or receive a simple action, which I typically enter directly into RTM via the command line or iPhone--complete with meta-data (i.e. no additional processing is necessary). Other actions get collected as notes on a document or scrap of paper, which get thrown into a physical inbox on my desk and processed into RTM regularly. So it is my physical inbox that empties, not the RTM one, which is just a box. – Adam Wuerl Jul 6 '11 at 11:43
Adam said: "I've found that a list per project is unwieldy." I agree that it does seem unweildy (as Alexandre also points out in a comment below). Do you have a Projects List outside of RTM? I think I would miss not having the grouping of tasks into a project. – eflat Feb 8 '12 at 21:44
@eflat Actually, since I wrote this answer I have started separate lists for projects. But I find in practice I only do this for large projects where I have a need to store many future actions and want a way to see all the tasks assigned to them at once. This of course could just as easily be done with tags; I just didn't decide to do it this way, mostly because in the iPhone and web app if I'm in a list when I enter a task it will put it in that list. I wrote all about this in a blog post. – Adam Wuerl Feb 9 '12 at 1:06

After looking more, I see RTM has an excellent blog post on exactly this. It suggests the following steps:

  • Create Lists for Personal and Work Daily Tasks
  • Create a List for Each Project
  • Brainstorm Project Tasks and Tag your Next Actions with “na”
  • Use Tags and Locations to Create Contexts (@Home, @Work, @Web, etc.)
  • Create Smart Lists to Separate Tasks Into Specific Contexts
  • Waiting-For and Someday/Maybe Lists
  • Other Lists and Smart Lists to Complete Your System
share|improve this answer
I tried it and a list for each project was quite unwieldy and took too much screen real estate. Just think 20 work projects plus same for home. Plus RTM does not have regular expression searches over project names, so there was no easy way to say 'show me next actions on all work projects'. I am using instead tags with prefixes I can search for. – Alexandre Rafalovitch Jul 1 '11 at 13:45
I also killed my lists and using tag for managing projects. It works better than List. I do not have any list now and just inbox with tags. – Natwar Lath Mar 10 '12 at 3:12

Here's what I do:

  1. Use tags as GTD context, also put one in for someday/maybe
  2. Put your weekly review in as a reoccurring tasks
share|improve this answer

When I was using RTM, the biggest savior was smart lists - I could use different tags for different projects, and then use smart lists to handle the creation and navigation of contexts.

Smart lists are SERIOUSLY powerful - you can do just about anything with them. It was the #1 feature that kept me with them so long.

share|improve this answer
Out of curiosity then, what did you switch to and why did you leave? – jrdioko Jul 5 '11 at 16:02
I switched to a Moleskine - I left because I graduated college, and also just started a job where I dont need something like RTM. The overall entropy and complexity of my life went down, so I downgraded the power of my todo system. I couldnt justify the pro price for syncing, and didnt want something web only. That being said, its an amazing product that I still recommend. – mitchellhislop Jul 5 '11 at 16:50

I use smartlists per 'project'. Inside the project I abuse the priority for GTD:

  1. Working on
  2. Next action
  3. Waiting for/delegated
  4. Someday (no prio)

Then sort on priority, voìla, a nice GTD list.

Really simple, but works perfect for me.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.