### Tana Paste: Generating Structured Data with AI Source: https://tana.inc/docs/input-api/ai-for-builders This example demonstrates how to instruct AI to generate output in Tana Paste format, allowing for the creation of rich, structured data directly from AI responses. By providing examples, users can guide the AI to produce nodes with specific tags and fields. ```Tana Paste - Rio de Janeiro #city - Population:: 4M ``` -------------------------------- ### Global Search and Command Line Access Source: https://tana.inc/docs/input-api/navigation Keyboard shortcut for global search and a command for the command line. ```Keyboard Shortcuts Cmd/Ctrl + S: Open global search ``` ```Tana Command Line Open: See full list of fixed locations ``` -------------------------------- ### Panel and Tab Management Shortcuts Source: https://tana.inc/docs/input-api/navigation Keyboard and mouse shortcuts for opening new panels and tabs, and managing items from search. ```Keyboard Shortcuts Shift + click: Open a new panel to the right (on any navigational menu/button) Cmd/Ctrl + S: Open items from search in the panel that was in focus Cmd/Ctrl + click: Open in a new tab (on any navigational menu/button/node) ``` ```Tana Desktop App + icon in top bar: Open a new tab and search for a node ``` -------------------------------- ### Tana 'Find nodes' Command Examples Source: https://tana.inc/docs/input-api/commands Examples demonstrating the versatility of the 'Find nodes' command in Tana, allowing users to construct complex database-like queries for filtering nodes based on tags, creation timeframes, and field values. ```APIDOC find nodes with a specific tag, and view them in a list or table, like "Find nodes with tag #todo as list" find nodes created within a certain timeframe "Find nodes created last 7 days as list" or combine them with "Find nodes with tag #todo created last 7 days as list" find nodes with specific fields, and the values in these fields "Find nodes with tag #todo created last 7 days with field Owner=John Doe as list" ``` -------------------------------- ### Tana Linter: Basic Condition Examples Source: https://tana.inc/docs/input-api/search-nodes Illustrates individual conditions used in Tana's linter, representing simple questions about nodes. ```Tana Linter Syntax TODO NOT DONE Deadline < (RelativeDate:TODAY) ``` -------------------------------- ### Example AI Prompt for UX Research Source: https://tana.inc/docs/input-api/ai-command-nodes An example of a detailed natural language prompt designed for a senior UX researcher. The prompt guides the AI to identify and classify user observations from an onboarding transcript based on provided tags, focusing on user experiences at Acme Inc. ```Natural Language EXAMPLE PROMPT: GOAL: - You are a senior UX researcher tasked with finding relevant “user observations” in an onboarding transcript and reporting them back classified according to the provided tags. TASK: - Find all moments in the transcript when the user experience any of the described types of observation found in the supplied tags. - You work for Acme Inc., and it is the experiences of the user - not the team member - you want to observe and capture. The person with the #team acme tag works at Acme Inc. The person being onboarded is tagged #person. - Find at least 10 items, and at least 2 of each type. ``` -------------------------------- ### Tana Command Node API Reference Source: https://tana.inc/docs/input-api/command-nodes Reference for available Tana commands and their configurable parameters, including specific examples for the 'Move node' command and general parameters applicable across commands. ```APIDOC Tana Commands: - Set field value: Description: Tells the system to do the action of setting a field underneath your node, and then, optionally, filling that field with a specific value. - Insert a cloned copy of a node: Description: 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: Description: Adds a tag to your node. - Remove tag: Description: Takes a tag away from your node. Command Parameters (Example: Move node command): - Target node: Description: Lets you instruct the action where to send the moved node. - Remove reference after moving node: Description: Lets you decide whether you want there to be a reference to your moved node at the current location, or not. - Node filter/Node context: Description: These settings are available on all commands and let you specify which nodes will run your command, in various ways. ``` -------------------------------- ### Create Plain Tana Node Source: https://tana.inc/docs/input-api/input-api This example demonstrates how to create a basic Tana node with a specified name and description. It illustrates the minimal JSON structure required for a simple node creation. ```json { "nodes": [ { "name":"My plain node", "description": "This is a plain node example." } ] } ``` -------------------------------- ### Example Payload for Node with Existing Supertag (JSON) Source: https://tana.inc/docs/input-api/input-api Provides a concrete JSON payload example for creating a node that utilizes an existing supertag and includes child fields. This demonstrates how to structure data for the Tana API based on a defined schema. ```JSON { "nodes": [ { "name": "New node", "supertags": [ { "id": "MaaJRCypzJ" } ], "children": [ { "type": "field", "attributeId": "iKQAQN38Vx", "children": [ { "dataType": "date", "name": "2023-05-10T08:25:59.059Z" } ] }, { "name": "Child node" } ] } ] } ``` -------------------------------- ### Tana API Helper Client (APIDOC) Source: https://tana.inc/docs/input-api/input-api References the basic client for Tana's Input API available in the GitHub repository. It directs users to the repository's readme for usage instructions and example scripts. ```APIDOC In the GitHub repository is a basic client for Tana's Input API and example scripts. For instructions on how to use that, go to the [Github repository](https://github.com/tanainc/tana-input-api-samples/tree/main) and look at the readme. ``` -------------------------------- ### Overview of Tabs and Panels in Tana Desktop Source: https://tana.inc/docs/input-api/navigation This section introduces the core concepts of tabs and panels in Tana Desktop, explaining how they facilitate context switching and side-by-side work. It also outlines basic click actions to open nodes in new tabs or panels. ```APIDOC Tana Desktop allows content to be opened in Tabs. This makes it easy to look up something or switch context, while preserving the view you were working on. Multiple panels can be opened in a tab, to work on things side-by-side. Panels are able to scroll independently from one another, and be resized individually. From anywhere in Tana: * To open a node in a new tab: `Cmd`/`Ctrl`+`click` on node bullet * To open a node in a new panel: `Shift`+`click` on node bullet ``` -------------------------------- ### Tana: Upgrade Legacy Calendar Setup Source: https://tana.inc/docs/input-api/dates-and-calendar-nodes If your default day tag was configured before November 2023, a manual upgrade is required. This snippet outlines the steps to update your calendar setup to the latest version. ```APIDOC 1. Open the configuration of the old day tag to be prompted for an upgrade. 2. Alternatively, run the command: `Convert old calendar setup` ``` -------------------------------- ### Node Navigation Keyboard Shortcuts Source: https://tana.inc/docs/input-api/navigation Keyboard shortcuts for zooming in and out of nodes and accessing node options. ```Keyboard Shortcuts Cmd/Ctrl + . (period): Zoom in on a node Cmd/Ctrl + , (comma): Zoom out of a node to the previous view ``` -------------------------------- ### Using AI Prompts in Tana Nodes Source: https://tana.inc/docs/input-api/ai-for-builders Demonstrates how to initiate an AI prompt directly within a Tana node by starting with 'ai:' followed by the prompt text. This triggers an 'Ask AI' button for generating a response. ```Tana Command ai: Your prompt goes here. ``` -------------------------------- ### Managing Panels in Tana Desktop Source: https://tana.inc/docs/input-api/navigation This section explains how to open, close, and interact with multiple panels within a single tab in Tana Desktop. It details various click behaviors for navigation, content replacement, and accessing configuration options, enhancing side-by-side workflow. ```APIDOC You can open multiple panels inside a tab, and every open panel is scrollable on its own. * Panels have a "sticky" panel toolbar that stays visible at the top when you start scrolling. It has an `x` to close it. * New panels will always open to the right of the panel you were active in. * If you want to replace the content of a panel, make sure it's in focus (put your cursor there) and then click Cmd/Ctrl+S to open global search. Clicking a result will open this in the panel. * Left click opens the node in the currently active panel + If the element we are clicking is triggering an action, not navigating, left click executes the action * `Shift`+`click` opens the node in a new panel in the current tab * `Option`+`click` triggers the secondary action / navigates to the secondary destination, if available. Can be combined with `Shift` or `Ctrl/Cmd` to modify. Inline references can now be expanded on right-click context menu > Expand. Clicking "Configure tag/field" from the right-click menu will always open in a new panel. To open the config directly with click on a supertag/field, use `Option`+`Shift`+`Click`. ``` -------------------------------- ### Managing Tabs in Tana Desktop Source: https://tana.inc/docs/input-api/navigation This section provides detailed instructions on how to open, close, and cycle through tabs within Tana Desktop, including various keyboard shortcuts and command line options. It also clarifies the behavior difference when using Tana in a web browser versus the desktop application. ```APIDOC If you are using Tana in a **web browser**, a **new browser tab** will open with a **duplicate** of Tana (as this is establish patterns in browsers). Open new tab: This will let you search for a node to open in the tab from global search. * Click the + icon in the top menu to open a new tab. * Type `Open in new tab` in command line * `Ctrl/Cmd`+`T` to opne new tab * `Ctrl/Cmd`+`W` to close current tab Cycle between tabs (repeat to jump multiple tabs): * `Ctrl` + `Tab` (Go right/next tab) * `Ctrl` + `Tab+Shift` (Go left/previous tab) ``` -------------------------------- ### Common Keyboard Shortcuts for Tana Desktop Source: https://tana.inc/docs/input-api/navigation This section lists standard keyboard shortcuts for common actions in Tana Desktop, including navigation, editing, and node manipulation. Shortcuts are provided for both Mac and PC operating systems to facilitate cross-platform usage. ```APIDOC | Shortcut | Mac | PC | | --- | --- | --- | | Undo | Cmd+Z | Ctrl+Z | | Open in new tab | Cmd+Click | Ctrl+Click | | Open in new panel | Shift+Click | Shift+Click | | Create checkbox | Cmd+Enter | Ctrl+Enter | | Delete | Cmd+Shift+Backspace | Ctrl+Shift+Backspace | | Indent / Outdent | Tab / Shift+Tab | Tab / Shift+Tab | | Expand / Collapse | Cmd+↓ / Cmd+↑ | Ctrl+↓ / Ctrl+↑ | | Zoom in / Zoom out | Cmd+. / Cmd+, | Alt+→ / Alt+← | | Move node up/down | Cmd+Shift+↑ / Cmd+Shift+↓ | Ctrl+Shift+↑ Ctrl+Shift+↓ | | Jump to search | Cmd+S | Ctrl+S | | Quick add modal | Cmd+E | Ctrl+E | | Open config in panel (Supertag/field) | Option+Shift+Click | Option+Shift+Click | | Cycle to previous tab (left) | Ctrl+Shift+Tab | Ctrl+Shift+Tab | | Cycle to next tab (right) | Ctrl+Tab | Ctrl+Tab | ``` -------------------------------- ### Command Line Actions for Tabs and Panels in Tana Desktop Source: https://tana.inc/docs/input-api/navigation This section lists specific command line commands available for managing tabs and panels within Tana Desktop. These commands allow users to open nodes in new tabs or panels, and to close individual or multiple tabs and panels efficiently. ```APIDOC To open a node in a tab with command line: `Open in tab` To close the current tab: `Close this tab` To close other tabs (except the one you're on): `Close other tabs` To open in new panel: `Open in new panel` To close the current tab: `Close this panel` ``` -------------------------------- ### Create Tana Reference Node Source: https://tana.inc/docs/input-api/input-api This example demonstrates how to create a reference node in Tana. It requires setting the `dataType` to 'reference' and providing the `id` of the node being referenced. ```json { "nodes": [ { "dataType": "reference", "id": "nodeID" } ] } ``` -------------------------------- ### Define Custom Keyboard Shortcuts in Tana Desktop Source: https://tana.inc/docs/input-api/navigation This section provides instructions on how to create custom keyboard shortcuts for any command accessible via Tana Desktop's command line. It details the shortcut recording process and where these custom shortcuts are saved within the application's settings. ```APIDOC To trigger shortcut recording, open the command line, find the command you want to set a shortcut for, and hit `Cmd`/`Ctrl`+`Shift`+`K`. This opens a popup where you can input a new shortcut. All shortcuts are saved in your Settings > Preferences > Private keyboard shortcuts, with the bottom ones being most recent. You can also create a new keyboard shortcut node via the command line: `Create keyboard shortcut` ``` -------------------------------- ### Create Tana Node with Multiple Supertags Source: https://tana.inc/docs/input-api/input-api This example illustrates how to create a plain Tana node and apply multiple existing supertags to it. It also demonstrates targeting the 'INBOX' as the creation location for the new node. ```json { "targetNodeId": "INBOX", "nodes": [ { "name": "The Hobbit", "description": "A book by J.R.R. Tolkien", "supertags": [{"id": "nodeID-1"}, {"id": "nodeID-2"}] } ] } ``` -------------------------------- ### APIDOC: Parameter - Tag Candidates Source: https://tana.inc/docs/input-api/command-nodes The 'Tag candidates' parameter allows for the definition of supertags that are presented as potential options. This helps in guiding users towards relevant tagging choices. ```APIDOC Parameter: Tag candidates Description: Define supertags that become candidates. Source: Tana ``` -------------------------------- ### Configure Onboarding Agent Text Processing Source: https://tana.inc/docs/input-api/meeting-agent This example demonstrates how to set up a text processing agent specifically for onboarding meetings. It highlights the 'Generic' mode, which is suitable for non-meeting processing, and details the fields for item extraction and output targets. ```APIDOC Onboarding Agent Text Processing Configuration: Node context/filters: Same as Default Meeting configuration Text processing agent mode: Generic - Does not take into consideration attendees - Better at non-meeting processing Tags to use for item extraction: Add a list of supertags the agent will try to identify from the transcript (optimize each tag for AI by setting a base tag and AI instructions) Action item/entities/extracted items prompt (optional): Additional prompt to use for extracting above items Summary/New entities/Action items/Extracted items target: Set field to insert found items into ``` -------------------------------- ### Configure Content Visibility Across Tana Workspaces Source: https://tana.inc/docs/input-api/workspaces Details how to control which adjacent workspaces can populate search results and autocomplete actions like @-mentions within a specific workspace context. Provides examples of configuration. ```APIDOC Allow Content From: Purpose: Controls which adjacent workspaces can populate search results and @-mentions within a workspace. Configuration: - Custom set from all workspaces. Examples: - Allow all content from every workspace you're a member of to be available in your private workspace. - Keep Workspace A completely isolated from other workspaces, while allowing Workspace B to find content from Workspace A still. ``` -------------------------------- ### Create Tana URL Node Source: https://tana.inc/docs/input-api/input-api This example demonstrates creating a node that contains a URL field. It shows how to embed a URL as a child of a node, specifying its `dataType` as 'url' and providing the URL in the `name` field. ```json { "nodes": [ { "name": "Webpage", "description": "A webpage node with URL information", "children": [ { "type": "field", "attributeId": "URLFieldId", "children": [ { "dataType": "url", "name": "https://example.com" } ] } ] } ] } ``` -------------------------------- ### Create Tana Node with Existing Field Source: https://tana.inc/docs/input-api/input-api This example shows how to create a plain Tana node that incorporates an existing field and assigns a value to it. It demonstrates the use of `children` and `attributeId` to link to a predefined field. ```json { "nodes": [ { "name":"My plain node", "children": [ { "type": "field", "attributeId": "nodeID", "children": [ { "name": "Field value" } ] } ] } ] } ``` -------------------------------- ### Fine-tuning Readwise to Tana Export Process Source: https://tana.inc/docs/input-api/readwise-integration This guide provides a step-by-step methodology for responsibly adjusting and testing Readwise export settings to Tana. It outlines best practices for iterative refinement, ensuring the desired data structure is achieved without creating a messy workspace. ```APIDOC 1. When fine tuning your settings, turn on the following settings, and the rest keep off: 2. For your first export, pick a few documents to export at the time to see what they look like in Tana: Pick ones with many different features used, like document tags and notes, highlight tags and notes and images, books and videos, etc. so you're testing every possibility you're likely to see in your highlights. 4. Find the exported node and take a look: Look in Library, or try to @-mention a node called "Readwise". Reminder that upon initial export, Readwise will create supertags and fields in your workspace, saving them in the Schema. From this initial export, you may want to change some things in the export settings, and try again. Hard-delete (Cmd/Ctrl+Shift+Backspace) the document nodes in Tana before re-exporting. Do NOT delete the main Readwise node. 5. Tweak export settings: Make adjustments in Readwise based on what you saw. 6. To make a fresh export of a document after making adjustments: You must tell Readwise to "refresh" a document which will reset Readwise's memory of having synced that particular document before. (This essentially makes Readwise forget the nodeID associated with this document) 7. Repeat steps 3 to 6 until you're happy! 8. Once you're satisfied, feel free to turn "Export Automatically" ON and "Select items to be exported" OFF. This will make Readwise sync everything in the next sync cycle, and every other document and highlight that gets added thereafter. If you have many highlights, this may take some time and occasionally freeze Tana. The work happens in the background, so it's safe to close it or leave it open while it's doing a big sync. ``` -------------------------------- ### APIDOC: Parameter - API Method Source: https://tana.inc/docs/input-api/command-nodes The 'API method' parameter specifies the HTTP method to be used for API calls, defaulting to GET if not explicitly set. This is crucial for defining the nature of interaction with external services. ```APIDOC Parameter: API method Description: Defaults to GET. Source: Tana ``` -------------------------------- ### Extract Start Date Using Tana 'Insert relative date' Command Source: https://tana.inc/docs/input-api/command-nodes Demonstrates how to use the 'Insert relative date' command within Tana to extract the start date from a date range, as shown in an example. ```APIDOC Command: Insert relative date Purpose: Extract specific dates (e.g., start date) from a date range. Example Usage: - Use `Insert relative date` command on a node containing a date range (e.g., "Sep 26, 2024 - Sep 27, 2024"). - The command will extract and display the start date (e.g., "Sep 26, 2024"). ``` -------------------------------- ### Tana Command: Extract Start Date of Range Source: https://tana.inc/docs/input-api/dates-and-calendar-nodes This example illustrates the use of the 'Insert relative date' command in Tana. This command is useful for extracting or inserting specific dates, such as the start date from a defined date range, streamlining date-related operations within the application. ```Tana Command Insert relative date ``` -------------------------------- ### APIDOC: Set Start or End Date/Time Field Source: https://tana.inc/docs/input-api/command-nodes Details the 'Set only start or end of date' field, which enables users to specify whether they intend to set a Start or an End date/time. ```APIDOC Field Name: Set only start or end of date Description: Allows you to specify whether you want to set a Start or End date/time. Source: Tana ``` -------------------------------- ### Example Tana Node ID String Format Source: https://tana.inc/docs/input-api/nodes-and-references This string illustrates the format of a Tana node's unique identifier when retrieved via the 'get html link to node' command. The alphanumeric sequence represents the unique NodeID, which can be used to locate the specific node within Tana's global search, provided the user has access to the relevant workspace. ```Tana Node ID Format "Tana node aXvnZWOpXAsU: Every node is given a unique nodeID" ``` -------------------------------- ### Extract Start Date from Range using Tana 'Insert Relative Date' Command Source: https://tana.inc/docs/input-api/ai-command-nodes This snippet demonstrates the usage of the 'Insert relative date' command within Tana to efficiently extract the start date from a specified date range. ```APIDOC Command: Insert relative date Purpose: Extract the start date of a range. Usage Example: - Use the 'Insert relative date' command on a node containing a date range to extract its start date. ``` -------------------------------- ### Configure Tana Command to Set Node View Definitions Source: https://tana.inc/docs/input-api/ai-command-nodes This guide explains how to create and utilize the 'Set view definition' command to configure Group, Sort, and Display settings for a node view. It involves mocking up a node, defining desired view settings, debugging the node, and cloning the view fields to the command node. ```APIDOC Command: Set view definition Purpose: Set the Group, Sort and Display settings of a node view. Setup: 1. Mock up a node that will have sample child nodes representing the data you'll be applying this command on. 2. Then, create the exact view settings you want with Group, Sort and Display. 3. Go Cmd/Ctrl+K > Debug Node on the parent node and look at Views for node. 4. Clone the fields over to the command node so it looks like the configured view. Usage: - When you run this command on a node, this should change the view settings according to your configuration. ``` -------------------------------- ### APIDOC: Parameter - Command to Run Source: https://tana.inc/docs/input-api/command-nodes The 'Command to run' parameter specifies the exact commands to be executed. For guidance on command syntax, users can create a custom shortcut via the command line and then inspect its definition in Tana's 'Settings > Private keyboard shortcuts'. ```APIDOC Parameter: Command to run Description: Write out the commands you want to run. Tip: If you're uncertain about how a command is written out, navigate to it through the command line, create a custom shortcut, and go to `Settings > Private keyboard shortcuts` to the shortcut you just made and expand it. You'll find the command written out in a node. Source: Tana ``` -------------------------------- ### Auto-initialize to Ancestor Field Value Source: https://tana.inc/docs/input-api/fields Available on all fields. Copies the field values from the identical field on a node earlier in the tree. Example 1: A #quote tag with an Author field could automatically initialize with the value from the Author field of the #book it is nested underneath. Example 2: A "Related Project" field for tasks could automatically populate nested subtasks with the same related project. ```APIDOC Auto-initialize to value from ancestor with this field: Availability: All fields. Functionality: Copies field values from an identical field on an ancestor node in the tree. Examples: - #quote tag's Author field initialized from #book's Author field when nested. - Nested subtasks automatically inherit "Related Project" from parent task. ``` -------------------------------- ### Create Keyboard Shortcut to Group Tana Commands for Bullet Journaling Source: https://tana.inc/docs/input-api/ai-command-nodes This example demonstrates how to set up a single keyboard shortcut in Tana to invoke a specific set of commands, useful for bullet journaling signifiers. It involves creating individual commands for each signifier (e.g., 'Bujo: Task', 'Bujo: Event') that add a corresponding supertag, and then configuring a keyboard shortcut (e.g., Cmd/Ctrl+Shift+P) to filter and display these 'Bujo:' prefixed commands in the command line. ```Tana Commands 1. Decide on a prefix for your commands. In this example, we'll use "`Bujo:`". 2. For each of the signifiers 1. Create a new command called `Bujo: [signifier]` 2. Add the command `Add tag`, and insert the supertag definition to the parameter 3. Create a keyboard shortcut: Run `Create keyboard shortcut` in the command line, then record the shortcut you want to use. In this case, we're using `Cmd`/`Ctrl`+`Shift`+`P`. In the parameter *Commands*, write the words `Bujo:`. ``` -------------------------------- ### Create Tana Search Node Using Tana Paste Source: https://tana.inc/docs/input-api/search-nodes This example demonstrates how to define a complex search node using Tana Paste syntax. It allows users to import predefined search queries, such as a task search filtered by assignee and completion status, directly into their Tana workspace. ```Tana Paste %%tana%% - %%search%% Fei's tasks - OR:: - [[#task]] - [[#CS todo]] - Assigned to:: - [[Fei-Ling Tseng]] - NOT DONE ``` -------------------------------- ### API method Source: https://tana.inc/docs/input-api/ai-command-nodes Defines the 'API method' parameter, which specifies the HTTP method for API calls. It defaults to GET. ```APIDOC API method: Defaults to GET ``` -------------------------------- ### Introduction to Tana AI Commands Source: https://tana.inc/docs/input-api/ai-command-nodes Overview of AI commands in Tana, which enable automated actions using Tana AI, available with a paid subscription. ```APIDOC AI commands are commands that use Tana AI to run actions, and is now available on a Tana paid subscription. ``` -------------------------------- ### Authorization header Source: https://tana.inc/docs/input-api/ai-command-nodes Specifies the 'Authorization header' parameter, used for authentication purposes. An example format is "Bearer ...." for token-based authentication. ```APIDOC Authorization header: For authentication (for example "Bearer ....") ``` -------------------------------- ### Tana 'Move to' Menu: Navigation and Actions Source: https://tana.inc/docs/input-api/outline-editor Instructions for opening and using the 'Move to' menu to quickly relocate nodes, including search, navigation, and specific actions for moving or creating references. ```APIDOC 'Move to' Menu: Open Menu: With the node toolbar: Right-click or hit Esc on a node and select 'Move' With the node bullet context menu: Right-click on the node bullet → 'Move' With the keyboard shortcut: Cmd/Ctrl + Shift + M With command line: Use the 'Move with finder' command Find Location in Menu: By search: Start typing to find the location By navigating: Use arrow keys to traverse up/down/left/right through the tree Move to Location: Node with no children: Enter Node with children: Cmd/Ctrl + Enter Any node (alternative): Hit Enter, twice Move and leave a reference: Option/Alt + Enter ``` -------------------------------- ### Find Nodes Edited by User Anytime Source: https://tana.inc/docs/input-api/search-nodes A keyword that finds all nodes modified by a Tana user. Example: MODIFIED BY olaf@tana.inc ANYTIME. ```APIDOC EDITED BY USER@TANA.COM ANYTIME ``` -------------------------------- ### Tana AI Command Line Reference Source: https://tana.inc/docs/input-api/ai-for-builders A reference of standard AI commands accessible via the Tana command line, categorized by their functionality, including text generation, image generation, clustering, and transcription. ```APIDOC 📝 Ask AI commands: - Ask AI - Ask AI to → - Ask AI (creative) 🎨 DALL-E commands: - Generate image(s) with DALL-E - Generate image(s) with DALL-E (enhanced prompt) ⌨️ Other commands: - Cluster children with embeddings - Transcribe ``` -------------------------------- ### Auto-initialize to Current Date Source: https://tana.inc/docs/input-api/fields Only available on Date fields. Adds today's date to the field. Example: Tagging workout logs to record the current day. ```APIDOC Auto-initialize to current date: Availability: Date fields only. Functionality: Sets the field value to the current date. Example: - Automatically records the date for workout logs. ``` -------------------------------- ### Overview of AI Commands and Parameters Source: https://tana.inc/docs/input-api/ai-command-nodes A comprehensive list of all AI commands and their associated parameters available within the system, providing a quick reference to the API surface. ```APIDOC AI Commands: - Ask AI - Ask AI (non-streaming) - Make API request - Generate image(s) with DALL-E - Cluster children with embeddings - Fill in all empty AI fields - Transcribe audio - Autotag - Add meeting bot - Text processing agent AI Command Parameters: - Prompt - Node filter - Node context - Field dependencies - Target node - Temperature - Top P - Suffix - Best of - Max tokens - Model to use - Stop sequences - Presence penalty - Frequency penalty - Combination prompt - Batch prompt context - Fill context window percentage - URL - Insert output strategy - Payload - API method - Parse results - Authorization header - Headers - Avoid using proxy - Tags - Image size - Number of images to generate - Metaprompt to enhance prompt with GPT-3 - Number of groups - Transcription Language - View definition - View type - Fields to set - Commands - Tag candidates - Fields to remove - Move node target - Remove reference after moving node - Move original node - Done status to set - Command to run - Look for children in field - Relative date string - Reference date - Date/time granularity - Set only start or end of date ``` -------------------------------- ### Find Recently Edited Nodes Source: https://tana.inc/docs/input-api/search-nodes A keyword that finds all nodes edited within a certain number of days relative to today. Example: EDITED LAST 7 DAYS. ```APIDOC EDITED LAST 3 DAYS ``` -------------------------------- ### Essential Tana Command Line Commands Source: https://tana.inc/docs/input-api/commands A list of fundamental commands available through the Tana command line, providing quick access to core functionalities like scheduling reminders, finding nodes, and changing views. ```APIDOC Remind me: Sends your node to a date of your choice, like tomorrow or a specific date Find nodes: Gives you the possibility to set up list or tables based on time created, dates, information in fields and much more View as: Show you quickly the different views from the command line Move to: When you have a shared workspace, you can move a node there ``` -------------------------------- ### Tana Panels and Layout Commands Source: https://tana.inc/docs/input-api/commands Commands for managing and manipulating panels and layouts within Tana, including opening, closing, and zooming into nodes. ```APIDOC Zoom full page: Selected node opens to full page layout Zoom in panel: Selected node is opened within the current panel layout Open in new panel: Selected node is opened in new panel Close this panel: Close panel that your cursor is in Close panel: Closes the active panel (when multiple panels are open) ``` -------------------------------- ### Create Tana Checkbox Node Source: https://tana.inc/docs/input-api/input-api This example illustrates how to create a boolean node, which functions as a checkbox in Tana. It requires setting the `dataType` to 'boolean' and providing a `value` of `true` or `false`. ```json { "nodes": [ { "dataType": "boolean", "name":"My checkbox node", "value": true } ] } ``` -------------------------------- ### Find Recently Created Nodes Source: https://tana.inc/docs/input-api/search-nodes A keyword that finds any nodes created within a certain number of days. Replace [num] with a number. Example: CREATED LAST 7 DAYS. ```APIDOC CREATED LAST 3 DAYS ``` -------------------------------- ### Navigation Commands Source: https://tana.inc/docs/input-api/commands Commands for navigating to different sections and pages within the application, such as trash, library, settings, and schema. ```APIDOC Open trash (deleted): Opens node where all deleted items go Open library: Open your Library page Open settings: Open your Settings page Open home node of current workspace: Open your home node Open schema: Open your schema, where definitions for supertags and fields live by default Create keyboard shortcut: Dumps keyboard shortcut nodes for manual input (do same while navigating to command line option you want, then hit Cmd+Shift+K to auto-record a shortcut which gets saved in Settings) ``` -------------------------------- ### Delete Nodes and References in Tana Source: https://tana.inc/docs/input-api/nodes-and-references Comprehensive guide on deleting nodes and references in Tana, covering scenarios for nodes without references, references only, and hard deletion including all references. ```APIDOC Nodes and references are made differently from regular bullets, so there are some things to keep in mind when wanting to delete them. * To delete a node with no references: + Option 1: Use `Cmd/Ctrl+Shift+Backspace` on the node. + Option 2: Right-click on the node bullet and select "Delete node" + Option 3: Using `Backspace` on all the words and then finally the node itself will also work. + Note: If a node has content and your caret is at the beginning of it and you hit `Backspace`, it will delete the node and merge this node's content with the node above it. * To delete a reference without editing its contents: + Option 1: Use `Cmd/Ctrl+Shift+Backspace` on the reference. + Option 2: Right-click on the node bullet and select "Delete reference" * To delete a node and all its references: + Use the command `Hard delete including references`. This will remove the references in the current workspace, but make references in other workspaces show up with a Trash icon. ``` -------------------------------- ### Tana Command Line: Copy, Download, and Export Commands Source: https://tana.inc/docs/input-api/commands Commands for copying, downloading, and exporting Tana content in various formats, including HTML, Markdown, and Tana Paste. ```APIDOC Copy as HTML link: Copies URL of node along with node contents Export plain html: Opens a new browser html page of the selected node and contents Copy as markdown: Copies the selected content in plain markdown format (.md files) Copy as markdown no fields, no tags: Copies the selected content in plain markdown format (.md files) without supertags or fields Copy as Tana Paste: Copies the selected content in Tana Paste format Download as markdown: Downloads the selected nodes as a zip file Download as markdown no field, no tags: Downloads the selected nodes as a zip file without supertags and fields Export workspace as markdown: Exports the whole workspace in markdown format (.md files) ``` -------------------------------- ### Global Interface Commands Source: https://tana.inc/docs/input-api/commands Commands for interacting with the global application interface, including workspace management, sidebar control, and theme settings. ```APIDOC Join collaborative space →: Add workspaces you've been invited to Open sidebar node: Open the node that drives the sidebar content Open layout node: Open the node that saves all layouts (Tana Labs savedLayout) Open in new browser: Opens node in a new browser instance Go back: Goes back to previous location navigated from Open workspace →: Open the home node of chosen workspace Open quick add: Open quick add Hide sidebar: Hides the left sidebar Toggle sidebar: Set theme to dark mode: Toggles dark mode theme on Set theme to light mode: Toggles light mode theme on ``` -------------------------------- ### Find Recently Done Todos Source: https://tana.inc/docs/input-api/search-nodes A keyword that finds any todos that were manually checked within a certain number of days. Replace [num] with a number. Example: DONE LAST 7 DAYS. ```APIDOC DONE LAST 3 DAYS ``` -------------------------------- ### Tana: Connecting Template Extensions to Existing Supertags Source: https://tana.inc/docs/input-api/tana-templates Outlines the steps to connect a template's extension to an existing supertag using the right-click menu, adding new fields configured for template integration. ```Tana Commands 1. Right-click the supertag you want to connect with 2. In "Extensions", find the template extension and select that. ``` -------------------------------- ### Tana: Create a Date Range Source: https://tana.inc/docs/input-api/dates-and-calendar-nodes Instructions for defining a date range within Tana, allowing you to specify a start and end date for a period. This can be done through the date picker, @-mentions, or the command node. ```APIDOC In the date picker: - Add an end date using `add end`. - Use `remove end` to remove the range. In @-mention: - Write `@[date] to [date]`. Example: `@Nov 21 to Nov 30` In command node: - See `Insert relative date` command. ``` -------------------------------- ### Overview of Tana Export Page Settings Source: https://tana.inc/docs/input-api/readwise-integration This section details the various configuration options available on the Tana Export page for Readwise highlights, explaining the purpose and impact of each setting on the exported data structure and flow. ```APIDOC 1. Button to initiate an export: Press to initiate sync. NOTE: You'll likely want to tweak some of the settings before exporting all your highlights at the same time, so we do not recommend pressing this until you've reviewed at least all of Step 3. 2. Export Automatically (when new highlights are added): Turn this on to have Readwise automatically push new highlights to Tana as they're made. We advise to wait with turning this on until you are satisfied with the export from Readwise. 3. Use Compact Layout (Merge multi-lines highlights in one-line, disabling will split lines in multiple nodes.): Tana doesn't support soft line-breaks in nodes, so this gives you the option to either have highlights with soft line-breaks exported as separate nodes, or to have the line-breaks removed which keeps the highlight as one node. 4. Send documents to Inbox (It will send documents to Inbox instead of your Library): New documents and highlights are by default sent to a special Readwise node created in the Library. Turn this on to instead have these forwarded to your Inbox instead. NOTE: Inbox is not recommended for first imports if you have hundreds of documents/highlights in Readwise. 5. Use Custom Formatting (Customize the format of your Tana page using Readwise templates): Turn this on to customize how content is exported. Readwise has a highly customizable template language that you can use to change how your documents and highlights are exported. 5A. Page title: This will determine the format of the Document node 5B. Highlight: This formats the Highlights 5C. Page fields: This determines the names of the fields. You can turn them on or off. 6. Select items to be Exported (Filter which books/articles/tweets to sync to Tana): Turn this on to select which documents you want to export (6A). ``` -------------------------------- ### Tana Linter: Query to Find Overdue Tasks Source: https://tana.inc/docs/input-api/search-nodes A Tana linter query example to find tasks that are unchecked and older than today, typically used in a daily page context. ```Tana Linter Syntax #task NOT DONE >LT: >Date: PARENT ``` -------------------------------- ### Tana AI Command: Autotag Source: https://tana.inc/docs/input-api/ai-for-builders The 'Autotag' AI command helps users organize content by analyzing items and applying relevant tags. It requires configuration with 'Tag candidates' to suggest appropriate supertags. ```APIDOC Command Name: Autotag Purpose: Content sorting and organization Mechanism: AI analyzes items and applies relevant tags Setup: Configure with 'Tag candidates' parameter (list supertag candidates) Usage: Run on a list of nodes to apply tags. ``` -------------------------------- ### Tana AI Interaction Commands Source: https://tana.inc/docs/input-api/commands Commands for interacting with Tana's AI features, including asking questions, running AI fields, and generating images. ```APIDOC Ask AI: Ask AI anything. Write your prompt in the node and run this command. Accesses default GPT model. Ask AI to →: Ask AI to do a task, which will run on the node you are on, looking at both the node and context. Node must have content. Ask AI (creative): Same as Ask AI, but with higher temperature. Run AI fields: Runs all AI-enhanced fields on a node. Generate image(s) with DALL-E: Returns an AI-generated image using DALL-E. ``` -------------------------------- ### Nodes and References Commands Source: https://tana.inc/docs/input-api/commands Commands for managing nodes and references, including moving, deleting, cloning, duplicating, and configuring them. ```APIDOC Move to →: Brings up a list of predetermined locations to move a node to. Defaults are Home, Library and Today. Delete node: Deletes selected node and sub-nodes in trash Clone Reference: Convert a Reference node into a non-referenced node with all contents cloned Duplicate node: Duplicates selected node Hard delete including references: Deletes a node and all References. Inline refs and refs in other workspaces stay, but with trash icon. Show edit attribution: Show Edit Attribution of node Hide edit attribution: Hide Edit Attribution of node Hoist children to siblings: Move child nodes to the same level as selected node Configure node: Opens configuration for selected node Configure node (legacy): Opens legacy configuration for selected node Create URL node: Creates a node that receives and specially formats URLs Lock node: Locks a node from being edited Unlock node: Unlocks a locked node Paste as code: Pastes contents in a special formatting code node Add description: Opens the description of the selected node Set move target: Adds selected node to list of places when using Move command Select node: Selects the whole node Copy full content to clipboard: Copies all contents of selected node as indented plain text Select children: Selects child nodes of selected node Iterate and convert URLs to URL nodes: Finds nodes that are just URLs and converts them to Tana URL nodes Add contextual content: Creates contextual content (child node, field, column) that only appears in this specific context; doesn't add data to the node generally Remove Reference: Remove a reference node Get link to node: Retrieves reference link to node. Same as Cmd+C in an open node ``` -------------------------------- ### Enrich URL Nodes with Tana 'Autofill fields' Command Source: https://tana.inc/docs/input-api/command-nodes Explains how to set up and run the 'Autofill fields' command to automatically generate a new title and description for URL nodes based on their content. It also covers selecting an AI model for the autofill process. ```APIDOC Command: Autofill fields Purpose: Generate a new node title and description based on the URL. Setup: 1. Create a new command node. 2. Add the `Autofill fields` command. 3. Add and check off `Autofill title` parameter. 4. Add and check off `Autofill description` parameter. 5. Add `Model to use` to control which model you prefer. If left empty, Tana will pick the one that returns the answer with best quality and consistency. Running the Command: 1. Run the command on a URL node using the command line (Cmd/Ctrl+K). 2. Alternatively, put this command node in the Commands section of a supertag you use for URLs. Press the button to run the command. ``` -------------------------------- ### Tana Query: Find Recipes by Ingredients Source: https://tana.inc/docs/input-api/search-nodes Example query to find nodes tagged as '#recipes' that contain specific ingredients like Tomatoes and Peppers. This demonstrates filtering by tag and field values. ```Tana Query Language Find all nodes tagged `#recipes` with the field `Ingredient==Tomatoes, Peppers` ``` -------------------------------- ### Accessing Shared Workspace Daily Notes Source: https://tana.inc/docs/input-api/daily-notes Instructions on how to navigate to the daily notes page of a shared workspace from your current daily notes or directly from the sidebar using a keyboard shortcut. ```Tana UI Commands Switch workspace Option/Alt+Shift+Click on your workspace in the sidebar ``` -------------------------------- ### Tana Query: Find Filled Feedback Fields Source: https://tana.inc/docs/input-api/search-nodes Example query to locate nodes with the 'Feedback' field set, specifically those that are descendants of a 'Q4 workplan draft' node. This illustrates hierarchical and field-based searching. ```Tana Query Language Find all nodes with field `Feedback==Set` that is `descendant of` the node `Q4 workplan draft` ``` -------------------------------- ### APIDOC: Parameter - Metaprompt to Enhance Prompt with GPT-3 Source: https://tana.inc/docs/input-api/command-nodes This parameter is related to enhancing prompts using GPT-3, though its specific description is currently unavailable. It likely plays a role in AI-driven content generation within Tana. ```APIDOC Parameter: Metaprompt to enhance prompt with GPT-3 Description: n/a Source: Tana ``` -------------------------------- ### APIDOC: Parameter - Commands Source: https://tana.inc/docs/input-api/command-nodes The 'Commands' parameter specifies a list of commands to be executed. This allows for batch processing or sequential execution of multiple operations. ```APIDOC Parameter: Commands Description: Commands to execute. Source: Tana ``` -------------------------------- ### Tana Query: Find Overdue Unfinished Tasks Source: https://tana.inc/docs/input-api/search-nodes Example query to identify nodes tagged as '#todo' that are not marked as 'DONE' and have a date older than January 10. This showcases filtering by tag, status, and date conditions. ```Tana Query Language Find nodes tagged `#todo` that is `NOT DONE`, and with a date that is `older (less) than January 10` ```