> For the complete documentation index, see [llms.txt](https://docs.paradime.io/app-help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.paradime.io/app-help/products/dino-ai/programmable-agents/tools-reference.md).

# Tools Reference

The following tools can be specified in the `tools.list` field of an agent YAML. Use `allowlist` mode to restrict an agent to only the tools it needs.

***

#### Filesystem

| Tool                           | Description                               |
| ------------------------------ | ----------------------------------------- |
| `read_file`                    | Read the contents of a file in the repo   |
| `write_file`                   | Write or overwrite a file in the repo     |
| `search_files_and_directories` | List and navigate the repo file structure |
| `ripgrep_search`               | Fast text search across files             |

***

#### Web

| Tool                  | Description                            |
| --------------------- | -------------------------------------- |
| `execute_web_search`  | Search the web for current information |
| `extract_url_content` | Fetch and read the content of a URL    |
| `perplexity_search`   | AI-powered web search via Perplexity   |

***

#### SQL & Terminal

| Tool                                    | Description                                         |
| --------------------------------------- | --------------------------------------------------- |
| `run_sql_query`                         | Execute a SQL query against the connected warehouse |
| `run_terminal_command`                  | Run a shell command (e.g. dbt™ commands)            |
| `get_snowflake_query_performance_stats` | Deep-dive into a specific Snowflake query by ID     |
| `get_bigquery_query_performance_stats`  | Deep-dive into a specific BigQuery job by its ID    |

***

#### Orchestration

| Tool                    | Description                                         |
| ----------------------- | --------------------------------------------------- |
| `invoke_agent`          | Spawn a child agent defined in `agents_squad`       |
| `notify_parent_session` | Wake a parent agent waiting on a callback           |
| `run_subagent`          | Run a lightweight sub-task without a full agent pod |

***

#### Integrations

| Tool                 | Description                                                                                                    |
| -------------------- | -------------------------------------------------------------------------------------------------------------- |
| `post_slack_message` | Post a message to a Slack channel                                                                              |
| `get_linear_issue`   | Read a single Linear issue by ID (requires Linear integration)                                                 |
| `list_linear_issues` | List Linear issues filtered by team, assignee, workflow state, label or priority (requires Linear integration) |

***

#### Bolt

The background agent can now both **inspect** and **trigger / retry** Bolt schedules and runs. Triggered runs go through Paradime's normal scheduler — custom commands are validated server-side before dispatch, so an agent cannot run arbitrary shell.

| Tool                             | Description                                                                                                                                                                                   |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_bolt_schedules`            | List active Bolt schedules in the workspace (name, UUID, cron, owner, commands). Use first to discover valid `schedule_name_str` values.                                                      |
| `get_bolt_run_logs`              | Fetch AI-generated summaries of failed commands from a Bolt run. Pass `run_id` to inspect a specific run, or `schedule_name_str` to get the latest finished run of a named schedule.          |
| `trigger_bolt_schedule_run`      | Trigger a Bolt schedule run by name. Optional `commands` to override the schedule's commands (validated server-side); optional `branch` to override the git branch. Returns the new `run_id`. |
| `retry_bolt_run`                 | Retry a specific failed Bolt run by `run_id`. Creates a new run that resumes from the failed command; the original run is unchanged.                                                          |
| `retry_latest_bolt_schedule_run` | Retry the **latest failed run** of a Bolt schedule by name, without needing to know the run ID. Returns the new `run_id`.                                                                     |

{% hint style="warning" %}
**Custom commands are gated.** When an agent passes `commands` to `trigger_bolt_schedule_run`, each entry is checked against Paradime's allow-list of safe commands (`is_allowed_command`). Disallowed commands return an `[ERROR]` and the run is not dispatched.
{% endhint %}

{% hint style="info" %}
**Typical pattern:** `list_bolt_schedules` → `trigger_bolt_schedule_run` (or `retry_latest_bolt_schedule_run`) → `get_bolt_run_logs` with the returned `run_id` to inspect outcome.
{% endhint %}

#### Data Warehouse

Warehouse tools are automatically available based on your workspace's connected data warehouse. Supported warehouses:

* Snowflake
* BigQuery
* Redshift
* Databricks
* Trino
* SQL Server
* ClickHouse
* Microsoft Fabric

#### Related

* YAML Configuration — How to use `tools.mode` and `tools.list`
* Agent-to-Agent Delegation — Using `invoke_agent` and `notify_parent_session`
* Examples — See tutorials on how to get started deploying agents

### Related

* [YAML Configuration](/app-help/products/dino-ai/programmable-agents/yaml-configuration.md) — How to use `tools.mode` and `tools.list`
* [Agent-to-Agent Delegation](/app-help/products/dino-ai/programmable-agents/agent-to-agent-delegation.md) — Using `invoke_agent` and `notify_parent_session`
* [Examples](/app-help/products/dino-ai/programmable-agents.md)  — See tutorials on how to get started deploying agents


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/products/dino-ai/programmable-agents/tools-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
