Tools Reference
Overview of all DataGrout core tools
DataGrout tools are automatically available on every server. They use this naming convention:
data-grout@{version}/{category}.{tool}@{tool_version}
For example: data-grout@1/discovery.discover@1
Tool Categories
Discovery Tools
Tools for finding and executing integration tools semantically.
| Tool | Purpose |
|---|---|
discovery.discover@1 |
Find tools by natural language query or goal |
discovery.plan@1 |
Generate a verified multi-step plan |
discovery.guide@1 |
Interactive step-by-step workflow builder |
discovery.perform@1 |
Execute a tool by name through the intelligence layer |
See Discovery Tools for parameters and examples.
Data Tools
Pure JSON/structure manipulation. No LLM, no credits, no external calls.
| Tool | Purpose |
|---|---|
data.get@1 |
Access a value at a path within a nested structure |
data.pick@1 |
Keep only specified keys from a map or list of maps |
data.omit@1 |
Remove specified keys from a map or list of maps |
data.take@1 |
Return the first N items from an array |
data.drop@1 |
Skip the first N items and return the rest |
data.keys@1 |
Return keys of a map or indices of an array |
data.count@1 |
Count items in an array, keys in a map, or characters in a string |
data.flatten@1 |
Flatten a nested map into dot-path keys |
data.merge@1 |
Merge two maps together |
data.filter@1 |
Filter array items using declarative predicates |
data.sort@1 |
Sort any array by value or by field specs |
data.unique@1 |
Deduplicate an array by value or field |
All Data tools accept either inline payload or a cache_ref from a prior tool response.
See Data Tools for parameters and examples.
Prism Tools
Data transformation, analysis, rendering, and code operations.
| Tool | Purpose |
|---|---|
prism.refract@1 |
Transform data using natural language instructions |
prism.focus@1 |
Convert between Semio semantic types |
prism.chart@1 |
Generate charts from data |
prism.render@1 |
Render data in various formats |
prism.export@1 |
Export data to files |
prism.paginate@1 |
Page through large datasets |
prism.code_lens@1 |
Analyze code structure |
prism.diff_analyzer@1 |
Compare code changes |
prism.code_query@1 |
Query code semantically |
See Prism Tools for parameters and examples.
Logic Tools
Symbolic memory for persistent agent knowledge.
| Tool | Purpose |
|---|---|
logic.remember@1 |
Store facts in your Logic Cell |
logic.query@1 |
Query stored knowledge |
logic.constrain@1 |
Add rules and constraints |
logic.forget@1 |
Remove stored facts |
logic.reflect@1 |
Summarize what you know |
See Logic Tools for parameters and examples.
Flow & Inspect Tools
Workflow orchestration, human-in-the-loop gates, and execution inspection.
| Tool | Purpose |
|---|---|
flow.into@1 |
Define and execute a multi-step workflow |
flow.route@1 |
Conditional dispatch with fall-through predicate matching |
flow.request-approval@1 |
Pause workflow for human approval |
flow.request-feedback@1 |
Collect missing data from a user mid-workflow |
inspect.execution-history@1 |
List recent executions |
inspect.execution-details@1 |
Get full details for a specific run |
inspect.ctc-executions@1 |
View CTC-verified executions for a skill |
See Flow and Inspect Tools for parameters and examples.
Warden Tools
Prompt injection detection and adversarial content analysis.
| Tool | Base Cost (low/med/high) | Purpose |
|---|---|---|
warden.canary@1 |
5 / 10 / 20 + LLM | Protocol adherence check via dual-pass canary |
warden.intent@1 |
5 / 10 / 20 + LLM | Semantic intent lens โ detects goal divergence and authority claims |
warden.adjudicate@1 |
5 / 10 / 20 + LLM | Adversarial fact/rule evaluation with Prolog engine |
warden.ensemble@1 |
12 / 24 / 48 + LLM | All three tiers in one call with weighted scoring |
See Warden Tools for parameters and examples.
Math Tools
Deterministic numeric generation, statistical analysis, and modeling. No LLM, no credits.
| Tool | Purpose |
|---|---|
math.range@1 |
Evenly-spaced sequence from start to stop by step |
math.linspace@1 |
Exactly N points between start and stop |
math.sequence@1 |
Named sequences: fibonacci, primes, geometric, etc. |
math.sample@1 |
Random samples from uniform, normal, or exponential distributions |
math.interpolate@1 |
Lerp, clamp, remap, smoothstep, and easing curves |
math.describe@1 |
Descriptive statistics: mean, median, std, percentiles, histogram |
math.window@1 |
Sliding window ops: moving average, cumulative sum, diff, pct_change, lag, EWMA |
math.correlate@1 |
Pearson and Spearman pairwise correlation |
math.trend@1 |
Regression fitting: linear, polynomial, exponential, logarithmic with forecast |
math.normalize@1 |
Scale data: z-score, min-max, or percentile rank normalization |
math.outliers@1 |
Detect outliers using IQR or z-score methods |
math.rank@1 |
Rank values: ordinal, dense, average, or percentile |
Analysis tools (describe, window, correlate, trend, normalize, outliers, rank) accept payload/cache_ref, composing naturally with Data and Frame tool outputs.
See Math Tools for parameters and examples.
Frame Tools
Columnar data operations on lists of records. No LLM, no credits.
| Tool | Purpose |
|---|---|
frame.select@1 |
Keep, rename, or drop columns |
frame.filter@1 |
Filter rows by declarative conditions |
frame.sort@1 |
Sort by one or more fields |
frame.group@1 |
Group and aggregate |
frame.pivot@1 |
Reshape long data to wide format |
frame.slice@1 |
Paginate or take top-N |
frame.join@1 |
Join two record lists on shared keys |
Frame tools accept cache_ref outputs from auto-paginated integration tools, enabling large dataset operations without passing data through the LLM context.
See Frame Tools for parameters and examples.
Scheduler Tools
Deferred and recurring tool execution.
| Tool | Purpose |
|---|---|
scheduler.create@1 |
Schedule a tool call or workflow (time-based or event-driven) |
scheduler.list@1 |
List active scheduled tasks |
scheduler.cancel@1 |
Cancel a scheduled task |
You can also pass a schedule argument directly to discovery.perform or flow.into without calling scheduler.create explicitly.
See Scheduler Tools for parameters and examples.
Naming Convention
All tools follow the namespace.tool@version pattern within the data-grout@1 scope:
- discovery.* โ Finding, planning, and executing tools
- data.* โ Pure JSON/structure manipulation
- prism.* โ Data transformation and code analysis
- logic.* โ Symbolic memory operations
- flow.* โ Workflow orchestration
- inspect.* โ Execution history and observability
- warden.* โ Adversarial content detection
- math.* โ Deterministic numeric operations
- frame.* โ Columnar data operations
- scheduler.* โ Deferred and recurring execution
Integration tools follow: {integration}@{version}/{tool}@{version} (e.g. salesforce@1/get_leads@1).
Many AI clients (Claude, ChatGPT, n8n, LangChain, Cursor) restrict function names to [a-zA-Z0-9_-]. DataGrout auto-detects these clients and serves flat names like salesforce_get_leads instead. You can call tools using either format. See Tool Naming and Compatibility for the full resolution chain and supported formats.
Error Format
All tools return errors in this structure:
{
"error": {
"code": "tool_not_found",
"message": "Tool 'salesforce@1/nonexistent@1' not found"
}
}
Common codes: tool_not_found, invalid_arguments, upstream_error, timeout, rate_limit, policy_violation.
Related
- Discovery Tools
- Data Tools
- Prism Tools
- Logic Tools
- Flow and Inspect Tools
- Warden Tools
- Math Tools
- Frame Tools
- Scheduler Tools
- Tool Naming and Compatibility โ OpenAI-compatible names, version handling, transport encoding
- Conduit SDK โ Call these tools from code