execute_batch
Run multiple Robot Framework keywords sequentially in one call, with recovery on failure and variable chaining between steps, reducing N MCP round-trips to 1.
Instructions
Execute multiple RF keywords in one call with recovery and variable chaining.
Reduces N MCP round-trips to 1. Steps run sequentially; each step's return value is available to later steps via ${STEP_N} references in arguments. Both 0-based (${STEP_0} = first step) and 1-based (${STEP_1} = first step) indexing are accepted. When ambiguous, 1-based is preferred.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | List of step dicts, each with: - keyword (str, required): RF keyword name - arguments (list[str], optional): Positional arguments, may contain ${STEP_N} (both 0-based and 1-based indexing supported). This is the canonical key (parity with execute_step). The legacy alias ``args`` is also accepted; supplying BOTH with different values is a validation error. - label (str, optional): Human-readable label - timeout (str, optional): Per-step RF timeout (e.g., "10s") - assign_to (str, optional): Variable name to capture return value (e.g., "cart_count") NOTE: batch steps do NOT support ``bdd_group``/``bdd_intent`` — use per-step ``execute_step(bdd_group=..., bdd_intent=...)`` for BDD grouping. A step missing ``keyword`` returns an actionable validation error. | |
| on_failure | No | Policy on step failure: - "stop": abort immediately - "retry": retry without recovery logic - "recover" (default): attempt tiered recovery before giving up On DESKTOP (PlatynUI) sessions, retries are restricted to failures where the input provably never fired (element-not-found); any other desktop failure records immediately instead of blindly re-firing a click/keystroke, and retries run with a capped descriptor-resolution timeout so a bad locator cannot burn the whole budget. | recover |
| session_id | Yes | Session to execute within (must exist or be auto-created). | |
| timeout_ms | No | Total batch time budget in milliseconds (1000-600000, default 120000). | |
| max_recovery_attempts | No | Max recovery retries per failed step (1-10, default 2). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||