Task Setup Tools

Let your agent manage work across the same scope mid-run: update tasks, inspect live runs, answer approval prompts, connect integrations, rotate webhooks, and write memories.

Task setup tools are enabled by default. Pass task_setup_tools=False to opt out for a specific run. The feedback tool is also enabled by default. Pass feedback=False when you do not want the run to expose the internal issue-reporting tool (report_issue).

Saved tasks also accept both task_setup_tools and feedback on run creation.

Permissions

Task setup tools follow the normal permission flow for the run's permission mode. In autonomous mode, all run without interruption. In approval or plan mode, each tool call follows the standard permission flow.

See Human-in-the-Loop for handling approval callbacks.

Canonical tools

Older current-only tool names still work for compatibility, but the canonical interface is the merged tool surface below.

Read and inspect

ToolWhat it doesWhen to reach for it
list_teammatesList teammates in the current same scope.Mapping the workspace before orchestrating work, or finding which teammate handles a domain.
list_tasksList tasks for the current or a targeted teammate.Checking what recurring work already exists before creating a duplicate, or finding a task_id to pass to start_task_run.
list_runsInspect active or historical runs across teammates and tasks in the same scope.Before starting work to check if a recent run has relevant output. As an orchestrator to scan for stalled or failed runs.
get_run_detailsDrill into a run's output, messages, pending approvals, and optional file metadata.Diagnosing why a run stalled, reading output from a dependency, or checking whether another run has pending approvals you can unblock.
read_run_file_previewPreview text-like files created during another run.Reading a report or CSV from a previous run before deciding what to do next.

Tasks and schedules

ToolWhat it doesWhen to reach for it
create_taskCreate a task for the current teammate or an explicit teammate.The user asks to automate something recurring — create a proper task so it can be scheduled, tracked, and improved over time.
update_taskEdit task fields or change status to enabled, disabled, or archived.After completing work successfully, record what you did and how you solved it so future runs start with that context instead of rediscovering it.
set_task_scheduleCreate, replace, edit, pause, or resume a task schedule.The user asks to do something on a recurring basis — set the schedule yourself rather than telling them to configure it manually.
start_task_runStart a saved task in the background.Finishing your part of a multi-step workflow to trigger the next step automatically, or restarting a task that stalled.
cancel_runCancel an active same-scope run.A run is stuck, running with bad inputs, or superseded by a newer run.

Teammates, inboxes, and integrations

ToolWhat it doesWhen to reach for it
update_teammateEdit teammate fields and inbound email sender rules.Saving general learnings that apply across all tasks. For task-specific learnings, use update_task instead.
get_or_create_teammate_email_inboxEnable or return a teammate inbox address.Setting up email-triggered runs — enable the inbox once, then return the address.
get_or_create_task_webhookCreate or rotate a task webhook trigger URL.Wiring an external system to trigger this task.
add_integrationAttach an already-connected integration to a teammate, and optionally to a task.After connecting a new app, attach it to the relevant teammates so future runs can use it.

Run input, webhooks, and memories

ToolWhat it doesWhen to reach for it
respond_to_run_inputApprove or deny a pending tool call, or answer an AskUserQuestion prompt.As an orchestrator, unblocking runs waiting for approval you can safely grant, or answering questions from other agents mid-run.
create_or_update_outbound_webhookRegister or update a webhook endpoint to receive run events.Setting up downstream notifications so another system is alerted when runs complete or fail.
rotate_outbound_webhook_secretRotate the signing secret for an outbound webhook. The new secret is shown once.After a suspected secret leak or for scheduled key rotation.
list_webhook_deliveriesList recent deliveries for a webhook endpoint.Debugging why a downstream system is not receiving run events.
create_or_update_memoryWrite or update a persistent memory in the current user or end-user scope.Whenever you discover a stable fact that should persist: account IDs, API details, preferred formats, key contacts. Don't wait to be asked — save it.
start_app_oauth_connectionStart an OAuth flow to connect an app such as Google or Slack.The user asks to connect an integration — return the URL directly instead of pointing them to settings.
connect_api_key_appConnect an app that uses an API key.The user provides a key and wants to wire up a new integration.
disconnect_appRevoke an app connection in the current account scope.Cleaning up an unused or compromised integration.

Example: self-improving task

An agent completes work, then updates the task instructions to record its approach — so the next run skips discovery entirely.

Python

Example: self-scheduling agent

An agent sets its own schedule during the first run — no manual setup needed.

Python

Example: persistent memory

An agent discovers a useful fact mid-run and saves it so future runs skip the lookup.

Python

Example: hourly manager

A manager teammate scans all active runs, unblocks approvals, and restarts stalled tasks — fully autonomously.

Python

Example: multi-step pipeline

An agent finishes step one and triggers the next task directly — no webhook or polling needed.

Python

Scope

Task setup tools are scoped to the same account and same end-user scope. Agents can inspect and manage other teammates, tasks, and runs in that same scope, but cannot cross into a different end-user scope.

When user_id (end-user scope) is set on the run, memory and integration operations are further isolated to that end-user. See Users.