Supertags

Supertags turn your notes into objects like Projects, People, Tasks, Books, Recipes. Supertags will help you find, structure and build your information in flexible, iterative and lightning-fast ways.
Last updated: November 6, 2024

Overview

Supertag = Turns a node into an object.

Use supertags to identify objects in your notes: Examples include #task, #meeting, #trip, #subscription, #person and so on. A good way to check if a supertag is right, is thinking “is a” when adding the tag to a node. A node with the contents “Marisha” is a #person. Oslo is a #city. With an eye for “what things come up in my notes that need to be remembered, organized or actioned”, these are good candidates for a supertag.

Supertags are the beginning of creating collections of objects, like a database: Anything you would make a list, collection or database for, these are good supertag candidates. Each row in a database represents one node. Each column represents the Fields of those nodes.

Supertags give you tools to structure the information of the object: Every time you apply a supertag to an item, it populates with default Fields and Nodes of your choice, to help you organize all important and related information regarding this item. If it is a person, adding a Field for their Phone Number and their Preferred Name might be handy. If it is a todo, you may want a Field with the Due Date. See more under Supertag configuration panel.

Basics

  • When you tag something, unlike traditional tags that signal that the content is related to the tag, in Tana the content is the tag. For example, "buy milk" is a #task. Therefore, supertags apply to the whole node.
  • This means that you can define objects in your notes, and give them special attributes based on what they are. Tasks can have Due dates. People can have Nicknames. Projects can have Statuses. These attributes are saved as Fields in the Template.
  • Supertags can be used on any node, and gathered at any time using Search nodes. If you remember to supertag your important stuffs, our powerful search nodes will ensure that everything resurfaces again in an instant, no matter where they are in the graph.
  • Click on a tag and you’re taken to a Supertag page. By default it creates a search looking for all nodes with this supertag in the graph, shown as a table. That said, you can adapt the Supertag page however you want by adding tabs and additional views of relevant information.
  • In the Supertag page, click on the wrench button on the top right to get to the Supertag configuration panel. (Note: you can also get to it by holding Cmd/Ctrl+Shift+click on any supertag)

Details

Create a supertag

On any node, typing # will bring up the Supertag menu. Continue typing the name of the supertag to either make a new supertag (always the top answer), or find an existing one that matches what you’re typing.

On any node, use the Command Line Cmd/Ctrl+K and type Convert to supertag. This converts the node to a Supertag definition turning the node name into the supertag name. This command will also take the child fields and nodes and make them into template items.

When you create a supertag, by default it sends the original Supertag definition to Schema.

Add/remove a supertag

To add a supertag, anywhere in a node, type #[name of tag] and hit Enter to apply it to the current node.

To remove a supertag, hover over the tag and click the x that shows up, or right click the tag and pick "Remove tag"

Both actions can be done via the Command line (Cmd/Ctrl+K):

  • "Add tag"
  • "Remove tag"

Delete a supertag

Before you delete a supertag, consider whether it has been applied to any nodes. In the Supertag configuration panel, scroll down and see the stats on how many nodes it’s been applied to.

  • If you have used it on 0 nodes, it’s fine to just delete the supertag.If you have used it on 1 or more nodes, consider finding all those nodes and untagging them before deleting, or if it’s being replaced by another tag, merging the old tag with the new tag.
  • When you delete a supertag that is applied to other nodes, these nodes will show a trash can icon. This follows our principles about Deleting Nodes, Supertags, and Fields that have references elsewhere, which states that Tana will never delete data that is indirectly associated with another element that you delete.

How to delete a supertag:

  • Option 1: Go to Supertag configuration panel. At the bottom there’s an option to Delete the tag.
  • Option 2: Find the original Supertag definition and delete it.

The supertag page

When you click on a supertag, you’re taken to the Supertag page.

This page by default will be set in Tabs view, and show you a table of all supertagged nodes on the first tab.

You can do basic configuration of the supertag here like adding columns (which are fields) and saving them to the supertag template using the ✨Suggestion that pops up.

You can also add other tabs with different views that you want accessible on the supertag page, such as instructions on how to use the supertag, search nodes with different default views, or a reference to any node you might find useful to access while looking at the supertag page.

