A Simple System for Collecting and Retrieving Ideas Using Roam Queries

Ramses Oudt
Ramses Oudt
A Simple System for Collecting and Retrieving Ideas Using Roam Queries

Roam queries enable you to build powerful workflow systems. Learn how to write and use queries now.

This system is useful when you want to collect ideas or topics that may be scattered over your Daily Notes or across different Roam pages. Particular use cases are creating meeting agendas — or collecting ideas for a report or potential topics for a newsletter.

In a future article, we’ll show another system for situations like a marketing funnel where there is a pipeline and items get moved along a series of different states.

We’ve used the detailed example of creating a meeting agenda below. But at the bottom, we’ve also shown how the system can be modified to fit other use cases.

How the system works

The system works by adding a particular tag or set of tags whenever a potential agenda item comes up. A query then collects all blocks with the relevant tag or tags.

When you need to create the agenda, you can go to your query and choose the items you want included.

In order to keep the query fresh, you will need to move agenda items that have been included or that are no longer considered relevant off the query.

Setting up the system

1. Decide on the tags to use.
If you have just one meeting to collect agenda items for, you can use a simple tag like #agenda or #meeting.

If you have several different meetings, you can have:

a) an individual tag for each meeting — eg. #marketingmeeting and #financemeeting.

b) a standard #meeting or #agenda tag and then have a separate tag for each individual meeting. So, if you have meetings with different direct reports, you can combine  the #agenda tag with their individual names – eg. #agenda #name1 and #agenda #name2.

2. Decide on the process for changing item status.
It’s important to clear the query of items that have already been included on an agenda or are no longer relevant. Otherwise the query will get filled up with out-of-date or irrelevant items and become less usable.

One way to do this is to use tags that indicate item status eg. #included and #ignore.

You can then exclude any agenda items tagged with #included or #ignore from your query results.

3. Create the query or queries.

Below is the query that would show all items tagged with #agenda apart from items that also had #included or #ignore tags.

{{query: {and: [[agenda]] {not: {or: [[included]] [[ignore]]} } }}}

And if you were using two tags for agenda items – say #agenda #name1 – this is what your query would look like:

{{query: {and: [[agenda]] [[name1]] {not: {or: [[included]] [[ignore]]} } }}}

It’s important to make sure you add the query to a page where you know you will be able to find it.

For a more detailed description about creating queries, please look at our Queries article. And if you’re having problems with creating a query that works, please ask for help in the Community.

Using the system

1. Tag each potential agenda item.

Whenever you write down an idea for a potential agenda item, add the relevant tag or tags to the block.

2. Check the query when creating your agenda.

When it’s time to create the agenda, go to the relevant query. Then create an agenda block and, for each item that you want to add, either copy the text from the query or  block reference it.

3. Keep the query fresh.

To keep the query fresh, you will need to clear items off it by adding either #included to items that have been included on the agenda or #ignore to items that are no longer relevant.

Other use cases

If you have another use case, you just need to tweak the system above.

So, for example, if you are collecting ideas for a report, all you need to do is change the tag to a more relevant one like #marketingreport.

Join the conversation.

Great! Check your inbox and click the link
Great! Next, complete checkout for full access to Think Stack Club
Welcome back! You've successfully signed in
You've successfully subscribed to Think Stack Club
Success! Click here to start your premium onboarding.
Success! Your billing info has been updated
Your billing was not updated