Tool types
Tool
A multi-step workflow tool that executes protocol-specific operations.id- Unique identifiersteps- Ordered execution steps (min: 1)name- Display nameversion- Semantic version (major.minor.patch)instruction- Human-readable descriptioninputSchema- JSON Schema for tool inputsoutputSchema- JSON Schema for tool outputsoutputTransform- JavaScript function for final transformation:(sourceData) => expressioncreatedAt- Creation timestampupdatedAt- Last update timestamp
ToolStep
A single execution step supporting multiple protocols (HTTP/HTTPS, Postgres, FTP/SFTP).id- Unique identifierurl- Full URL with protocol (e.g.,https://api.example.com,postgres://host:5432/db,ftp://host/path)method- HTTP method (usePOSTfor non-HTTP protocols)systemId- System to use for credentials and documentationinstruction- What this step doesqueryParams- URL query params (HTTP only), supports template expressionsheaders- HTTP headers (HTTP only), supports template expressionsbody- Request body (protocol-specific), supports template expressionsdataSelector- JavaScript function to select data:(sourceData) => expressionmodify- Whether step can be modified by self-healingfailureBehavior-"fail"stops execution,"continue"proceeds to next steppagination- Pagination configuration (HTTP only)
<<(sourceData) => ...>> syntax to reference previous step outputs:
Run types
Run
Represents a tool execution with status, results, and metadata.runId- Unique run identifiertoolId- ID of executed toolstatus- Execution status:running,success,failed,abortedtool- Tool metadata (not full config)toolPayload- Inputs/credentials/options provided at runtimedata- Tool execution results (only whenstatusissuccess)error- Error message (only whenstatusisfailedoraborted)stepResults- Results from each execution stepoptions- Execution options usedrequestSource- Where run was initiatedtraceId- Trace ID for debuggingmetadata- Timing and duration info (seeRunMetadata)
RunMetadata
Timing information for a run.startedAt- ISO timestamp when run startedcompletedAt- ISO timestamp when run finished (only present when status issuccess,failed, oraborted)durationMs- Execution duration in milliseconds
RunRequest
Configuration for executing a tool.runId- Pre-generated run ID (optional, for idempotency)inputs- Tool-specific input parameterscredentials- Runtime credentials (not persisted, overrides stored credentials)options- Execution options:async- Iftrue, return immediately (202) and execute async. Iffalse, wait for completion (200)timeout- Request timeout in seconds (sync only)webhookUrl- URL to POST completion notification, ortool:toolIdto chain toolstraceId- Custom trace ID for log tracking
RunStepResultsItem
Result from a single step execution.stepId- Which step this result is forsuccess- Whether the step completed successfullydata- API response data (if successful)error- Error message (if failed)
Pagination
Pagination
Pagination configuration for HTTP/HTTPS requests.type- Pagination type:"offset"or"cursor"pageSize- Items per page (available as<<(sourceData) => sourceData.limit>>)cursorPath- JSONPath to extract next page cursor (e.g.,"meta.next_cursor")stopCondition- JavaScript function to determine when to stop:(response, pageInfo) => booleanresponse- Object with{data: ..., headers: ...}pageInfo- Object with{page, offset, cursor, totalFetched}- Return
trueto STOP,falseto continue
Response types
ListTools200
Response fromlistTools().
data- Array of Tool objectspage- Current page numberlimit- Items per pagetotal- Total number of itemshasMore- Whether more pages exist
ListRuns200
Response fromlistRuns().
data- Array of Run objectspage- Current page numberlimit- Items per pagetotal- Total number of itemshasMore- Whether more pages exist