Configure a supertag

To open the configuration panel of a supertag:

  • Anywhere you can see a supertag:
    • Option 1: Right-click it and choose Config supertag
    • Option 2: Cmd/Ctrl+Shift+click on a supertag
  • On the supertag page: go to the node options (ellipsis button) > Configure supertag
  • Use the command line on a tagged node: Configure supertag
The supertag configuration usually opens as a side panel to the right

Colors

There are 12 colors available for supertags, plus colorless (grey).

"Used X times"

How many nodes the supertag has been added to. Clicking it creates a search node looking for all the nodes.

Delete

This deletes the supertag definition. If the tag is still in use elsewhere, the name will appear with a trash can icon. We recommend either 1. untagging everything before deleting, or 2. using the command Hard delete including references on the supertag definition.

Supertag config: Content template

The content template is where you add fields, search nodes and regular nodes that will show on every node with this supertag.

Supertag config: Content template section

1. Default content

Below is where you can construct the content template for the supertag. Every time you apply the supertag to a node, this template gets applied.

—Fields

Fields are attributes that describe the object that the supertag represents. Examples:

  • a #task can have fields like Status, Deadline, Priority, Team, Assignee
  • a #client can have fields like Company name, Email, Point of contact
  • a #project can have fields like Timeline, Lead, Team, OKRs, KPIs, Stage, Priority

