Skip to main content
Glama

WebRun Browser Automation

Create scheduled agent

create_agent

Create a scheduled agent — a recurring or one-time automation that runs on a timer in a real Chrome browser. Two modes. WORKFLOW MODE: pass workflowId plus a schedule — the platform copies everything else (prompt, starting URL, output contract, model, proxy, policy, files) from the workflow and bakes your variables into the prompt; results and memory stay centralised on the workflow. STANDALONE MODE: omit workflowId and provide name, prompt (a Goal / Ground rules / Stages / Output browsing runbook — see the prompt field description), and a schedule; the connection's environment is used automatically. Ask the user only what it should do and when it should run, in plain language — pick sensible defaults for everything else and state them; never ask about environments or technical settings. Results are delivered to your connected chat and appear in session history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoAgent name. Required standalone; defaults to the workflow title in workflow mode.
memoryNoSTANDALONE MODE: the agent's private notebook, shown to it every run and updated automatically after each run. Seed ONLY durable facts the next run must know (target descriptions, preferences, known state) — one short line each. Task steps belong in prompt, not here. Usually best left empty.
promptNoSTANDALONE MODE (required there): The task the browser agent runs, written as a BROWSING RUNBOOK. Structure it as: `Goal:` — one sentence naming the outcome. `Ground rules (every stage, every turn):` — bullet invariants when the task needs them, e.g. work one item at a time — never batch; only record a figure you can read on screen this turn — if it is not shown record it as "not stated", never estimate; keep a running tally and restate it every turn ("captured C items · written R rows"). Then `Stage N — <Site name> (<https://url>)` — one section per website or phase, listing the concrete steps to take in the browser (open/navigate, click, read, capture, compare, flag) in the order a person would do them, each stage ending with `Done when: <verifiable completion condition>`. Finish with `Output —` stating exactly what to produce or deliver once the final tally is met, including what to say when there is no data (never fabricate a row). When a stage delivers per-recipient (message/email each customer), state the MATCHING RULE in that stage — the identifier shared by the source record and the destination recipient (e.g. the customer name exactly as written in the source, matched against the contact name) — and the no-match branch: skip it and report it, never deliver to a similarly-named near-match. Write the user's CONCRETE values (group names, URLs, numbers) directly into the text; use {{variables}} ONLY when the user explicitly wants a reusable template whose inputs change per run. A short single-site task can be just a Goal plus its steps. PURE TASK ONLY — never write memory bookkeeping into the prompt (no "check memory", "record in memory", "store in memory" steps): tracking is authored in memoryContract and WebRun applies it to every run automatically.
scheduleYesWhen the agent fires. Required.
expiresAtNoISO 8601 date-time after which the agent auto-pauses (recurring schedules).
variablesNoWORKFLOW MODE, and only when the workflow's prompt actually contains {{variables}}: values for them, BAKED IN at deploy and reused every run (stored variableValues defaults fill gaps). Every template variable must be covered — an unattended agent cannot ask later. Workflows with concrete prompts need nothing here.
outputTypeNoSTANDALONE MODE: output contract (same rules as create_workflow).
workflowIdNoWORKFLOW MODE: 24-hex id of the workflow to deploy (from list_workflows). The prompt, starting URL, output contract, model, proxy, policy, and files are all copied from it.
startingUrlNoSTANDALONE MODE: page Chrome opens at the start of each run.
outputSchemaNoSTANDALONE MODE: JSON Schema object (structured) or column-name array (structured_csv).
environmentIdNoSTANDALONE MODE, rarely needed — OMIT it: the connection-bound environment (or your only one) is applied automatically; never ask the user to choose. Workflow mode always uses the workflow's deployed environment.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes
nameYes
notesNo
agentIdYes
successYes
scheduleNoHumanized schedule
timezoneNo
workflowNoPresent in workflow mode: the workflow this agent was deployed from
nextRunAtNoISO 8601 timestamp of the first fire

TDQS

A4.5/5.0
Behavior4/5

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

The description adds substantial behavioral context beyond the annotations: it discloses that results and memory 'stay centralised on the workflow' in workflow mode, that the connection-bound environment 'is applied automatically,' that results are 'delivered to your connected chat and appear in session history,' and that variables are 'BAKED IN at deploy and reused every run.' The mutate/hint annotations (readOnlyHint=false) agree with the 'Create' action, so there is no contradiction. The only light gap is that it doesn't explicitly state idempotency/non-idempotency consequences, but the annotations carry that.

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

Conciseness4/5

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

The description is long but well-structured with clear section markers (WORKFLOW MODE / STANDALONE MODE) and front-loads the core purpose before the mode breakdown. Each sentence earns its place given the tool's genuine complexity (two modes, 11 parameters). It is not bloated — the length tracks the complexity, though it could be trimmed slightly by moving some prompt-authoring detail into the schema param description.

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 11 parameters, a nested schedule object, and an output schema that relieves the description of explaining returns, the description covers the mode logic, required-vs-optional parameters per mode, edge cases (variables only when {{variables}} exist, memory 'usually best left empty', environmentId omit), and agent interaction expectations. Nothing an agent needs to call it correctly is missing; one could argue for 5, but the very long prompt-format digression slightly dilutes the tool-level focus.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description goes beyond by clarifying mode-dependent semantics: 'name... Required standalone; defaults to the workflow title in workflow mode,' variables only apply 'when the workflow's prompt actually contains {{variables}},' and 'environmentId... OMIT it... never ask the user to choose.' The prompt field also gets a detailed runbook structure. This adds meaningful usage nuance that the schema alone doesn't convey.

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

Purpose5/5

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

The description opens with a concrete verb+resource: 'Create a scheduled agent — a recurring or one-time automation that runs on a timer in a real Chrome browser.' This clearly distinguishes it from siblings like create_workflow, trigger_workflow, and browser_task by foregrounding the timer/scheduled aspect, and it immediately breaks down the two modes (workflow vs standalone), leaving no ambiguity about what the tool does.

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

Usage Guidelines5/5

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

The description explicitly states when each mode applies: 'WORKFLOW MODE: pass workflowId plus a schedule' vs 'STANDALONE MODE: omit workflowId and provide name, prompt... and a schedule.' It also gives agent-level behavioral guidance on what to ask the user ('only what it should do and when it should run... never ask about environments or technical settings'). It names the source for workflow ids (list_workflows). While it doesn't explicitly say 'use X instead of this tool', the mode selection criteria fully cover the routing logic.

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