Tools
Tools are the action layer of Agent extensions, available during a Turn. Use built-in Tool groups when the Agent needs platform-supplied planning, Memory, or durable file operations instead of instructions alone.
How Tools are enabled
The Agent-level tools array contains Tool group IDs and defaults to []. At Turn resolution, each selected group expands to its declared Tool names; built-in Tools are off unless their group is enabled.
Selection does not provision a backing capability. file_operation_sandbox requires the Agent to have a tenant-owned Sandbox attached, while the Memory group uses the Agent-owned Memory store. Selected Skills and attached MCP connections add their own Tools separately.
Enable a Tool group
This backend example enables planning, asks the Agent to use it, consumes the Turn, and reads the resulting Session transcript.
import { BlazingAgents } from "@blazing-agents/sdk";
const client = new BlazingAgents({ apiKey: process.env.BLAZING_AGENTS_API_KEY! });
const agent = await client.agents.create({
name: "Release planner",
tools: ["write_todos"],
});
const turn = await client.chat({
agentId: agent.id,
message: {
id: crypto.randomUUID(),
role: "user",
parts: [{ type: "text", text: "Use write_todos to plan a release." }],
},
});
for await (const _chunk of turn.toUIMessageStream()) { /* consume the Turn */ }
const transcript = await client.sessions.messages(agent.id, await turn.sessionId);
console.log(transcript.data.at(-1)?.parts);The final assistant message's parts include the write_todos Tool call and result before the Agent's response.
Built-in Tool groups
| Group | Display name | Expanded Tool names | Boundary |
|---|---|---|---|
file_operation_sandbox | File operations | read, write, edit, grep, glob, bash, save_artifacts | Operates only in the attached durable Sandbox; saving an Artifact is deliberate and separate from scratch files |
write_todos | Task planning | write_todos | Maintains structured planning state for the current Turn |
memory | Memory | save_memory, get_memory, search_memories, update_memory, delete_memory | Reads and changes Agent-owned Memory visible to the current Turn |
Skills are not another public Tool group. Selecting a Skill adds activate_skill and a constrained read path for supported Skill assets. Attached MCP connections contribute discovered remote Tools rather than entries in tools.
Tool activity and approvals
For a successful Session Turn, assistant UIMessage parts retain Tool calls and their results in the transcript. A sensitive call can instead pause for a Tool approval; approval applies to that exact call, not to its Tool group.
A failed or canceled Turn is still metered, but only a successful Turn changes the Session transcript.
Production considerations
- Enable only groups the Agent needs. Tool selection is capability exposure, not access control.
- Attach a Sandbox before selecting file operations; the API rejects an invalid configuration and execution checks it again.
- Expect Tool errors, Turn cancellation, and deadlines. Do not treat a proposed call as a completed side effect.
- Keep credentials, tokens, and other sensitive values out of Tool arguments, prompts, and application logs.
Related guides
Reference
- TypeScript SDK:
agents.create()andagents.update() - REST API:
POST /v1/agentsandPUT /v1/agents/:agentId