| flow | No | Dashboard flow diagram: { trigger: {kind, phrase}, steps: [{ primary: {label, domain}, verb }] }. | |
| model | No | Model profile key. Omit for the account default. | |
| proxy | No | Proxy for runs. {source:"WebRun", country?} or {source:"custom", type:"http"|"socks", host, port, username?, password?}. Custom passwords are encrypted at rest and never returned. | |
| title | Yes | Workflow title (shown on the dashboard). | |
| memory | No | The agent's private notebook: shown to it at the start of every run, updated automatically after each run. Seed it ONLY with durable facts the next run must already know — the exact description of a target item (e.g. the specific picture to match), user preferences, known starting state — one short line per fact. Do NOT put task steps here (promptTemplate) or tracking rules here (memoryContract). Most workflows need no seed at all: the agent builds its own notebook as it runs. | |
| skills | No | Workflow-scoped skill entries (dashboard shape). | |
| trigger | No | How the workflow is meant to be invoked (informational — see notes). Defaults to {type:'manual', source:'manual'}. | |
| listType | No | Advanced — defaults automatically ('monitor' when memoryContract is supplied); leave unset. | |
| schedule | No | Saved schedule setting. NOTE: record-only — the workflow does NOT run on a timer until deployed as a scheduled agent (dashboard or Telegram bot). | |
| timezone | No | IANA timezone for runs of this workflow (e.g. "America/New_York"). | |
| department | No | Free-text department label (e.g. "inventory"). | |
| outputType | No | Output contract: 'text' (default), 'structured' (JSON matching outputSchema), 'structured_csv' (rows for the outputSchema column names). | |
| destination | No | Result destination chip: { type, sub, description }. Types seen: 'custom-api', 'slack', 'sheets', 'email', 'messaging', 'telegram', 'crm'. | |
| startingUrl | No | Page Chrome opens at the start of each run. Omit to let the prompt decide. | |
| useCaseTags | No | Categorisation tags. | |
| fileDeferred | No | Dashboard flag: file selection deferred to run time. | |
| outputSchema | No | JSON Schema object (outputType "structured") or array of column-name strings (outputType "structured_csv"). | |
| reachOutMode | No | Proactive-chat policy for runs: 'off', 'guardrail_only', or 'full'. Omit (or pass null) to inherit the account default (MCP-initiated runs treat inherit as 'off'). | |
| wizardPreset | No | Dashboard wizard preset: { technology, useCases[], destination, destinationSub }. | |
| environmentId | No | Rarely needed — OMIT it: the connection's bound environment (or your only environment) is applied automatically. Pass only when the user explicitly names a different environment. Never ask the user to choose. | |
| memoryEnabled | No | Persist per-workflow agent memory across runs (default true). | |
| publicDraftId | No | Dashboard public-draft correlation id. | |
| requiredFiles | No | Per-run file attachments. Each row may name its own environmentId; ownership is enforced per-file at dispatch. | |
| roiHourlyRate | No | Hourly rate for the ROI card. | |
| triggerPhrase | No | Natural-language phrase that invokes this workflow in chat. | |
| memoryContract | No | How this workflow should behave and what it must remember between runs. REQUIRED whenever the task handles each thing once — new messages, forward once, skip anything already done. Write all three fields in plain English, addressed to the agent; the platform wires the tracking itself. Never write any of this into the prompt: the prompt says what to do, this says how to do it consistently. To explicitly disable tracking for a task that looks like it needs it, pass {mode:'none'}. | |
| policyOptedOut | No | Opt this workflow out of the environment's default policy. | |
| promptTemplate | Yes | 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. | |
| refineMessages | No | Dashboard builder refinement thread rows: [{ role, content }]. | |
| variableValues | No | ONLY for explicitly dynamic workflows: default values for {{variables}}, keyed by variable name. NOTE: applied only when triggering via MCP trigger_workflow (merged under caller-supplied variables); REST /trigger and bot triggers ignore this field. | |
| compatibleTools | No | Sites/tools the workflow uses: [{ name, loginUrl, domain, role }]. | |
| conciergeNotify | No | Where the concierge announces results (e.g. 'Telegram', 'Slack', 'WhatsApp', 'Microsoft Teams', 'concierge'). | |
| workListEnabled | No | Advanced — set automatically when memoryContract is supplied; leave unset. | |
| deployedPolicyId | No | Policy id to run under (must be owned by you). | |
| orchestrateFirst | No | Discovery mode: one run gathers the WHOLE work list up front, later runs claim one item each. | |
| shortDescription | No | One-line summary shown in workflow lists. | |
| roiMinutesPerTask | No | Minutes saved per run (dashboard ROI card). | |
| templateVariables | No | ONLY for explicitly dynamic workflows (the user asked for a reusable template): metadata for the {{variables}} used in promptTemplate (drives the dashboard fill-in UI). Omit entirely when the prompt carries concrete values. | |