An Evolution of Getting Things Done: From OmniFocus Templates to Airtable Databases

All work involves repetition, and work improves to the degree it is systematized.

A Good System Is an External Brain — Everyone Can Use One

It doesn't matter whether you're a novelist or a chief financial officer — there is a correlation between how successful you are and your ability to systematize familiar aspects of your work. Not everyone who is successful at their work spends a lot of time systematizing that work, but pretty much everyone who systematizes their work is more successful than they would be otherwise. A sound system helps you get familiar tasks done more quickly, but its real purpose is to give you more mental space to explore new ideas and methods.


Everything we do is in some respect part of a system; it's just a matter of how evolved the system is.

From Checklists to Templates

Systematizing work can sound stifling. We assume a system will constrain our creativity or that it's unnecessary because we're so familiar with a particular task sequence. But you use a checklist when you go to the grocery store; A shopping list is a checklist, which is a simple system. A shopping checklist doesn't make a chef less creative. And even though you know how to shop for groceries and what to buy, a shopping list is still helpful because it reduces a little stress. It acts as an external brain, freeing up space in your mind.

You may have:

  1. created a shopping list on your phone
  2. checked off all the items
  3. unchecked every item one by one so you can use the same list again the next time you go to the store

By reusing the checklist, it graduates to a template.

The defining characteristic of a template is that it is reusable. The grocery checklist becomes even more useful when it returns itself to its original state with a single click or automatically based on your location for example.

I use OmniFocus to generate recurring sets of tasks (projects). OmniFocus templates have the same set of tasks with variables. These recurring projects are like plays — the plot stays the same, but different actors play the characters.

Sample Template: Promoting a New Store Opening

If I wanted to create a project in OmniFocus called Promote new store location for Company X on November 20th, I would open Editorial on my iPad and tap the Local Promotion template. The template looks like this:

Promote «location» for «client» by publishing «content» on «date» @parallel(false) @context(Mac)

    Gather core content (photos, hours, address, phone, staff contact, description/defining characteristics, event details, audience goals, content KPIs, next actions) from «client» about «location» per Airtable system. @estimate(90m) @defer(«date»-60d) 

    Generate project template(s) and timelines for newsletter(s). @estimate(45m) @defer(«date»-55d) 

    Follow up with «client» on any missing core content for «location» and feed into Airtable @estimate(25m) @defer(«date»-45d) 

    Run competitive review & keyword discovery. Add to Moz keyword lists and campaign; update Airtable (core model etc) @estimate(90m) @defer(«date»-50d) 

    Define analytics goals @defer(«date»-45d) @estimate(75m)

    Draft «content» following core model in Airtable + contact form, newsletter integrations @defer(«date»-45d) @estimate(5h)

    Review «location» «content» draft, touch up, and share preview + review guidelines with «client» @defer(«date»-43d) @estimate(3h)
    Run usability tests private draft on «location» «content» @defer(«date»-43d) @estimate(60m)
    Follow up with «client» regarding feedback and share any usability testing insights  @defer(«date»-38d) @estimate(2h)

    Process any remaining feedback from client and user tests + make final edits on «location» «content»  @defer(«date»-35d) @estimate(2h)

    Share/publish final edits for «location» «content» @defer(«date»-34d) @estimate(2h)
    Set up tracking for analytics goals & heat map @defer(«date»-34d) @estimate(1h)

    Create location in Google My Business for «location» w/ UTM code and publish post  @defer(«date») @estimate(45m) 
    Launch any homepage promo for «location» @defer(«date») @estimate(45m) 

A note on timelines & ancillary projects

See how the first step is scheduled for 2 months before the location opens? That's because depending on the type of content we're working, we may need to have promotional content in place in advance of the opening.

There are many steps involved in content development, and even if there is a single person ultimately responsible for a piece of content, that person won't be able to do their job effectively unless they have access to subject matter experts and other stakeholders. The more people involved, the more time we need to bake in to meet the deadline.

Moreover, this project triggers other projects that run on their own timetables. For example, if a new store is opening, you'll want to send a newsletter announcement for the day of the opening and probably at least one or two in the run-up to the event. There's a separate sequence of steps for publishing newsletters to promote a new location opening that would I would be working my way through in the weeks leading up to the event.

If you're working with a content designer, be sure to loop them in on projects as they come up. There's no such thing as sharing information too early in the process

Contextual & Temporal Awareness

There are three essential elements to OmniFocus that make it more useful than a simple checklist:

  1. @context: If there are tasks that can only be completed at a certain place or with certain environmental elements (eg, at the office or when you're with a client), OmniFocus perspectives can filter out those tasks. For example, if I'm away from the office I won't see tasks that require my desktop Mac.
  2. @defer, @due, & @parallel: If a task's defer date or due date hasn't arrived, I won't see it. Likewise, if a project is sequential (@parallel(false)), I'll never see more than the next task in the sequence. 
  3. @estimate: The amount of time required to complete a task. (This can vary tremendously, so I try to enter much more time than may be needed to keep my schedule open.)

With a Template in Place, Future Projects Can Be Created in Seconds

To make this work in Editorial, you have to create templates using the Taskpaper document template. When creating new templates, I use TextExpander snippets to make autocomplete things like defer dates (e.g. @defer(«date»-3d)) and context (e.g. @context(Office)). TextExpander snippets are their own sort of template, so there's a nested-dolls quality to the whole process.


Using the template eliminates the need to recreate steps each time a new location opens. The only thing I have to do is fill in the three variables just once:

  1. Location name
  2. Client name
  3. Completion date (OmniFocus will send me reminders based on when each task needs to be completed in relation to the final deadline.)

After that, I tap the link in Editorial, "New OmniFocus Project," and I'm done.

    When to Create a Template

    Templates are rarely "finished". I'm always updating them as I find new and better ways to attack projects. They reduce the need for me to remember individual steps, making it less likely I'll fall behind or miss a step in a process, and they free up my brain to solve more thorny problems. Templates aren't meant to be definitive or perfect. 

    The more often you have to complete a project, the stronger the case for having a template. The example above isn't very common, but it has enough steps, and the project itself is important enough to warrant its systematization. Templating also keeps a certain part of my brain active and organized, helping me see larger relationships between different types of activities.

    From Solo Templates to Shared Systems

    I've been using OmniFocus for around ten years. In many ways, the application is ideal for individual workflows. 

    But it doesn't support collaboration, which is increasingly a problem. These days, a good system is one that can also serve as a communication tool, doing double duty as a way to accelerate decision-making processes and foster transparency among clients and colleagues. OmniFocus is a silo, which is why I'm working more and more with Airtable lately. In a sense, OmniFocus is just a database with a particular skin masking the data underneath. Airtable is also a database, but the bones are a bit more exposed, so you can get many more views of your content and tasks.

    Our mailing list, SuperHelpful Letters, often includes topics related to GTD and design. You can sign up here: