← All Toolkits

Remote Workbench

COMPOSIO_REMOTE_WORKBENCHDestructiveExternal

Runs Python in a persistent remote sandbox to process large remote files and script bulk or repeated tool executions.

When to use it

Reach for `COMPOSIO_REMOTE_WORKBENCH` when data lives in a remote file rather than inline in the chat, when you need to run a known tool in bulk (for example, label 100 emails), or when you want to call an API via `proxy_execute` because no Composio tool exists for it.

State persists across calls like a Jupyter notebook, and helper functions such as `run_composio_tool` and `invoke_llm` are preloaded. There is a hard 3-minute execution limit per cell, so split work into steps and checkpoint intermediate results to `/mnt/files/`. Do not use it for data you can already see inline.

Input parameters

code_to_executestringRequired

Python to run inside the persistent remote Jupyter sandbox. State (imports, variables, files) is preserved across executions. Keep code concise. Avoid unnecessary comments. Hard 3-minute (180s) execution limit — break large tasks into smaller cells.

thoughtstring

Brief objective for this step.

current_stepstring

Short enum for current step of the workflow execution. Eg FETCHING_EMAILS, GENERATING_REPLIES. Always include to keep execution aligned with the workflow.

current_step_metricstring

Progress metrics for the current step - use to track how far execution has advanced. Format as a string "done/total units" - example "10/100 emails", "0/n messages", "3/10 pages".

session_idstring

Pass the session_id if you received one from a prior COMPOSIO_SEARCH_TOOLS call.

Response

dataobject

Data from the action execution

errorstring

Error if any occurred during the execution of the action

successfulboolean

Whether or not the action execution was successful or not