> ## Documentation Index
> Fetch the complete documentation index at: https://netter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat tools

> Every tool the Netter assistant can call, grouped by what it does, with the permission each one requires. Read tools respect your access; write tools enforce the same levels as the UI.

Each [chat](/docs/assistant/overview) is given a fixed set of tools when it opens, chosen by what that chat is for. This page lists them all and the permission behind each.

Two rules hold across every tool:

* **Data tools act as you.** Anything that returns rows or charts applies your resource access and [row-level security](/docs/permissions/row-level-security). You never see data through the assistant that you couldn't open yourself.
* **Write tools enforce the UI's levels.** A tool that changes something checks the same [permission](/docs/permissions/overview) level as the equivalent button. If you lack it, the tool refuses and the assistant relays the reason.

## Data and discovery tools

Available to **Ask Netter** and the **ontology design** chat.

| Tool                  | What it does                                                                          | Permission                                                                                                   |
| --------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `list_entities`       | Lists the company's entities with their properties, relationships, and record counts. | Read-only. Returns entity catalog (names and shape, not row data).                                           |
| `search_databases`    | Searches datasets by name, table, or description.                                     | Read-only catalog.                                                                                           |
| `get_database_schema` | Returns the column schema for a dataset.                                              | Read-only.                                                                                                   |
| `list_projects`       | Lists the company's projects.                                                         | Read-only.                                                                                                   |
| `list_user_files`     | Lists uploaded CSV/JSON/Excel files and their metadata.                               | Read-only.                                                                                                   |
| `visualize_data`      | Composes charts and KPIs grounded in live data to answer a question.                  | **Respects your access + RLS.** Reads only datasets and entities you can see, with your row filters applied. |

### Graph navigation

These let the assistant find and traverse the connections between your datasets and entities. All of them are filtered to the assets you have **Viewer or higher** on.

| Tool               | What it does                                                               | Permission                                                                           |
| ------------------ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `search_nodes`     | Finds datasets and entities by keyword or meaning.                         | Returns only assets you can access.                                                  |
| `search_edges`     | Finds relationships between assets ("how does X relate to Y").             | Filtered to your assets.                                                             |
| `expand_neighbors` | Lists what's directly connected to a given asset.                          | Filtered to your assets.                                                             |
| `find_path`        | Finds the chain of links between two assets.                               | Filtered to your assets.                                                             |
| `get_node`         | Fetches the full documentation for one asset—schema, lineage, sample rows. | Filtered to your assets. **Sample rows are hidden** unless you're an owner or admin. |
| `list_node_types`  | Summarizes the graph—counts of assets and link types.                      | Counts cover only assets you can access.                                             |

## Ontology design tools

Available to the **ontology design** chat. These change your data model, so each carries a permission gate that matches the ontology editor's buttons.

| Tool                    | What it does                                                        | Permission                                                              |
| ----------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| `update_entity`         | Edits an entity's display name or description.                      | **Editor** on the entity.                                               |
| `manage_fields`         | Adds, removes, updates, or previews fields on an entity.            | **Editor** on the entity.                                               |
| `create_entity`         | Creates a new managed entity from scratch—no source dataset needed. | **Company Admin.**                                                      |
| `promote_database`      | Promotes a raw dataset into an editable entity.                     | **Company Admin.**                                                      |
| `create_relationship`   | Links two entities (the inverse is created automatically).          | **Company Admin.**                                                      |
| `update_relationship`   | Edits a relationship's name, type, or description.                  | **Company Admin.**                                                      |
| `delete_relationship`   | Removes a relationship and its inverse.                             | **Company Admin.**                                                      |
| `demote_entity`         | Turns an entity back into a raw dataset.                            | **Admin on the entity + Company Admin.** Type-to-confirm.               |
| `clear_entity_overlays` | Deletes all of an entity's row edits (overlays).                    | **Editor on the entity + Company Admin.** Type-to-confirm. Destructive. |

## App design tools

Available to the **app design** chat. The chat shapes an app's data contract; the actual access a viewer gets is enforced at runtime by the app's [bindings](/docs/applications/bindings) and [actions](/docs/applications/actions).

| Tool                    | What it does                                                                                     | Permission                                                                     |
| ----------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| `list_entities`         | Lists entities available to bind, with `is_editable` and record-count flags.                     | Read-only catalog.                                                             |
| `describe_entity`       | Returns an entity's columns and one sample row.                                                  | Read-only.                                                                     |
| `list_actions`          | Lists the [actions](/docs/applications/actions) that govern writes to an entity.                      | Read-only.                                                                     |
| `check_action_coverage` | Checks whether an action authorizes a given write.                                               | Read-only.                                                                     |
| `list_automations`      | Lists workflows the app can trigger from a button.                                               | Read-only. The clicking viewer still needs access to the workflow at runtime.  |
| `submit_app_design`     | Finalizes the app's [entity bindings](/docs/applications/bindings) (`read`, `write`, or `readwrite`). | Requires sign-in. Bindings—not this tool—gate what viewers can read and write. |
| `propose_action`        | Proposes a new [action](/docs/applications/actions) for an admin to approve, shown as a card in chat. | Requires sign-in. Proposes only; an admin still creates the action.            |

## Pipeline tools

