Workflow Validation Errors
This page documents all validation error codes that can occur when creating or updating a workflow. Each error includes a description, common causes, and how to fix it.
Error Code Reference
Structure Errors (STRUCT)
STRUCT-001: Workflow Required
Message: The 'workflow' section is required at the root of your YAML document.
Cause: The workflow YAML document is missing the required workflow section.
Solution: Add a workflow section at the root level with at minimum name and workflowId properties:
workflow:
name: "My Workflow"
workflowId: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
STRUCT-002: Workflow Name Required
Message: The workflow 'name' property is required.
Cause: The workflow section is missing the name property.
Solution: Add a descriptive name to your workflow:
workflow:
name: "Send Order Confirmation Email"
workflowId: "..."
STRUCT-003: WorkflowId Required
Message: The 'workflowId' property is required and must be a valid GUID.
Cause: The workflow section is missing the workflowId property.
Solution: Generate a unique GUID and add it to your workflow:
workflow:
name: "My Workflow"
workflowId: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Use an online GUID generator or your IDE's built-in tools to create a unique identifier.
STRUCT-004: Priority Out of Range
Message: The workflow priority value is out of range. Priority must be between 0 and 100.
Cause: The priority property contains a value outside the valid range (0-100).
Solution: Set priority to a value between 0 (lowest) and 100 (highest):
workflow:
name: "My Workflow"
workflowId: "..."
priority: 50 # Default priority
STRUCT-005: Activity Name Required
Message: Activity name is required.
Cause: An activity in the activities array is missing the name property.
Solution: Add a unique name to each activity:
activities:
- name: "Send Notification"
steps:
- task: SendEmail@1
STRUCT-006: Duplicate Activity Name
Message: Duplicate activity name found.
Cause: Two or more activities have the same name.
Solution: Ensure each activity has a unique name. Activity names are used to reference outputs:
activities:
- name: "Validate Order" # Unique
steps: [...]
- name: "Send Email" # Unique
steps: [...]
STRUCT-007: Activity Steps Required
Message: Activity must have at least one step in the 'steps' array.
Cause: An activity has no steps defined or the steps property is missing.
Solution: Add at least one step to each activity:
activities:
- name: "My Activity"
steps:
- task: MyTask@1
inputs:
param1: "value"
Trigger Errors (TRIGGER)
TRIGGER-001: Invalid Trigger Type
Message: Invalid trigger type. Valid types: Entity, Manual.
Cause: The type property contains an unsupported value.
Solution: Use either Entity or Manual as the trigger type:
triggers:
- type: Entity # Triggered by database changes
entityName: Order
eventType: Modified
position: After
- type: Manual # Triggered by user action or API
TRIGGER-002: EntityName Required
Message: The 'entityName' property is required for Entity triggers.
Cause: An Entity trigger is missing the required entityName property.
Solution: Specify which entity should trigger the workflow:
triggers:
- type: Entity
entityName: Order # Required for Entity type
eventType: Modified
position: After
TRIGGER-003: Invalid Event Type
Message: Invalid event type. Valid types: Added, Modified, Deleted.
Cause: The eventType property contains an unsupported value.
Solution: Use one of the valid event types:
triggers:
- type: Entity
entityName: Order
eventType: Added # When entity is created
# eventType: Modified # When entity is updated
# eventType: Deleted # When entity is removed
TRIGGER-004: Invalid Position
Message: Invalid trigger position. Valid positions: Before, After.
Cause: The position property contains an unsupported value.
Solution: Use either Before or After:
triggers:
- type: Entity
entityName: Order
eventType: Modified
position: After # Executes after database save
# position: Before # Executes before save (Sync mode only)
Before triggers must use executionMode: Sync. Async workflows cannot have Before triggers.
Task Errors (TASK)
TASK-001: Task Name Required
Message: The 'task' property is required for each step.
Cause: A step in the workflow is missing the task property.
Solution: Specify a task handler or control flow task:
steps:
- task: SendEmail@1 # Task handler
inputs:
to: "{{customer.email}}"
- task: foreach # Control flow task
collection: items
steps: [...]
TASK-002: Invalid Task Name Format
Message: Invalid task name format. Expected format: TaskName or TaskName@Version.
Cause: The task name doesn't follow the required naming pattern.
Valid Formats:
TaskName- Uses latest versionTaskName@1- Uses specific versionNamespace/TaskName@1- Namespaced task with version
Examples:
steps:
- task: SendEmail@1 # Valid
- task: Order/Create@1 # Valid
- task: NovaPoshta/Tracking@2 # Valid
- task: foreach # Valid (control flow)
- task: Task@ # Invalid - missing version number
- task: Task@abc # Invalid - version must be integer
TASK-003: Task Handler Not Found (Warning)
Message: Task handler not found in the system.
Cause: The specified task handler is not registered in the system.
Solution:
- Verify the task name spelling
- Check the task version exists
- Ensure the required module is installed
- See the Workflow Tasks documentation for available tasks
Control Flow Errors (CTRL)
CTRL-001: Foreach Collection Required
Message: The 'collection' property is required for 'foreach' tasks.
Cause: A foreach task is missing the collection property.
Solution: Specify the collection to iterate over:
- task: foreach
collection: order.commodities # Required
item: commodity # Optional (default: "item")
steps:
- task: ProcessCommodity@1
inputs:
data: "{{commodity}}"
CTRL-002: Foreach Steps Required
Message: The 'steps' array is required for 'foreach' tasks.
Cause: A foreach task has no steps defined.
Solution: Add steps to execute for each item:
- task: foreach
collection: items
steps: # Required
- task: ProcessItem@1
inputs:
item: "{{item}}"
CTRL-003: Switch Cases Required
Message: The 'cases' array is required for 'switch' tasks.
Cause: A switch task has no cases defined.
Solution: Define at least one case with conditions:
- task: switch
cases: # Required
- when:
- expression: "[status] == 'shipped'"
steps:
- task: SendShippedEmail@1
default: # Optional
- task: SendDefaultEmail@1
CTRL-004: Switch Case When Required
Message: The 'when' condition array is required for switch case.
Cause: A switch case is missing the when conditions.
Solution: Add conditions that determine when the case executes:
cases:
- when: # Required
- expression: "[order.status] == 'shipped'"
steps:
- task: NotifyCustomer@1
CTRL-005: Switch Case Steps Required
Message: The 'steps' array is required for switch case.
Cause: A switch case has no steps to execute.
Solution: Define steps for each case:
cases:
- when:
- expression: "[status] == 'active'"
steps: # Required
- task: ProcessActive@1
CTRL-006: While Conditions Required
Message: The 'conditions' array is required for 'while' tasks.
Cause: A while task has no conditions defined.
Solution: Define conditions that control loop continuation:
- task: while
conditions: # Required
- expression: "[counter] < 10"
steps:
- task: IncrementCounter@1
Always ensure your conditions will eventually become false, or use maxIterations to prevent infinite loops (default: 10,000).
CTRL-007: While Steps Required
Message: The 'steps' array is required for 'while' tasks.
Cause: A while task has no steps defined.
Solution: Add steps to execute on each iteration:
- task: while
conditions:
- expression: "[hasMore]"
steps: # Required
- task: FetchNextPage@1
- task: ProcessPage@1
Expression Errors (EXPR)
EXPR-001: Invalid Expression Syntax
Message: Invalid NCalc expression syntax.
Cause: The expression in a condition has syntax errors.
Common Issues:
- Unbalanced parentheses or brackets
- Unclosed string literals
- Missing operands
- Invalid operators
Valid Expression Examples:
conditions:
- expression: "[order.status] == 'shipped'"
- expression: "[amount] > 100 AND [status] = 'active'"
- expression: "isNullOrEmpty([customer.email]) = false"
- expression: "count([items]) > 0"
- expression: "any([tags], [each] = 'priority')"
Invalid Expressions:
# Missing closing parenthesis
- expression: "count([items]"
# Incomplete comparison
- expression: "[status] == "
# Unbalanced brackets
- expression: "[order.status == 'shipped'"
See Workflow Expressions for complete syntax documentation.
EXPR-002: Invalid Template Syntax
Message: Invalid template variable syntax.
Cause: A template expression {{variable}} has syntax errors.
Common Issues:
- Unbalanced braces
- Empty template
{{}} - Triple braces
{{{}}}
Valid Templates:
inputs:
to: "{{customer.email}}"
subject: "Order {{order.id}} shipped"
body: "Hello {{contact.firstName}}"
Invalid Templates:
# Unclosed braces
to: "{{customer.email"
# Empty variable
subject: "Order {{}}"
# Triple braces (not allowed)
body: "{{{data}}}"
Output Errors (OUTPUT)
OUTPUT-001: Output Name Required
Message: Output name is required.
Cause: An output in the outputs array is missing the name property.
Solution: Add a name to identify each output:
outputs:
- name: result # Required
mapping: "{{Activity.Task.response}}"
- name: document
mapping: "{{GenerateDoc.file}}"
Input Errors (INPUT)
INPUT-001: Input Name Required
Message: Input name is required.
Cause: An input in the inputs array is missing the name property.
Solution: Add a name to identify each input parameter:
inputs:
- name: orderId # Required
type: integer
required: true
- name: sendEmail
type: boolean
default: true
Schedule Errors (SCHED)
SCHED-001: Invalid Cron Expression
Message: Invalid cron expression.
Cause: The cron expression doesn't follow the standard format.
Cron Format: minute hour day-of-month month day-of-week
Valid Examples:
schedules:
- cron: "0 0 * * *" # Midnight daily
- cron: "*/15 * * * *" # Every 15 minutes
- cron: "0 9 * * 1-5" # 9 AM weekdays
- cron: "0 0 1 * *" # First day of month
Field Ranges:
| Field | Values |
|---|---|
| Minute | 0-59 |
| Hour | 0-23 |
| Day of month | 1-31 |
| Month | 1-12 |
| Day of week | 0-6 (Sunday=0) |
Use crontab.guru to build and validate cron expressions.
YAML Errors (YAML)
YAML-001: YAML Empty
Message: The workflow YAML document is empty.
Cause: No content was provided in the workflow definition.
Solution: Provide a valid YAML workflow definition.
YAML-002: YAML Parse Error
Message: Failed to parse YAML document.
Cause: The YAML has syntax errors such as:
- Incorrect indentation
- Missing colons
- Invalid characters
- Unquoted special characters
Solution: Validate your YAML syntax. Common fixes:
- Use consistent indentation (2 spaces recommended)
- Quote strings containing special characters
- Ensure colons have proper spacing
# Correct
workflow:
name: "My Workflow: Special Edition" # Quoted due to colon
# Incorrect
workflow:
name: My Workflow: Special Edition # Unquoted colon causes error
Flow Workflow Errors (FLOW)
Flow workflows have additional validation rules specific to state machine configurations.
FLOW-001: Entity Required
Message: The 'entity' section is required for Flow workflows.
Cause: A Flow workflow is missing the entity configuration.
Solution: Add the entity section specifying what entity the flow manages:
workflow:
workflowType: Flow
# ...
entity:
name: "Order"
type: "ParcelShipment"
FLOW-002: Entity Name Required
Message: The 'entity.name' property is required.
Cause: The entity section is missing the name property.
Solution: Specify the entity name:
entity:
name: "Order" # Required
type: "ParcelShipment"
FLOW-003: Invalid Entity Name
Message: Invalid entity name. Valid entity names are: Order, Commodity, AccountingTransaction, Contact, Workflow, OrganizationConfig, AppModule, Attachment, OrderCommodity, TrackingEvent, JobOrder.
Cause: The entity name is not a supported entity type for Flow workflows.
Solution: Use one of the valid entity names listed in the error message.
FLOW-004: Entity Type Required
Message: The 'entity.type' property is required for certain entities.
Cause: The entity requires a type but none was specified. Required for: Order, AccountingTransaction, Contact.
Solution: Add the appropriate type:
entity:
name: "Order"
type: "ParcelShipment" # Required for Order
# Or for AccountingTransaction:
entity:
name: "AccountingTransaction"
type: "Invoice" # Required: Invoice, Bill, or CreditMemo
# Or for Contact:
entity:
name: "Contact"
type: "Customer" # Required: Customer, Carrier, Vendor, etc.
FLOW-005: Invalid Entity Type
Message: Invalid entity type for the specified entity.
Cause: The entity type value is not valid for the specified entity.
Valid Order Types:
- Order, Quote, WarehouseReceipt, Purchase, ParcelShipment
- AirShipmentOrder, OceanShipmentOrder, CargoMovement, EntityType
- PickupOrder, LoadOrder, BookingOrder, Freight, DeliveryOrder
Valid AccountingTransaction Types:
- Invoice, Bill, CreditMemo
Valid Contact Types:
- Customer, Carrier, Vendor, Contact, Driver, Employee
- SalesPerson, ForwardingAgent, FactoringCompany, Lead
- PoolPoint, DistributionCenter, Store, ContactUser, USPPI
Solution: Use a valid type for your entity:
entity:
name: "Order"
type: "ParcelShipment" # Valid Order type
FLOW-010: Multiple Initial States
Message: Found multiple initial states. A Flow workflow can have at most one initial state.
Cause: More than one state has isInitial: true.
Solution: Ensure only one state is marked as initial:
states:
- name: "Draft"
isInitial: true # Only one state should have this
- name: "Active"
# isInitial: false # Other states should not be initial
FLOW-011: State Parent Not Found
Message: Parent state not found in states list.
Cause: A state references a parent that doesn't exist.
Solution: Ensure the parent state is defined:
states:
- name: "Active" # Parent must exist
- name: "Pending"
parent: "Active" # References existing parent
FLOW-012: Parent State Cannot Be Initial
Message: A parent state cannot be marked as initial.
Cause: A state that is used as a parent for other states also has isInitial: true.
Solution: Only leaf states (states without children) can be initial:
states:
- name: "Active"
# isInitial: true # Cannot be initial - it's a parent
- name: "Pending"
parent: "Active"
isInitial: true # Leaf state can be initial
FLOW-013: Parent State Cannot Be Final
Message: A parent state cannot be marked as final.
Cause: A state that is used as a parent for other states also has isFinal: true.
Solution: Only leaf states can be final.
FLOW-014: State Name Required
Message: State name is required.
Cause: A state is missing the name property.
Solution: Add a name to each state:
states:
- name: "Draft" # Required
isInitial: true
FLOW-015: Duplicate State Name
Message: Duplicate state name found.
Cause: Two or more states have the same name.
Solution: Ensure each state has a unique name.
FLOW-020: Transition From State Not Found
Message: Source state not found in states list.
Cause: A transition's from references a state that doesn't exist.
Solution: Ensure the source state exists:
states:
- name: "Draft"
- name: "Active"
transitions:
- name: "activate"
from: "Draft" # Must exist in states
to: "Active"
FLOW-021: Transition To State Not Found
Message: Target state not found in states list.
Cause: A transition's to references a state that doesn't exist.
Solution: Ensure the target state exists in the states list.
FLOW-022: Transition To State Must Be Leaf
Message: Transitions must target leaf states (states without children).
Cause: A transition targets a parent state instead of a leaf state.
Solution: Target a specific leaf state:
states:
- name: "Active" # Parent state
- name: "Pending"
parent: "Active" # Leaf state
transitions:
- name: "start"
from: "Draft"
to: "Pending" # Target leaf, not "Active"
FLOW-023: Invalid Transition Trigger
Message: Invalid trigger type. Valid triggers: auto, manual, event.
Cause: The transition trigger is not a valid value.
Solution: Use a valid trigger type:
transitions:
- name: "auto_transition"
trigger: "auto" # Automatic when conditions met
- name: "user_action"
trigger: "manual" # User-initiated
- name: "on_event"
trigger: "event" # External event (requires eventName)
eventName: "order.shipped"
FLOW-024: Event Name Required
Message: The 'eventName' property is required when trigger is 'event'.
Cause: A transition with trigger: event is missing the eventName property.
Solution: Add the event name:
transitions:
- name: "on_shipment"
trigger: "event"
eventName: "order.shipped" # Required for event triggers
FLOW-025: Transition Name Required
Message: Transition name is required.
Cause: A transition is missing the name property.
Solution: Add a unique name to each transition.
FLOW-026: Duplicate Transition Name
Message: Duplicate transition name found.
Cause: Two or more transitions have the same name.
Solution: Ensure each transition has a unique name.
FLOW-030: Aggregation Name Required
Message: Aggregation name is required.
Cause: An aggregation is missing the name property.
Solution: Add a name to each aggregation:
aggregations:
- name: "allDelivered" # Required
expression: "all([Order.Commodities], [each.Status] = 'Delivered')"
FLOW-031: Aggregation Expression Required
Message: Aggregation expression is required.
Cause: An aggregation is missing the expression property.
Solution: Add an expression using a valid aggregation function.
FLOW-032: Invalid Aggregation Function
Message: Invalid aggregation function. Valid functions: all, any, sum, count, first, last, distinct, groupBy.
Cause: The aggregation expression uses an unsupported function.
Solution: Use one of the supported functions:
aggregations:
- name: "allDelivered"
expression: "all([Items], [each.Status] = 'Done')"
- name: "hasActive"
expression: "any([Items], [each.Active] = true)"
- name: "totalAmount"
expression: "sum([Charges], [each.Amount])"
- name: "itemCount"
expression: "count([Items])"
FLOW-033: Duplicate Aggregation Name
Message: Duplicate aggregation name found.
Cause: Two or more aggregations have the same name.
Solution: Ensure each aggregation has a unique name.
MCP Workflow Errors (MCP)
MCP workflows (workflowType: McpTool, McpResource, or McpPrompt) have additional validation rules for the mcp configuration section. See Workflow MCP Server for the full type documentation.
MCP-001: MCP Section Required
Message: The 'mcp' section is required for McpTool / McpResource / McpPrompt workflows.
Cause: The workflow is typed McpTool, McpResource, or McpPrompt but has no mcp configuration section.
Solution: Add the mcp section with a tool or prompt name (McpTool / McpPrompt) or resource URI (McpResource):
workflow:
workflowType: McpTool
# ...
mcp:
name: "get_order_status"
description: "Look up an order's current status"
MCP-002: Tool/Prompt Name Required
Message: The 'mcp.name' property is required for McpTool / McpPrompt workflows.
Cause: An McpTool or McpPrompt workflow is missing the mcp.name property.
Solution: Add a tool or prompt name, e.g. name: "get_order_status".
MCP-003: Tool/Prompt Name Invalid
Message: Invalid MCP tool or prompt name. Names must match ^[a-zA-Z0-9_-]{1,64}$.
Cause: The tool or prompt name contains characters other than letters, digits, underscores, and dashes, or is longer than 64 characters.
Solution: Use a short snake_case name:
mcp:
name: "get_order_status" # valid
# name: "get order status" # invalid: contains spaces
MCP-004: Resource URI Required
Message: The 'mcp.uri' property is required for McpResource workflows.
Cause: An McpResource workflow is missing the mcp.uri property.
Solution: Add a resource URI, e.g. uri: "tms://docs/shipping-terms".
MCP-005: Resource URI Invalid
Message: Invalid MCP resource URI. The URI must be absolute and include a scheme.
Cause: The resource URI does not explicitly include a scheme. Filesystem-style paths are
rejected consistently on every operating system, even where the platform URI parser would
otherwise interpret them as absolute file: URIs.
Solution: Use an absolute URI with a scheme:
mcp:
uri: "tms://docs/shipping-terms" # valid
# uri: "/docs/shipping-terms" # invalid: no explicit scheme
# uri: "C:\\docs\\shipping-terms" # invalid: filesystem path, not a spelled-out URI
MCP-006: Timeout Invalid
Message: The 'mcp.timeout' property must be zero (use default) or a positive number of seconds.
Cause: The mcp.timeout value is negative.
Solution: Remove the property to use the default (60 seconds), or set a positive number.
MCP-007: Must Be Sync
Message: McpTool / McpResource / McpPrompt workflows must use Sync execution mode.
Cause: The workflow's executionMode is not Sync. MCP clients wait synchronously for tool results, resource content, and prompt messages.
Solution: Set the execution mode:
workflow:
executionMode: "Sync"
Agent Workflow Errors (AGT)
Agent workflows (workflowType: Agent) have additional validation rules for the agent configuration section. See Workflow: Agent Type for the full type documentation.
AGT-001: Agent Section Required
Message: The 'agent' section is required for Agent workflows.
Cause: workflowType: Agent with no agent: block.
Solution: Add agent: with at least instructions:
workflow:
workflowType: Agent
executionMode: Sync
agent:
instructions: "You are an operations analyst. Investigate the order and call set_result with your findings."
AGT-002: Instructions Required
Message: agent.instructions is required.
Cause: Empty or missing instructions.
Solution: Describe the role, what to check, and when to call set_result:
agent:
instructions: |
You are an operations analyst. Load the order, check for delays,
then call set_result with an action and a reason.
AGT-003: Must Be Sync
Message: Agent workflows must use executionMode: Sync.
Cause: executionMode: Async.
Solution: Set executionMode: Sync; callers wait for the result:
workflow:
workflowType: Agent
executionMode: Sync
AGT-004: Activities Not Allowed
Message: Agent workflows do not have 'activities'.
Cause: An activities: list on an Agent workflow.
Solution: Move the logic into a separate workflow and reference it under agent.tools:
agent:
instructions: "..."
tools:
- workflow: "Orders / Load Order Detail"
instructions: "Call first to load the order before reasoning."
# activities: [...] # not allowed on an Agent workflow
AGT-005: Session Type Invalid
Message: agent.session.type '...' is not valid.
Cause: A value other than task or chat.
Solution: Use task or chat:
agent:
session:
type: task
AGT-006: Session Limits Invalid
Message: maxTurns must be between 1 and 100; timeout must be positive.
Cause: Out-of-range maxTurns or non-positive timeout.
Solution: Set maxTurns between 1 and 100, and timeout to a positive number of seconds:
agent:
session:
maxTurns: 25 # 1-100, default 20
timeout: 300 # seconds, default 300
AGT-007: Tool Workflow Required
Message: agent.tools[].workflow is required.
Cause: A tool entry without workflow.
Solution: Give the workflow name or workflowId:
agent:
tools:
- workflow: "MCP / Get Order Status"
instructions: "Call first to load the order before reasoning."
This only checks that workflow is present. Whether the named workflow actually exists is resolved when the agent runs, not when the YAML is saved.
AGT-008: Result Schema Invalid
Message: agent.result must be a JSON Schema with type: object.
Cause: result.type missing or not object.
Solution: Declare result: { type: object, properties: ..., required: ... }:
agent:
result:
type: object
properties:
action: { type: string }
reason: { type: string }
required: [action, reason]
AGT-009: Peer Invalid
Message: agent.agents[] entries need exactly one of 'agent' or 'url'; modes must be task or chat.
Cause: Both or neither of agent/url, or an unknown mode.
Solution: Use one of agent (internal) or url (remote A2A), and only task/chat values in modes:
agent:
agents:
- agent: "Agents / Rate Lookup"
modes: ["task", "chat"]
- url: "https://partner.example.com/.well-known/agent.json"
modes: ["task"]
AGT-010: Tool Mode Invalid
Message: agent.tools[].mode '...' is not valid. Use 'auto' or 'approval'.
Cause: A tools[] entry's mode is set to something other than auto or approval (matching is case-insensitive, so Auto/APPROVAL are fine; only an unrecognized value fails).
Solution: Omit mode (defaults to auto) or set it to auto or approval:
agent:
tools:
- workflow: "Orders / Get Status" # auto: runs immediately
- workflow: "Orders / Cancel Shipment"
mode: approval # waits for a person to approve each call
See Tool Approval for what approval mode does at run time.
Browser Task Errors (BROWSER)
The Browser/Run task validates its actions list when the workflow is saved. See Browser Tasks for the full contract.
BROWSER-001: Actions Required
Message: Browser/Run requires an 'actions' input: a non-empty list of action objects, each with a 'do' verb.
Cause: The actions input is missing, is not a list, or is empty.
Solution: Provide at least one action:
- task: "Browser/Run@1"
inputs:
allowedDomains: ["portal.example.com"]
actions:
- do: goto
url: https://portal.example.com/
BROWSER-002: Invalid Action
Message: Each browser action must be an object with a 'do' verb and the fields that verb needs. Or: Unknown browser action key.
Cause: An entry in actions is not an object, or it uses a key outside do, target, value, url, query, file, attribute, as, if, sensitive, timeout, instructions, model, maxTurns, all.
Solution: Write each action as an object and remove unknown keys. selector is not a key; use target.
BROWSER-003: Unknown Verb
Message: Unknown browser verb.
Cause: do is not one of goto, click, fill, press, selectOption, check, uncheck, hover, waitFor, waitForNavigation, extractText, extractAttribute, extractTable, extractUrl, screenshot, uploadFile, download, llm/act.
Solution: Use one of the listed verbs. Verbs are case-sensitive (selectOption, not selectoption).
BROWSER-004: Required Field Missing
Message: '<field>' is required for the '<verb>' action.
Cause: A field the verb needs is absent: url for goto; target for locator verbs; value for fill, press and selectOption; as for extract verbs, screenshot and download; attribute for extractAttribute; file with exactly one of url or path for uploadFile; instructions for llm/act.
Solution: Add the missing field.
BROWSER-005: Field Not Allowed
Message: '<field>' is not allowed on the '<verb>' action.
Cause: target, value, url, query, file, attribute or all on an llm/act action, or instructions, model or maxTurns on any other verb.
Solution: Remove the field. llm/act works the whole page from instructions; the other verbs never take model settings.
BROWSER-006: Invalid Locator
Message: 'target' must be static text starting with one of css=, xpath=, text=, label=, placeholder=, role=.
Cause: The target has no locator prefix (for example #login) or contains a template expression.
Solution: Prefix the locator and keep it static:
- do: click
target: "css=#login"
- do: fill
target: "label=Email"
value: "{{ email }}" # templates belong in value, not target
BROWSER-007: Invalid maxTurns
Message: 'maxTurns' must be an integer between 1 and 20.
Cause: maxTurns on an llm/act action is out of range or not an integer.
Solution: Use a value from 1 to 20, or omit it for the default of 8.
BROWSER-008: allowedDomains Required
Message: Browser/Run requires 'allowedDomains' when any action is goto, download with url, or llm/act.
Cause: The step navigates or fetches but no allowedDomains is given.
Solution: List the hosts the run may reach. A bare host admits https only:
inputs:
allowedDomains: ["portal.example.com", "http://legacy.example.com"]
BROWSER-009: Invalid allowedDomains Entry
Message: allowedDomains entry must be a host name or 'http(s)://host[:port]' with no path.
Cause: An entry is empty, uses a scheme other than http or https, or includes a path.
Solution: Use host, https://host, or http://host:port. Remove any path.
BROWSER-010: goto URL Not Allowed
Message: 'url' must be an absolute http(s) URL. Or: '<scheme>://<host>' is not covered by allowedDomains.
Cause: A literal goto URL is relative, uses another scheme, or points at a host that allowedDomains does not admit (a bare entry admits https only).
Solution: Make the URL absolute and add its host to allowedDomains, with http:// when the site is not served over https. Templated URLs are checked at run time instead.