Authentication and enablement
No integration. Runs in the platform sandbox (process isolation, storage isolation, HTTP restrictions). Off by default. Currently internal / POC only — enable via superadmin per-agent in the Tools panel. Not suggested by the agent-builder.Inputs
command(required): the shell command to execute. Runs under/bin/bash -c.inputs(optional): array of task variable names (e.g.["VAR_27", "VAR_5"]) to write as JSON files before the command runs. Each name becomes/workspace/vars/<NAME>.json.timeout_seconds(optional): execution timeout. Default120, max600.
Workspace contract
Your command runs in/workspace/ as the working directory:
/workspace/inputs/— task files staged in (e.g. PDFs, CSVs, images uploaded or produced by prior steps)./workspace/vars/— JSON files corresponding toinputsarray (e.g./workspace/vars/VAR_27.jsoncontains the variable’s value)./workspace/out/— write downloadable files here. Each file becomes a new task file and a task variable reference (e.g./workspace/out/results.csv→ new variableVAR_Nwith mime type inferred from extension)./workspace/.out/<step>.log— fuller stdout/stderr written here if the in-result output is truncated (see Limits below for its own cap).
Output
Result object with:exit_code(integer).stdout(string, capped ~16 KiB in the returned result; full output in the log file if truncated).stderr(string, same cap and truncation behavior).truncated(boolean):trueif stdout or stderr was capped.log_path(string, optional): sandbox-internal path to the full output log, present only whentruncatedistrue.files(array of objects): one per file written to/workspace/out/. Each hasname(the file’s name),var(the newVAR_Nreference other steps can use), andurl(download URL).
Limits and side effects
- Timeout: 120s default, 600s max. Exceeding it terminates the command and returns a timeout error.
- Output truncation: stdout and stderr are each capped at ~16 KiB in the returned result. When truncated, the fuller output is written to
/workspace/.out/<step>.loginside the sandbox workspace itself — it is not exported to any UI (there is no task-detail “Logs” tab view of it), so a later step in the same task must read it back via the bash tool. That log can itself be incomplete: the sandbox shim that runs your command caps stdout at ~1 MiB and stderr at ~256 KiB before Go ever sees the bytes, so a command producing more output than that loses the excess before it reaches/workspace/.out/<step>.logtoo. - File export: up to 20 files per call, max 10 MiB per file. Files exceeding either cap are named in the result’s “not exported (too large, over the per-command file limit, or unreadable): …” line; they are never silently dropped.
- File persistence: files in
/workspace/out/are staged as task files for the next step, but do not persist across independent task runs. Each new task run re-stages/workspace/inputs/from the latest versions. - Network: during the POC the sandbox has open outbound egress and carries no platform credentials — it is enabled on internal workspaces with test data only. Egress lockdown is planned hardening after the POC.
- Billing: each call is a billed step visible in the task feed.
Expected errors
"sandbox runner not configured"— feature not available in this environment (dark-launched feature off).- Variable name not found in task context (e.g.
VAR_999doesn’t exist). "output truncated"— stdout or stderr exceeded the cap./workspace/.out/<step>.loginside the sandbox has the fuller output — unless the sandbox shim itself already truncated upstream, in which case the note says so and the log is capped too.- Exit code non-zero — command failed; inspect stdout/stderr and the log file for details.
- File export error — file too large or over the 20-file limit.