Available to the **pipeline** chat. It builds a [pipeline](/docs/pipelines/quickstart)—a graph of steps and pre-coded operators—inside a project you already have access to. The chat validates step config and graph structure as you go; it never reaches past your access, and the resulting pipeline's [permissions](/docs/permissions/overview) and [row-level security](/docs/permissions/row-level-security) apply when it runs.

| Tool                                       | What it does                                                                         | Permission                                                       |
| ------------------------------------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| `list_operators`                           | Lists the pre-coded operators a step can use.                                        | Read-only.                                                       |
| `get_dag`                                  | Returns the current pipeline graph—its steps and links.                              | Read-only.                                                       |
| `get_step_output`                          | Previews a step's output from a sample run.                                          | Read-only; sample data only.                                     |
| `list_project_databases`                   | Lists the databases the project produces.                                            | Read-only.                                                       |
| `get_recent_errors`                        | Surfaces recent run errors to debug a step.                                          | Read-only.                                                       |
| `add_step` / `update_step` / `remove_step` | Adds, reconfigures, or deletes a step.                                               | Edits the pipeline.                                              |
| `link_step` / `unlink_step`                | Wires steps together or breaks a link.                                               | Edits the pipeline.                                              |
| `edit_dashboard` / `message_dashboard`     | Edits or discusses a dashboard the pipeline produces.                                | Edits the dashboard.                                             |
| `edit_custom_code` / `message_custom_code` | Edits or discusses a custom-code step.                                               | Edits the step.                                                  |
| `run_sample`                               | Runs the pipeline on a sample to test it before deploy.                              | Executes a sample run.                                           |
| `review`                                   | Checks the graph for problems before you ship.                                       | Read-only.                                                       |
| `fetch_docs`                               | Looks up operator and integration documentation.                                     | Read-only.                                                       |
| `nango_proxy`                              | Calls a connected integration's API while building, using the project's credentials. | Uses the project's [integration](/docs/integrations/overview) access. |
| `submit`                                   | Finalizes the proposed graph.                                                        | Terminal signal.                                                 |
| `ask_user`                                 | Asks you a clarifying question.                                                      | Terminal signal.                                                 |

## Workflow tools

Available to the **workflow** chat. It builds a workflow—a graph of nodes wired to a trigger. As with the pipeline chat, structure is validated as you build, and access is enforced when the workflow runs.

| Tool                                              | What it does                                                                                                | Permission          |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------- |
| `list_node_kinds`                                 | Lists the node types available, with their config and ports.                                                | Read-only.          |
| `get_dag_state`                                   | Returns the workflow's current nodes and edges.                                                             | Read-only.          |
| `list_entities`                                   | Lists entities a fetch node can read.                                                                       | Read-only catalog.  |
| `describe_entity`                                 | Returns an entity's columns and one sample row.                                                             | Read-only.          |
| `list_integrations`                               | Lists connected integrations and the actions each exposes.                                                  | Read-only.          |
| `list_actions`                                    | Lists the [actions](/docs/applications/actions) governing an entity's writes.                                    | Read-only.          |
| `check_action_coverage`                           | Checks whether an action authorizes a planned write, warning if a node would fail at runtime.               | Read-only.          |
| `add_node` / `update_node_config` / `remove_node` | Adds, reconfigures, or deletes a node.                                                                      | Edits the workflow. |
| `connect` / `disconnect`                          | Wires nodes together or breaks an edge.                                                                     | Edits the workflow. |
| `set_trigger`                                     | Sets what fires the workflow: a schedule (cron), an entity change (create/modify/delete), or an app button. | Edits the workflow. |
| `propose_action`                                  | Proposes an action for you to approve when a write isn't covered.                                           | Proposes only.      |
| `submit_workflow`                                 | Marks the workflow complete.                                                                                | Terminal signal.    |
| `ask_user_question`                               | Asks you a clarifying question.                                                                             | Terminal signal.    |

A node that writes to an entity must be covered by an approved [action](/docs/applications/actions), and that write is checked against the permissions and row-level security of the user the workflow runs as. The builder flags any uncovered write so a workflow can't ship with a hidden permission gap.

## Dashboard chat tools

Available to the **dashboard** chat. It edits a dashboard's layout and code—it shapes the view, not the data.

| Tool                      | What it does                                        | Permission                          |
| ------------------------- | --------------------------------------------------- | ----------------------------------- |
| Schema inspection         | Reads the shape of the data the dashboard displays. | Read-only; only data you can see.   |
| `Read` / `Edit` / `Write` | Edits the dashboard's files in its workspace.       | Edits the dashboard, not your data. |

There are no data-write tools here. The dashboard chat can't insert, update, or delete rows—it only arranges how existing data is shown.

## Why this design

The assistant runs your tools, not a superuser's. Reads are filtered to what you can see, writes are checked against what you can change, and destructive operations ask you to confirm in words. The assistant can move faster than you clicking buttons, but it can't reach past your permissions.

## Next

* [Assistant overview](/docs/assistant/overview) — the chats and how tool calls surface in the transcript.
* [Permissions](/docs/permissions/overview) and [row-level security](/docs/permissions/row-level-security) — the model the tools enforce.
* [Entity bindings](/docs/applications/bindings) — how app design tools translate into viewer access.
