Tools Reference
Integrations
Connect agents to external APIs, extract structured data from JSON responses, manage calendar events, and handle file storage.
api_call Premium
Make HTTP API requests to external services. Supports GET, POST, PUT, PATCH, and DELETE methods with custom headers and request bodies.
TypeScript
tools.apiCallParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | ✓ | API endpoint URL |
| method | string | — | HTTP method: GET, POST, PUT, PATCH, DELETE (default: GET) |
| headers | Record<string, string> | — | HTTP headers (Authorization, etc.) |
| body | any | — | Request body (auto-serialized to JSON) |
Returns
TypeScript
{
status: 200,
headers: { "content-type": "application/json" },
data: { /* parsed response body */ }
}Security
- Requests are made from the server — API keys are never exposed to users
- URL allow-lists can restrict which domains the tool can access
- Response size is limited to prevent memory issues
- Timeouts are enforced (30-second default)
json_extract Standard
Extract specific values from JSON data using dot-notation paths and wildcard selectors. Ideal for processing API responses.
TypeScript
tools.jsonExtractParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| json | string | object | ✓ | JSON data (string or parsed object) |
| path | string | ✓ | Dot-notation path (e.g., data.items[0].name) |
Path Syntax
data.name— Access nested propertyitems[0]— Array index accessitems[*].name— Wildcard: extractnamefrom all itemsdata.users[*].email— Nested wildcard extraction
Example: API + Extract Chain
TypeScript
// 1. Call API
{ name: "api_call", args: { url: "https://api.example.com/users" } }
// Returns: { data: { users: [{ name: "A", email: "a@x.com" }, ...] } }
// 2. Extract emails
{ name: "json_extract", args: { json: apiResult.data, path: "users[*].email" } }
// Returns: ["a@x.com", "b@x.com", ...]calendar Premium
Google Calendar integration for reading and creating calendar events. Requires the user to have Google Calendar connected via integrations.
TypeScript
tools.calendarOperations
| Operation | Parameters | Description |
|---|---|---|
| list_events | startDate, endDate | List events within a date range |
| create_event | title, description, startTime, endTime, attendees | Create a new calendar event |
| find_free_slots | date, durationMinutes | Find available time slots |
Integration Requirement
The user must enable Google Calendar in their integrations:
TypeScript
// Check integration status in onMessage
onMessage: async (message, context) => {
if (!input.integrations.googleCalendar) {
return "Please connect Google Calendar in Settings → Integrations.";
}
return null;
}file_storage Standard
Upload, download, list, and delete files using Google Cloud Platform (GCP) storage. Files are scoped to the task execution.
TypeScript
tools.fileStorageOperations
| Operation | Parameters | Description |
|---|---|---|
| upload | filename, content, mimeType | Upload a file |
| download | fileId | Download a file |
| list | prefix | List files (optional prefix filter) |
| delete | fileId | Delete a file |
| getUrl | fileId | Get signed URL for direct access |
Next Steps
- Tools Overview — All 17 tools
- API Reference — Backend endpoints
- Agent SDK — Building agents with tools