Scripted workflows define parameters and a sequence of steps that call external tools. Oplink validates inputs, renders args from a template context, executes tools, and aggregates results.
Minimal example
take_screenshot:
description: "Capture a page"
runtime: scripted
parameters:
url:
type: string
required: true
format:
type: string
enum: [png, jpeg, webp]
default: png
steps:
- call: chrome-devtools:navigate_page
args:
type: url
url: "{{ url }}"
- call: chrome-devtools:take_screenshot
args:
fullPage: true
format: "{{ format }}"
Common step keys
call – alias:tool_name for an external toolargs – object; supports mustache templating with the current contextsaveAs – store the tool result to reuse later (e.g., saveAs: issue)requires – only run a step if a context key existsquiet – suppress per‑step log lines in the aggregated outputParameter handling
string, number, boolean, array, object, and enum.save_as values."{{ limit }}", Oplink injects the underlying value with its original type (number/boolean/array/object)."page={{ limit }}"), the result is a string. Pure numeric/boolean strings ("20", "true") are coerced to numbers/booleans when the whole value is just the placeholder.Why scripted
See also