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.
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.
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)
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.
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.
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.
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.
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
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.
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)
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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 ()
🙏 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 🫶
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.
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
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
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)
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.
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 🫶
In the parameter Commands, write Notify @[your tana account email]. Example: Notify @fei@tana.inc
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:
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:
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!
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.
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.
"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.