Overview
Workspaces provide agents with an isolated sandbox file system. When an agent usesagent reasoning mode, it has access to built-in file tools (write, read, edit, grep, delete) that operate on workspace files.
Workspaces must be enabled for agents to use file tools, edit mode (
chat_mode: 'edit'), and plan mode (chat_mode: 'plan'). When workspace is disabled, these tools are removed and chat mode falls back to ask.- Authenticated users — each user gets their own workspace per agent
- Anonymous users — each chat conversation gets an isolated workspace
Built-in File Tools
When an agent runs inagent reasoning mode, these tools are automatically available:
| Tool | Description | Approval |
|---|---|---|
write | Create or overwrite a file | Conditional |
read | Read file content (supports line ranges) | Auto |
edit | Exact string replacement in a file | Conditional |
grep | Regex search across workspace files | Auto |
delete | Soft-delete a file | Conditional |
Tools marked “Conditional” require user approval before execution (configurable per agent). Tools marked “Auto” execute without approval.
write
Create a new file or overwrite an existing one:| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | Yes | Virtual file path (e.g., /src/app.js) |
content | string | Yes | Full file content |
language | string | No | Programming language hint |
read
Read a file’s content, optionally by line range:| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | Yes | Virtual file path to read |
start_line | integer | No | Start line (1-based) |
end_line | integer | No | End line (1-based, inclusive) |
edit
Apply an exact string replacement to a file:| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | Yes | Virtual file path to edit |
old_string | string | Yes | Exact text to find (must match uniquely) |
new_string | string | Yes | Replacement text (empty string to delete) |
grep
Search across workspace files using regex:| Parameter | Type | Required | Description |
|---|---|---|---|
pattern | string | Yes | Search pattern (regex supported) |
file_path | string | No | Restrict to a specific file |
include | string | No | File extension filter (e.g., .js) |
delete
Remove a file from the workspace (soft delete):| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | Yes | Virtual file path to delete |
REST API
Manage workspaces and files programmatically. All endpoints require API key authentication.List Workspaces
Create Workspace
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
name | string | Yes | Workspace name |
description | string | No | Workspace description |
Delete Workspace
List Files
Read File
Create File
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
workspace_uuid | string | Yes | Workspace UUID |
file_path | string | Yes | Virtual file path (e.g., /src/app.js) |
content | string | No | File content |
language | string | No | Programming language |
Update File
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
workspace_uuid | string | Yes | Workspace UUID |
file_uuid | string | Yes | File UUID |
content | string | Yes | New file content |
Delete File
Rename/Move File
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
workspace_uuid | string | Yes | Workspace UUID |
old_path | string | Yes | Current file path |
new_path | string | Yes | New file path |
is_folder | boolean | No | Move all files under path prefix (folder rename) |
Publishing
Publish a workspace when the agent has created a deliverable that should be shared publicly, such as a page, report, prototype, or client-facing document.Suggest Subdomain
Publish Workspace
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
workspace_uuid | string | Yes | Workspace UUID |
subdomain | string | Yes | Public workspace subdomain |
Unpublish Workspace
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
workspace_uuid | string | Yes | Workspace UUID |
Custom Domains
Workspace custom domains require a plan that includes custom domains and a published workspace.Add Custom Domain
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Yes | Project ID |
bot_id | string | Yes | Bot ID |
workspace_uuid | string | Yes | Workspace UUID |
custom_domain | string | Yes | Domain to attach, e.g. report.example.com |
pending until verification completes.
Domain Status
Domain Info
Remove Custom Domain
Next Steps
Chat API
Send messages and receive AI responses
API Reference
Complete API documentation