A tool is one specific thing the agent can do mid-conversation: list a schema, run a query, send an email, post to Slack, build a chart, save an analysis. Whenever it uses one, a tool card lands in the chat. Some get a custom UI, the rest fall back to a small generic card showing the inputs and the result.
What an agent has in its toolbox depends on two things:
- The permissions you've switched on.
- The blocks (SQL queries, email templates, Slack messages, Tableau views, Google Slides decks) you've shared with it.
The rest of this page is the full list, grouped by what the tools actually do.
At a glance
Database tools
Always available. This is where the agent goes first when it needs to understand a database before writing SQL.
| Tool | What it does |
|---|---|
list_schemas |
List the schemas in a database. |
list_tables |
List the tables in a schema. |
describe_table |
Columns, types, and metadata for one table. |
batch_describe |
Describe several tables in a single call. Saves round trips. |
search_tables |
Find tables by name pattern. |
select_star |
Pull a handful of sample rows. The agent uses this to see what the data actually looks like, not just what the schema claims. |
check_table_exists |
Confirm a table is there before the agent commits to it in SQL. |
get_column_values |
Distinct values in a single column. |
get_all_column_values |
Same, but for every column at once. Useful for getting a feel for categorical fields. |
list_function_names |
The SQL functions this database supports. |
apply_sql_limit |
Wrap a query with a LIMIT if there isn't one already. |
detect_columns |
Pull out the column references from a query. Helps the agent validate against the schema. |
run_sql |
The actual run. Read-only: the only first keywords accepted are SELECT, WITH, EXPLAIN, SHOW, DESCRIBE, DESC, and VALUES. The agent gets back an inline preview capped at ~10k characters; bigger results come with a CSV download link. |
How a SQL run works
Metrics tools
Available when the Content permission is on. Metrics views are reusable definitions of measures and dimensions: saved once, queried many times.
| Tool | What it does |
|---|---|
save_metrics_view |
Define a new metrics view: a model SQL, plus measures, dimensions, an optional time grain, parameters, and thresholds. |
list_metrics_views |
Show every metrics view the agent has access to. |
query_metrics |
Pull numbers out of a metrics view. Pick measures, dimensions, filters, a time range, and a grain. The SQL gets generated and run for you. |
Tableau tools
Tableau works a bit differently. Instead of one shared tool, each Tableau block you share with the agent gets its own pair of tools, named after the block. Share a block called "Sales Dashboard" and the agent sees search_tableau_sales_dashboard and export_tableau_sales_dashboard. The suffix is a lowercased, alphanumeric-and-underscore slug of the block name, capped at 20 characters.
| Tool | What it does |
|---|---|
search_tableau_<slug> |
Search the Tableau site behind that block for workbooks or views by keyword. |
export_tableau_<slug> |
Export a view as an image, PDF, CSV, Excel, or crosstab, or a whole workbook as PDF or PowerPoint. Filters can be applied at export time. |
Slack tools
| Tool | What it does |
|---|---|
send_slack_message |
Post a Slack message via one of the Slack blocks shared with the agent. The block determines the workspace and default channel; if more than one block is shared, the agent picks via an integration parameter. |
No matter how many Slack blocks you share, there's still only one send_slack_message. The agent decides which block to route through at call time.
Email tools
| Tool | What it does |
|---|---|
send_email |
Send email via one of the email blocks shared with the agent. Supports CSV attachments, embedded chart images, and any other file attachments. If multiple email blocks are shared, the agent picks via an integration parameter. |
Same pattern as Slack: one tool, the agent chooses the block per call.
Chart tools
| Tool | What it does |
|---|---|
generate_chart |
Build an interactive Plotly chart from data. Takes a Plotly JSON spec and, optionally, a SQL result to pull data from. |
Google Slides tools
Same dynamic-naming idea as Tableau: each Google Slides block you share gets its own tool, named after the block.
| Tool | What it does |
|---|---|
google_slides_action_<slug> |
Add a slide, drop in a chart, edit text, or rearrange the deck. The <slug> part is the slugged block name. |
Reports tools
Available when the Reports permission is on. End-to-end report management: browse, read, write, schedule, run.
| Tool | What it does |
|---|---|
list_reports |
Show reports in the workspace, with optional search. |
list_folders |
List report folders. |
get_report_yaml |
Open a report and read its full YAML: blocks, schedule, recipients, the lot. |
create_report_yaml |
Create a new report from YAML. |
update_report_yaml |
Update an existing one. |
preview_schedule |
Show the next few times an RRULE would fire. Sanity check before you save a schedule. |
run_report |
Kick off a one-off run right now. |
get_report_run_status |
Check whether a run is still going, finished, or failed. |
Conversation tools
Available when the matching permission is on. Scheduled runs are non-interactive by definition, so they get none of these.
| Tool | What it does |
|---|---|
ask_user_question |
Pause and ask, with optional multiple-choice buttons. |
send_interim_reply |
Drop a quick "still working on it…" update so the user (or the channel) knows the agent hasn't fallen over. |
no_response |
In a busy Slack thread, decide a message wasn't meant for the agent and stay quiet. Only available when there's more than one participant or the conversation came from Slack. |
Recipient tools
| Tool | What it does |
|---|---|
search_recipients |
Look up someone by name or tag. Returns their email and Slack handle. |
add_recipient |
Add a new person to the workspace recipient list. Off if the agent doesn't have the Create Recipients permission. |
Library tools
Skills, metrics views, and other workspace content live as blocks. The agent uses one set of tools to work with all of them.
| Tool | What it does |
|---|---|
list_blocks |
List blocks of a given type: skill, metrics_view, and so on. |
read_block |
Open one block by UID and read it in full. |
create_block |
Create a new block of the given type. |
edit_block |
Update an existing block. |
Memory tools
The agent's private notebook, scoped to /memories/. Available when the Memory permission is on.
| Tool | What it does |
|---|---|
read_file |
Open one of the agent's saved memory notes. |
write_file |
Create a new memory note. |
edit_file |
Update an existing one. |
See Agent Memory for what memory's good for and how to set it up.
What tools do I have right now?
Every agent gets one extra tool, list_tools, that returns its own toolbox. Ask "what can you do?" or "what reporting tools do you have?" and the agent calls it and tells you. You can filter by category: sql, email, slack, tableau, memory, skill, db, report, interaction, chart, google_slides, block, base.