This doc is an evolving and improving set of important tips and tricks (🔹), limitations (🔸), pitfalls (❗️), and technical notes (Σ ) on using Notion effectively.
Started internally at Holloway by @ojoshe—but we might publish more broadly if it proves valuable. Please add comments with ideas to add to this doc here! (We'll fold more updates in.)
When and where to create docs
The question of how best to organize files on a team so they are maintained and all find and use them is a perennial challenge. This is true in every system—Google Docs, wikis, Confluence, Dropbox, Quip, Notion, and other team shared docs.
Bob Woodward famously declared that "democracy dies in darkness." Online documents die when they are unmaintained or don't have readers. This can be because they are forgotten or lost, they become out of date due to lack of maintenance, or people lose trust in them.
The way to counteract this is:
- Have clear ownership: Even if docs are collaborative, someone "owns" keeping the doc maintained and of high quality. ("Wisdom of the crowd" does not mean "no ownership.")
- Maximize audience: In general, write for and share with the largest audience unless there are good reasons not to (privacy, security, confidentiality, sensitivity, immaturity, etc.). Keep things organized so they can be found.
- Minimize number of documents: Other things being equal, fewer docs are easier to manage and have a bigger audience.
So how many docs should you create, exactly? As few as possible, but not too few! In general, a good principle is to divide things into a single doc only when three considerations align, and separate them if any of these are different:
- Owner: The one person ultimately responsible for the doc.
- Update cadence: Is this a write once and later forget thing? Or is it long lived? And if so, how frequently is it updated? Ad hoc or on a schedule?
- Audience: Is it company internal, group internal, for customers, or for the whole web?
For each doc or folder you create, formally or informally know the answer to these three things, and your docs will be better organized, better used, and better maintained. Informally or formally, your team should know the answers to these three attributes for all docs.
Here are some guidelines that flow from that principle:
- If a doc is sensitive, segregate it in a more limited-access team area, and mark its sensitivity. You don't want anyone to share it accidentally.
- If a doc is potentially external or public, separate it from internal documents and make this clear.
- If it's not clear who owns a document, reassign it to one person, or divide the doc so each part is owned by one person.
- If a doc is only going to be used for a short period, make it a separate doc, ideally placed in context with other docs (like meeting notes, owned by the meeting owner).
- If a doc will be maintained over time, potentially with multiple contributors, the owner is the overall maintainer. Put it somewhere everyone can find it, the more people the better. If it's useful across teams, make it broader access.
- Notion does not have folders like Google Drive or Dropbox. Rather, you just have pages with sub-pages.
- Sub-pages appear in the nav on the left. This works pretty much like you'd expect.
- The order of sub-pages within a page is stored sorted, so you can drag them to the preferred order. There aren't sorting options, e.g. by name or date, like you might have on a file-based storage. If you need this, create a table instead.
Sharing and permissions
- Notion is nice for adding external guests and collaborators, but as with any enterprise tool, you have to be aware of the complexities of permissions and what you share with whom.
- It's possible to add people as full members, or as guests to specific pages—and sub-pages.
- If you organize folders in a sensible hierarchy, it's easier to add people in a clear and understood way. For example, if all engineering work is under a page Engineering, you can add a guest contractor to that page and they'll get access to all sub-pages, and you can still be sure they don’t have overly broad access.
- 🔸 Guests can't create new pages. If you want someone to be able to add new pages, you'll have to add them as a member and be aware they'll have access to all other team-visible pages.
Notion allows you to assign emojis to documents as mnemonic visuals. By default these are random, but usually it’s better to be thoughtful about your icons. You can use any system you like, but we suggest you don't put a different icon on every single doc, or even put an icon on every doc. It gets confusing and cognitively overloads everyone. For random one-off docs, the absent icon (a plain page) can be best.
Often it helps to have reusable icon conventions for things that fit a common pattern—think of it like a lexicon of document types. Some ideas we’ve found convenient are below, but of course others may be more specific to your work or team:
🔹 Long-lived doc of importance that should be maintained
🔰 Pipeline table that is continuously maintained and added to—people, customers, resources, blog posts, ideas, etc.
🛣 Roadmaps or plans
🍄 Hiring (like when Mario eats a mushroom and gets bigger)
📓 Meeting notes
📚 Reading or study lists
🔒 Sensitive—do not share
📦 Archive—old documents kept for reference but no longer maintained
Pitfalls, Tricks, and Workarounds
- 🔹 Learn the keyboard shortcuts! Some important ones:
- ⌘P to Search
- Shift plus arrows then ⌘K to add a link
- Copy paste of formatted text
- ❗️ Watch out when you copy-paste as formatting can get lost. Copy-paste of formatted text, including boldface and links, currently doesn't work when inline (i.e. a partial paragraph).
- Workaround: Copy two or more paragraphs! Block-level copies then preserve links and boldface and bulleted items, etc.
- Notion does not always respond to pasting in the intended place in a table. If you're trying to paste in a box and the text is not showing up, Notion has made the text into an entirely new item at the bottom of the table. Delete these.
- ❗️ Search does not always work! Double check, close the page, and run search twice if you get nothing the first time.
- ❗️ Comments and captions (the text you add below a figure) are not searchable.
- To help with search, consider giving pages more unique names, but often with a prefix that’s by department or project or topic. E.g. “Eng Roadmap 2019” not “Roadmap” since otherwise you’ll inevitably have multiple Roadmap docs that show up and you’re always choosing between them.
- Short project codenames make good prefixes!
- Table views and filters
- 🔸 Views are shared globally but selected per user. Usually this is as expected, but important to know. Don't go change the main view on a table used by everyone!
- 🔸 Field ordering, hidden fields, sorting and filtering is handled per view, not globally or per user.
- So if you re-order the fields in a table on one view, you won't see changes on others! Usually this is expected but sometimes when you add and insert a new field in the the one view, you might be surprised to see the old field in a different position.
- Which fields are hidden is attached to the view, too.
- Filters and views that have "contains" do add in a "compatible" way, auto-filling the relevant record. Very helpful!
- Slack integrations
- Slack integrations are recursive, applying to all sub-pages. This is usually what you want.
- To have a sub-page sent to a different channel is not supported—but there's a trick: Move it to a different enclosing page, then link to it. (Integrating and then moving it back doesn't seem to work...)
- ❗️If you navigate away from a page, return, and try to undo, you're hosed. Well, not entirely. You'll have to navigate to "Updates" to see past version history to get your content back.
- ❗️You can't copy/paste a schema of a column. So for example a multi-select and associated options colors, can't be assigned to a new column in a table.
- Instead duplicate the column, then delete the contents.
- Or duplicate a whole table, then delete all contents.
- A key concept with tables is that one field is the “workspace” field, meaning it is like a text field but it itself can be opened liked a page and add lots of detail (and every sub-pages). Unless you reorder or rename it, the workspace field is the first field, called “Name”.
- Using the workspace field is a great way to add context and detail to a row on a spreadsheet
- This is one of the most powerful features that sets Notion apart from tables in Excel, Google Sheets, and Airtable.
- ❗️ You can only have one workspace field so be judicious which one you use. It should have a good searchable name.
- ❗️ Rich text (boldface, italics, links, etc., as Markdown) is only exported on the "workspace" field. Other fields of a table are exported in plain text.
- Σ Rollups vs Relations on export in CSV exporting: When exporting, relations link to Notion URLs, which makes them hard to process with other software. However, if you do a rollup, the content of a field can be exported (even if it looks identical visually in the UI). You can use this this in workflows where you export to CSV and then process contents.
- 🔸 Unlike Airtable, there is still no official API or programmatic export supported. But there are now unofficial clients in Go and in Python.
Moving pages out of a table
- ❗️ Do not move or drag a workspace page (i.e. a title sub-page that's a field) out of a table. This is very dangerous, as all the other fields for that record in the table are lost!
- Workaround: Say you’re moving a page with the name (workspace field) "Feed the Monkeys" from a sub-page of a table to a standalone page:
Beware doing (3) without step (1).
- Duplicate the row, so all fields except the main one are backed up [critical step!].
- Open the enclosed page [in this case Feed the Monkeys].
- Click on the ellipsis in the upper right and “Move” it to the new location (some other page you’ve created to be a parent)
- The row enclosing the page you just edited is now gone (including all its fields!) but that’s OK because we prepared for it. Go back and change the new duplicate row you just added to to point to the moved page again.
- You’re now in the desired state. Also, interestingly, the “Copy of …” doc created as a side effect of (1) is automagically deleted somehow.
See this thorough reference from Adam Listek.
Roadmaps and Backlogs
Notion is possibly one of the best ways to track roadmaps of items or backlogs, like product feature backlogs. Here’s one approach we recommend.
- Build a table and add a kanban board view.
- Add fields relevant to your task, such as:
- Name (the workspace field, so you can add lots of detail, screenshots, links to other cards, and sub-pages)
- Size (a chooser to select small, medium, or large)
- Release or milestone
- Tags or component names (a multi-select)
- Add additional views needed. Views help a lot!
- A primary full view might be kanban board sorted by size (large to small) in each column and secondarily by name.
- Other views might be filters highlighting specific tags (e.g. for one person or team), or for a specific release, or for a specific kind of effort (UX and design).
- Tip: If you want to add a bunch of cards that all have the same tag, assigned person, etc, create a filter for that view, and then every new card you create will automatically have that attribute set for it.
- Set the right fields, minimally name and size and tags, to be visible by toggling fields in the table settings page.
- It’s a nice hack to use sizing of small/medium/large to allow you to track big efforts (weeks) as well as medium (day or two) and small (hours). The reasoning for having big and small items all in one table is that it's way easier to have on table with a consistent schema you can sort/filter/edit than separate tables for big and small items (and then often as not being unsure where to put medium ones!). You can of course choose other settings like this if they better suit your needs.
- Advanced trick: Share tags small/medium/large and other kinds of tags, but always put size as the first tag. Then sorting always is by size if you sort by tag, but it fits more tightly on the screen.
- You can filter and sort on size. For example always sort large→medium→small in each kanban column. Or add a view to only show large items.
- Use consistent memorable colors for size and tags. Select tags that are useful for users, eg Frontend for frontend engineering.
- Consider using a consistent emoji for roadmaps or backlogs, like 🛣.. You'll inevitably have two or three or ten.
- Ben Lang’s 10 Public Notion Templates
- Adam Listek’s Formula Reference
- 🎥 Matthew Encina walks through his Notion workspace
TODO for covering:
- Toggle lists and when useful, including how they're good for hiding images
- You can label things with a "meta" toggle that says doc owner, update cadence, etc.
- How adding items work when a filter is active
- Linking to other pages via @+search (and UX confusions there)