Custom tools
Give the agent named, reviewed operations of your own: SQL macros, pipelines, and sandboxed Python.
Beyond tables and metrics, a config can carry tools the agent may call. A tool is a named operation you have written and verified, which the agent invokes instead of improvising equivalent SQL each time.
The three kinds
| Kind | What it is | Reach for it when |
|---|---|---|
sql_macro | A named, parameterised query | The same shape of query keeps recurring |
pipeline | A multi-step sequence over your data | One query cannot express the whole step |
python | Sandboxed Python over the result set | The logic is procedural, not relational |
Nothing publishes unless it ran
A tool must execute successfully before it becomes available to the agent. You write it, run it against real data, read the actual output, and only then is it callable.
This is deliberate: a broken tool in a config is worse than no tool, because the agent will keep reaching for it and keep failing in a way that looks like a product bug.
Toolpacks
Several toolpacks ship with the product, covering common analysis patterns. They are a starting point: copy one and adapt it rather than writing from scratch.
Tools are config, so they are versioned
A tool lives in the config, which means it is versioned and rolls back with everything else. See the YAML reference.