What are 🎛️ Tana Commands?
What are they:
Tana Commands let you set up a string of automated actions inside Tana, and then executing them via 🔘 buttons or ⌨️ the command line.
Most of what you can do manually in Tana can also be executed as part of a command.
The command above, "My tasks" added #todo, and set "assigned to" Brage. Behind the scenes, it looks like this:
Commands can be as simple as adding tags, moving the target node or changing the values of its fields .
It can also be used in combination with AI, API calls or complex strings of commands.
You can find all commands in your workspaces by writing the keyword expression IS_COMMAND in the Live Query.
For a comprehensive list of commands and parameters, look here:
List of Commands 🎛️
List of Commands Parameters Description Ask AIPromptNode filterNode contextField dependenciesTarget nodeTemperatureTop PSuffixBest ofMax tokensModel to useStop sequencesPresence penaltyFrequency penaltyInsert output strategyCombination promptBatch prompt contextFill context window percentage Make API requestPromptNode filterTarget nodeURLNode contextPayloadAPI methodParse resultsAuthentication headerAvoid using proxy Generate image(s) with DALL-EPromptNode filterTarget nodeImage sizeNode contextNumber of images to generateMetaprompt to enhance prompt with GPT-3 Cluster children with embeddingsPromptTarget nodeNumber of groupsNode filterNode context Fill in all empty AI fieldsNode filterNode context Transcribe audioNode filterNode contextTarget nodeTemperaturePromptTranscription Language Set view definitionNode filterNode contextView definition Set view typeNode filterNode contextView type Add tagsNode filterNode contextTags Remove tagsNode filterNode contextTags Set field valuesNode filterNode contextFields to set Set field values for all childrenNode filterNode contextFields to set AlertNode filterNode contextPrompt Ask for user confirmationNode filterNode contextPrompt Insert a cloned copy of a nodeTarget nodeNode to insert Run commands in parallelNode filterNode context Run a command line commandNode filterNode contextTarget nodeCommands
⚙️ Setting up Commands
To set up Tana Commands, you first create a command, by running a command. With your caret/cursor on a node with no supertags and no children, run the command "Convert to command node".
you then choose what your command does, by selecting between a range of system ⚡ COMMANDS. These let you decide your commands' "actions".
You then configure the "settings" of these actions using 🎚 PARAMETERS. These are system fields that give you a deep, granular control over the ⚡ COMMANDS.
Having set your command up, you can now run it from your command line by typing its name.
It is also possible to add your commands as buttons to any node. Run the command "configure node" to show where to add it.
You can also add a command to a supertag or field - to appear anywhere a tagged node, or a node with that field, appears.
Using the parameter "Node Filter", you can exclude nodes. An excluded node will not display the command, neither from the command line nor as a button.
Using the 🎚 PARAMETER Node filter, you can make sure your command only 'clutters up' your command line where you want it to. But you can also use it to set up commands that do different things depending on the context:
Example: Like this Multitool-command, designed to fix a banana problem:
As you can see, this command performs different actions based on the node filter settings, thus fixing a banana injustice.
In real use cases, you could hide a multitude of different user commands inside a super-command this way.
And execute them all at once.
Think of ⚡ COMMANDS as the actions your Tana Command will perform.
-> SET FIELD VALUES tells the system to do the _action_ of setting a field underneath your node—same way we do it ourselves—and then, optionally, filling that field with a specific value.
-> INSERT A CLONED COPY OF A NODE tells the system to do the action of copying another node (that you specify inside the command) and bringing a clone of that node into the context in which you're working.
-> ADD TAG adds a tag to your node, and REMOVE TAG takes one away.
Et cetera. There are _a lot_ of ⚡ COMMANDS.
Think of 🎚 PARAMETERS as the settings of the actions in your Tana Commands.
Inside the MOVE NODE action, you find these _settings_:
-> TARGET NODE: Let's you instruct the _action_ where to send the moved node.
-> REMOVE REFERENCE AFTER MOVING NODE: Let's you decide whether you want there to be a reference to your moved node at the current location, or not.
-> NODE FILTER and NODE CONTEXT: These _settings_ are available on all commands (both user commands and _actions)_, and let you specify which nodes will run your command, in various ways.
Using the MOVE NODE-action and these settings, you could, for instance, make a command that 1️⃣ Sends a node to your team workspace and 2️⃣ removes the reference from your workspace.
Combining this with ADD TAG and SET FIELD VALUES, you could 1️⃣ create a project, 2️⃣ assign it to your team mate, 3️⃣ set status to running, and 4️⃣ send it to a shared workspace, all with one button click.
Like this Create example
Et cetera. Like commands, there are a lot of 🎚 PARAMETERS to explore!