To add fields to the supertag template:

  • Add fields directly in config: Type > at the beginning of a new node to add a new or existing field.
  • Add fields ad-hoc: Add a new or existing field under any tagged node (that isn't already part of the template), then right-click the field name > Add to template

To set default values for fields:

  • Fill out the field value in the supertag template. Example: New #task always has >Status:: Inbox

To set auto-initialize rules in fields:

  • Each field has to be set up separately. Go into the field config by clicking the field bullet.

For a more in-depth description on how field initializations work, see: Auto-initialize

—Add search nodes

A search node can customize its results based on the supertag instance. Examples:

  • a #project that looks up related #tasks
  • a #person that looks up related #meetings
  • an #author that looks up related #books

To make a search node:

  • Command line (Cmd/Ctrl+K) -> Find nodes
  • Type ? and click on ✨Create search node

See Query Builder for more on customizing your search.

—Add nodes

Add nodes just by typing them in. You can also add references to nodes.

2. Extend

Pick a supertag from the list and the default content will populate with template objects from that tag. Think of it as a projection. You cannot move or delete content that originates from an extended tag, but you can add more fields/nodes, and you can specify different default values to the fields.

Example: A basic #task tag has the >Due date and >Project fields.

  • You can create a #design-task that is extended by the #task tag, then set the default >Project value to "Office Renovation".
  • You can also add a new field, >Reno team, so you can add individuals and teams that these tasks be assigned to. This will not appear on the #task tag.

3. Optional fields

Optional fields allow you to specify which fields you use sometimes in a supertag.

This means you can add only the most important fields to your supertag template, while you move the rest to optional, ready to go when you need them.

To add optional fields:

  • Supertag config: Add a field in the Optional fields section right beneath the Supertag template
  • Add an ad-hoc field - twice: Add a field under any tagged node. If you add it again a second time under another node with the same tag, it automatically gets added as an optional field.
  • AI-enabled suggestions: If you use AI in Tana, fields will be automagically suggested for any new supertag you create.
  • Demote from template: Right-click on a field that is part of a supertag template, and choose Make optional

Once optional fields have been added, whenever you use that supertag again, the optional fields will be suggested in the following ways:

  • Button next to the tag
  • Suggested fields widget (appears only for a little while, then disappears after 24h)
  • Slash command inside tagged node

4. Show as checkbox

Turn this on to show a checkbox on all tagged nodes.

4a. Done state mapping

Optionally map the checkbox state to one or more field values. This creates a two-way connection between a field value and the checkbox state. If you check/uncheck the box, the field value changes to the value you specify for either state.

Insert fields using >, and select the values for each state.

5. Base tags

You can select a “base” type for your supertags. These are a fixed set of familiar object types, mainly to help AI distinguish the type of object a node is regardless of its name.

The base types are:

  • Meeting: A type of event you want to transcribe and create meeting notes from
  • Tasks: An action item that needs to be done
  • Organization: A group or corporate entity
  • Person: An individual (from a contact list perspective)
  • Location: A place in the world, like a city, state or country
  • Project: A larger effort than a single task
  • Topic: A subject, category, area
  • Event: Something that happens at a specific time

Examples of how they are currently used:

  1. Meeting agent: The tags that will be applied to your meetings are automatically given the Meeting base tag. To create more meeting agents, create a new supertag and give it the Meeting base tag. This will make the Meting section in config appear where you can set it up.
  2. AI-generated meeting notes: By default the meeting agent will auto-detect things like Persons, Organizations/Companies, Tasks, Locations, and Products. The default tags that are generated for these objects all have the appropriate base tag applied.
  3. Calendar sync: When you select a tag (other than the Meeting tag) to use for your events and tasks, they will get those base tags respectively.

This feature is a work in progress.

AI and Commands

The AI and Commands section is where you can configure all AI functions and add Commands to the supertag, either to be manually or automatically triggered.

Supertag config: the AI and Commands section

1. Custom autofill behaviour

This custom AI feature allows you to use AI to autofill the title, the fields, or the description, based on the incoming prompt. Autofill applies to all fields, except the ones you add to the "Fields to exclude" section.

2. Audio-enabled supertag

This custom AI feature allows you to add content to a node by doing a voice memo to transcription. A record button appears on every node that has this tag. You can simply receive the raw transcript, or you can add your own post process command to take the transcript and turn it into something else using AI.

3. Command palette

The command palette allows you to add commands that will appear as button on all nodes with this tag. Commands that are triggered on a tagged node will use that node as their primary context, and cannot be made to act on an adjacent context.

4. Trigger commands on events

You can trigger custom commands to run around certain actions.

On added/removed: gets triggered when a tag is added or removed from a node

Use case examples:

  • When added, send a notification to a member of the workspace whenever a tag is added
  • When added, move the node to a specific place
  • When removed, change status of a field to Archived

Limitation: If a supertag is added/removed via API, it will not trigger as actions by API are currently not recorded as a user action. This is a limitation with how our API is implemented.

5. AI instructions

These are clarifying instructions you can give if AI is used to identify objects that should be tagged this.

Advanced options

The Advanced options section has functions that are a bit more involved in setup, or are less common to reach for.

Supertag configuration: The advanced options section

1. Build title from fields (title expression)

Build the title of a node from the values of its fields. Title expression are set in a supertag called "Build title from fields", and will apply to all its instances.

Title expressions composes field values from the node into a title using this the format: ${field name}

The title expression uses the actual name of the attribute.

You can also write between the fields, it could look like this; ${Objective} with the team at ${Date}

The existing name of the node can be accessed through ${name}. Note that if the title expression begins with ${name}, you will be able to edit the first part of the title directly on the node. In any other case, the node title will be locked for editing (even if ${name} appears later in the expression)

You can also specify a max length using ${field name|30…} which will show only the first 30 characters of a value.

Choose whether you want the placeholder to appear if the field is empty by appending a ? - either ${field name|?} or ${field name|30…?}.

In fields that have a list of nodes as values, we include all field values, not just the first one.

System attributes available in the title expression:

  • ${cdate} and ${ctime} - Created date and time in UTC, i.e. not local time
  • ${mdate} and ${mtime} - Modified date and time in UTC, i.e. not local time
  • ${sys:description} - Description field
  • ${sys:createdAt} - Time of creation
  • ${sys:lastEditedAt} - Time of last edit
  • ${sys:lastEditedBy} - User who last edited the node
  • ${sys:editedBy} - All users who ever created/modified the node
  • ${sys:owner} - Parent node
  • ${sys:dateFromCalendarNode} - The calendar node this node belongs to (Calendar date system field)
  • ${sys:doneTime} - Date and time this node was marked done

Finally, you can use simple html formatting like <b> and <i> to make things appear bold or in italics. An example:

  • Title expression: <b>${Title}</b> by ${Author}, <i>${Year}</i>
  • Node title: Pride and Prejudice by Jane Austen, 1813

2. Default child supertag

If you want to have a default supertag applied to all child nodes of any instance of this supertag, you can set the supertag you want here. This supertag will be applied to all new children.

Related content makes it possible to customize the layout of the tagged item to show references or search nodes next to the node's main content. This can be used to show for example tasks or meetings on the Today page, or action items next to a meeting.

See Related content for more.

4. Shortcuts

Nodes here reflect the same nodes that exist on the supertag page. You can manually add nodes here and they will show up there.

Supertag definition

What is a Supertag definition?

When you create a new supertag, a node is created that stores the configuration of this supertag. This is the Supertag definition and includes its name, template, and commands that show up as buttons, among other things. You access the settings of the supertag via the Supertag configuration panel.

How to find the Supertag definition?

There are two situations where you’ll encounter needing to use supertag nodes:

  • Creating a Search node
    • To find it here, just type “#” in the search expression editor and Tana will look for every supertag in accessible workspaces
  • Creating a Tana Template
    • To find it anywhere else, type “@#” and the name of the supertag. Supertag definitions show up in their color and hashtag at the front.

Merging supertags

See Merging duplicate nodes

Related release notes

  • NewGamechanger?? New commands to be run on tag template: "Convert template node to field" + "convert template field to node". What this does: Inside the content section of a supertag config, you can now convert fields to nodes, and nodes to fields. These will update the tag template / 'content', and all nodes that have already been tagged and 'initialized' with this tag template. Fields with values / content will be turned into nodes with children, nodes with children will be turned into fields with values. ()
  • NewThere is now a command to update existing instances when you change the default field value in a tag template ()
  • FixedWe don't allow you to easily set an icon on the system-level supertag anymore (which caused every supertag without an icon to get that icon) ()
  • InfoThere is now a warning in the supertag config if you have some owned nodes in a supertag that cause Tana to create a lot of new nodes for every new tagged node. We are still trying to refine this so if you get a warning you think is surprising/unreasonable, reach out to the team. ()
  • ImprovedRe-ordered instance supertag context menu. Now we show 1. Instance options, 2. Navigation targets 3. Tag options ()
  • FixedFixed issue with field not getting focus when clicking hidden field. Sorry and you're welcome! ()
  • FixedFixed at least two edge cases where the new implementation of default field values in supertags broke adjacent workflows ()

Related FAQs

Examples

  • How can I use system fields in Title expressions/Build title from field
    Dec 04, 2024

    Calculated system fields are prefixed with sys: to avoid being mixed up with user-created fields with the same name.

    Example: ${sys:owner}

    Calculated system fields and their respective title expressions can be found here.

  • Move node to Library when a supertag is used
    Nov 12, 2024
    🙏 Thanks to many community members but especially Ready and Navigator Dee for surfacing this tip in a recent conversation! For more stuff like this, join our community to share and learn about all things Tana 🫶

    Goal

    To move all nodes to a single place when they get tagged. This is useful if you want nodes of a certain type to live in a place that makes sense for breadcrumb navigation.

    Instructions

    For this example, we're going to build a command that moves all tagged nodes to the Library.

    Build the command

    1. Create a new command called Move to Library
      1. Add the command Move node
      2. In the parameter Move node target, pick the Library from the dropdown. There are other locations to choose from as well, and you can insert a reference to any node you want as the target
      3. Add parameter Remove references after moving node and give it your desired setting. Most would want it unchecked so it leaves a reference of the node in the original location
      4. Add parameter Move original node and check it. This ensures that even when you use the Add tag action on a reference, it moves the original node to the desired location and not the reference (which won't achieve the goal of this command)
    2. Add the command to the config of the supertag in question. Go to AI and Commands > On added, and add a reference to the command here.

    Testing the command

    To test it, use the supertag on a node:

    • If used on a node, it should immediately send the original to the specified location and leave a reference behind.
    • If used on a reference, it should send the original - wherever it is - to the specified location.

    That's it 🙌

  • Receive a notification whenever someone uses a supertag
    Nov 12, 2024

    Goal

    Community member Jérémie asked: "I created a new supertag called #feedback to collect feedback from my team. They can easily add a comment and add the supertag. Is there a way to receive a notification when the tag has been added?"

    Great question! Below was the solution that worked 👇 For more stuff like this, join our community to share and learn about all things Tana 🫶

    Instructions

    Build the command

    1. Create a new command called Notify me
      1. Add the command Run a command line command
      2. In the parameter Commands, write Notify @[your tana account email]. Example: Notify @fei@tana.inc
    2. Go to the supertag config you want to be notified on, to the section Trigger commands on events, and add a reference to the command to the On added section:

    Testing

    Test the command by adding the supertag. You should

    1. get a notification that a notification has been sent, and
    2. see a blue dot appear in your notifications. Clicking it shows you which node you were notified on.

    🙌 That's it!

  • How can I find all tags that extend a tag?
    Sep 26, 2024

    One way is to create this search node:

    • >system field Tags : #tag (use supertag that was extended)
    • IS TAG

    Example:

  • How to use Tana Paste with supertags that have non-alphanumeric characters?
    Sep 26, 2024

    Tana Paste can usually parse supertags that are one word, such as #task. If a supertag has spaces, numbers or irregular characters, try wrapping the name in double brackets like this:

    #[[1'3$4'6]]

    If you want to grab the supertag definition, include the hashtag within the brackets, like this:

    [[#1'3$4'6]]

  • How can I add supertags on things that I send from Tana Capture?
    Sep 26, 2024

    While it isn't possible to tag things when you're sending things from Tana Capture, you can have Tana do some post-processing magic to convert written-out tags to real tags once they arrive the Inbox—no AI needed!

    1. This method uses a simple Tana Paste command that you can run on the Inbox node, which targets all new children that have "#" in them.
    2. Once you've created the command, you must add it to the On child added section of the Inbox node. You can find it by running the command Debug node on the title of the Inbox.

    Here's Theo describing the command:

    "All it does is paste the nodes that have # in them and that are not tagged, using Tana Paste.

    Say we add this through Tana Capture:

    buy milk #todo

    The command will paste that exact text back in with Tana Paste, where ${name} is buy milk #todo and ${sys:content} are any child notes that are present. Using Tana Paste, #todo will be added as a tag.

    Note: this creates a new node, so the created date will change, meaning you’ll lose the time that the node was captured through Tana Capture."

  • How can I find nodes based on a field value of an ancestor?
    Sep 26, 2024

    There is no way to build a search that is able to read the fields of an ancestor node. But, using title expressions, you can grab the field value of an ancestor node and have it part of the title of the node you're running the search on, making that information searchable.

    TLDR: Use the ${sys:owner} title expression to pick up content from ancestor nodes and their fields.

    This solution is great for Readwise users and came about when Maggie from the community wanted to search her Readwise highlights by the tags of the article/book it was taken from.

    To do this, use ${sys:owner.Field}, and repeat sys:owner as many levels up as you need to go to target the right ancestor. In the case of Readwise highlights, you usually need to go up two levels. Check out the demo video:

    Now with the information you need from the ancestor node baked into the title of the highlight itself, it can be used to search and filter those nodes.

    While this solution came up in the context of the Readwise integration, it is a reusable pattern that can be applied elsewhere.

Question

  • What is the difference between supertags in Tana and hashtags used in social media?
    Sep 26, 2024
  • How do I create a relational database in Tana like in Notion or Airtable?
    Sep 26, 2024
  • Why is my field not auto-initializing?
    Sep 26, 2024
  • My supertagged nodes are not updating with the latest changes I'm making! What's going on?
    Sep 26, 2024
  • How do I share a supertag from my private workspace to a shared one?
    Sep 26, 2024
  • What does this warning mean: "Fields nested under other nodes or fields will not work as expected"?
    Sep 26, 2024
  • What does the system field "Number of nodes with this tag" do?
    Sep 26, 2024
  • Can you have a different supertag applied to your day nodes based on a specific interval?
    Sep 26, 2024
  • How can I bulk add/remove supertags?
    Sep 26, 2024
  • Can I show an alternative representation of a field value when building a title?
    Sep 26, 2024
  • I'm unable to delete nodes/fields in the supertag config, what's going on?
    Feb 02, 2024