Skip to main content
Glama

WebRun Browser Automation

Send task to session

send_task
Destructive

Send a new task to an existing browser session (from create_session). The real Chrome browser may navigate, fill forms, and submit data on third-party websites as the task requires.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesNoOptional file IDs to attach (from /files/upload). Max 5 files.
promptYesTask description
secretsNoDomain-matched secrets [{match, fields}] (not stored)
webhookNoWebhook configuration
sessionIdYesSession ID from create_session
outputTypeNoResponse format
maxDurationNoMax duration for this task in minutes (3-60). Defaults to the value the session was created with.
startingUrlNoURL to navigate to before starting this task (optional)
outputSchemaNoJSON Schema for structured output (required if outputType is structured_json)
maxInputTokensNoMax input tokens for this task (100-3000000). Defaults to the value the session was created with.
maxOutputTokensNoMax output tokens for this task (100-1000000). Defaults to the value the session was created with.
terminateOnCompletionNoAuto-terminate after task (default: false)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoTask output payload (instance-authored shape)
typeNoResult type, e.g. 'task_completed', 'task_failed', 'guardrail_trigger'
errorNo
statusNoPresent on guardrail results: 'awaiting_input'
taskIdNo
messageNo
pendingNoTrue when the task is still running — poll get_task_status
successNo
sessionIdNo
environmentNo
liveViewURLNoPage for watching the run live, present while it is still running or awaiting input. The only URL here that is safe to show a user or open in a browser.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true, so the agent knows this is a side-effectful, open-world operation. The description adds valuable context: 'The real Chrome browser may navigate, fill forms, and submit data on third-party websites as the task requires.' This goes beyond the annotations by specifying actual behaviors, which helps the agent anticipate side effects. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, followed by a contextual note about browser behavior. Every word earns its place; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the schema covers all parameters and an output schema exists to define return values, the description provides the essential context: the purpose and the real-browser behavior that may have side effects. It could mention prerequisites like needing a valid session ID from create_session, but that is implied and captured in the schema. The description is sufficiently complete for an agent to understand what the tool does and what to expect, though it could briefly mention state changes or error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage for all 12 parameters, each with descriptive text. The description itself does not add any additional meaning to the parameters beyond what the schema already states. Since the schema covers everything, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends a new task to an existing browser session, tying it to create_session. It specifies the verb 'send' and the resource 'task'. However, it does not explicitly differentiate from potentially similar tools like browser_task or create_workflow, relying on the context of 'existing session' to distinguish. This is clear but could be more explicit about its unique role among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: use for existing sessions created via create_session. This implies a workflow where create_session precedes this tool. However, it does not provide any exclusions or mention when to use alternative tools, such as browser_task for direct browsing or create_workflow for multi-step tasks. The context is clear but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: browser_task vs create_session differentiate one-off vs persistent sessions, trigger_workflow is explicitly separated from generic task execution, and the pause/resume/stop/terminate actions are scoped to either agents or session tasks. There is no overlap where an agent could mis-select between tools.

Naming Consistency4/5

The vast majority follow a consistent verb_noun pattern (create_, list_, get_, pause_, resume_, stop_, terminate_, trigger_, update_, send_). Two tools deviate: browser_task (noun_verb) and guardrail_response (noun), but these are minor and still readable within the overall convention.

Tool Count4/5

21 tools is on the higher end but justified by the domain covering three distinct resource types (sessions, workflows, agents) plus environments and status/guardrail handling. It is slightly heavy but each tool serves a clear purpose without redundancy.

Completeness3/5

Core lifecycle operations are covered for sessions (create, list, terminate, send task, pause/resume/stop task) and workflows (create, get, list, update, trigger). However, there are notable gaps: no delete operations for workflows or agents (only pause/resume for agents, and no delete_workflow), and no dedicated get_agent detail endpoint. These omissions could force agents to work around missing functionality.

Resources