Tana Commands
Commands is a concept automation, also AI. Works like this:
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 AI PromptNode filterNode contextField dependenciesTarget nodeTemperatureTop PSuffixBest ofMax tokensModel to useStop sequencesPresence penaltyFrequency penaltyInsert output strategyCombination promptBatch prompt contextFill context window percentageMake API request PromptNode filterTarget nodeURLNode contextPayloadAPI methodParse resultsAuthentication headerAvoid using proxyGenerate image(s) with DALL-E PromptNode filterTarget nodeImage sizeNode contextNumber of images to generateMetaprompt to enhance prompt with GPT-3Cluster children with embeddings PromptTarget nodeNumber of groupsNode filterNode contextFill in all empty AI fields Node filterNode contextTranscribe audio Node filterNode contextTarget nodeTemperaturePromptTranscription LanguageSet view definition Node filterNode contextView definitionSet view type Node filterNode contextView typeAdd tags Node filterNode contextTagsRemove tags Node filterNode contextTagsSet field values Node filterNode contextFields to setSet field values for all children Node filterNode contextFields to setAlert Node filterNode contextPromptAsk for user confirmation Node filterNode contextPromptInsert a cloned copy of a node Target nodeNode to insertRun commands in parallel Node filterNode contextRun a command line command Node 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.

You will find it at the bottom of the configuration page, under advanced.
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.
Tidy system:
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.

⚡ COMMANDS:
Think of ⚡ COMMANDS as the actions your Tana Command will perform.
For instance:
-> 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.
🎚 PARAMETERS:
Think of 🎚 PARAMETERS as the settings of the actions in your Tana Commands.
For instance:
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!