instruction.md

Docs

Read the specification

Workflow node reference

This catalog is normative alongside Instruction Workflows. Shared fields are defined in the language reference. Hosts advertise which node providers and execution capabilities they support. The catalog does not claim that every host implements every node.

Kind Role Meaning Required fields Other fields
a2a Trigger Accept an authenticated command with declared roles and an input contract. — command, roles, inputs, schema, into
a2a.delegate Step Delegate an objective and output contract to an authorized peer. peer objective, command, args, output_contract, timeout, idempotency, breaker, rate, auth_to, auth_timeout, payment
a2a.send Step Send an authenticated message or command to a named destination. to parts, command, args, context, timeout, idempotency, breaker, rate, payment
a2a.wait Step Wait for a matching conversation response from an expected peer. from conversation, timeout
agent Step Run a bounded tool-using model turn with explicitly narrowed capabilities. instruction output_contract, output_schema, tools, servers, limits, context, skills, system, model, effort
artifact.create Step Store content as an artifact with media type and sensitivity metadata. name mime, content, from_step, sensitive
artifact.delete Step Delete an artifact the active principal may manage. id —
artifact.get Step Read an artifact under the host access policy. id —
assert Step Fail unless its expression holds, recording the assertion message. condition message
assign Step Write a rendered value into a run variable using its reducer and schema. value writes, mode
batch Step Run a scoped body per group, with grouping, size, parallelism and collection policy. over, body by, size, parallel, rate, collect, on_error
checkpoint Step Request an explicit durable checkpoint in the execution record. — name
chunk Step Split a value into bounded pieces with optional overlap. value, size by, overlap
classify Step Choose among declared classes, preserving confidence and uncertainty policy. input, classes prompt, skills, model, confidence, on_unsure
correlate Trigger Join related stream events in a bounded time window; expose missing members in partial results. stream, on by, window, on_incomplete, filter, max_pending, inputs
decide Step Answer declared decision questions about a state with confidence controls. state, questions model, confidence, on_unsure
dedupe Step Remove duplicate collection members while retaining the first matching member. over by
emit Step Record a value/audit note or append an event to a declared stream. — note, audit, value, stream, subject, data, correlation, forward
event Trigger Fire on an allowed host event, with a payload filter. on filter, inputs
extract Step Extract structured content that must satisfy an output schema. input, output_schema prompt, skills, model
fail Step End the run as a failure with an optional code and message. — message, code
filter Step Keep array members whose expression evaluates to true. over, expr as
finish Step End the run with a declared terminal status, output and reason. — status, output, reason
foreach Step Run a scoped body per item under explicit batching and parallelism bounds. over, body batch, collect, on_error, as
http Step Make an authorized HTTP request with response, credential, retry and idempotency policy. url method, headers, query, body, json, timeout, expect, allow_private, sign, idempotency, breaker, rate, auth, payment
human Step Suspend for an authorized person to answer a question under an optional schema. question schema, to, timeout, reply_uri
iterate Step Repeat a scoped body while/until a condition, bounded by a maximum iteration count. body while, until, max_iterations, collect
join Step Await child/subagent handles, with a deadline and minimum/partial-result policy. handles timeout, min, partials
judge Step Evaluate input against a rubric and optional discrete levels. input, rubric levels, prompt, skills, model, confidence, on_unsure
knowledge.get Step Retrieve a selected knowledge item and its content metadata. — id, uri
knowledge.search Step Search a configured knowledge provider and return ranked hits. query top_k, filters
loop Trigger Re-enter after a prior run, with pacing, backoff and termination bounds. — interval, delay, until, max_iterations, backoff, inputs
manual Trigger Admit a run only after an explicit operator or authorized caller request. — inputs
map Step Apply an expression to each item and return the resulting array. over, expr as
mcp.resource Step Read/list resources, use a prompt, or request completion through a declared MCP server. server, op uri, name, arguments, reference, argument
mcp.tool Step Call a named tool on a declared MCP server, with task, elicitation and resilience options. server, tool args, idempotency, breaker, rate, detach, input, payment
memory.delete Step Delete an accessible durable memory key. key —
memory.get Step Read an explicitly bound durable memory key. key —
memory.list Step List accessible memory keys with prefix and result bounds. — prefix, limit
memory.pop Step Remove and return the final member of a durable memory collection. key —
memory.push Step Append a value to a durable memory collection. key, value —
memory.set Step Write a durable memory key, optionally with a time-to-live. key, value ttl
memory.shift Step Remove and return the first member of a durable memory collection. key —
message Step Deliver a message through an authorized channel, optionally awaiting a reply. to text, parts, wait, timeout, on_timeout
noop Step Complete without an effect; useful as a join or routing point. — —
once Trigger Fire when the activated definition is armed; an ensure policy avoids a duplicate live run. — policy, inputs
parallel Step Run named scoped branches concurrently and combine their terminal results. branches on_error, min_success
parse Step Parse text using a declared data format. text format
race Step Run named branches and accept the first qualifying result; cancel the losers. branches timeout
reduce Step Fold an array from an initial accumulator with a declared expression. over, expr initial, as, acc
route Step Use a model to choose among declared routes, with uncertainty handling. input, choices prompt, skills, model, confidence, on_unsure
schedule Trigger Fire from one UTC cron, interval or absolute-time declaration. — cron, every, at, inputs
search.fetch Step Retrieve a selected page/resource within a byte bound. url max_bytes
search.query Step Query a configured search provider with explicit result and freshness bounds. query limit, freshness
signal Trigger Fire on an edge-triggered named signal; no implicit retained backlog. name filter, inputs
sleep Step Suspend on a durable timer for the declared duration. duration —
sort Step Order an array by a selected value/path and direction. over by, order
stream Trigger Consume persisted events with subject selection, durable offsets, batching and rate controls. stream subject, filter, from, rate, batch, inputs
subagent Step Delegate bounded work to a child agent with explicit tools, context and budgets. — instruction, template, params, mode, tools, servers, limits, priority, context, output_contract, output_schema, skills, durable
subgraph Step Evaluate an inline scoped dependency graph and return its sink outputs. body —
subscribe Trigger Read an MCP resource after notifications, with filtering, debounce and bounded sampling. server, uri debounce_ms, filter, window, inputs
summarize Step Produce a model summary using declared length, context and model settings. input length, prompt, skills, model
switch Step Select one string-valued routing target; prune the unchosen routes. on, cases default, on_no_match
template Step Render text or a typed value from the current run context. — text, value
think Step Make a tool-free model request for structured reasoning/output under a declared contract. prompt output_schema, reads, check, retries, skills, system, model, effort
tool Step Call an explicitly granted tool by its host registry name. name args, detach, input
transform Step The assign operation, named for data transformation. value writes, mode
validate Step Return a value only if it conforms to the supplied schema. value, schema —
wait Step Suspend on a declared resource, event, task, run, signal or other supported wait condition. on server, uri, condition, signal, run, subagent, conversation, from, webhook, stream, subject, subscribe, match, task, timeout, on_timeout
webhook Trigger Accept a bound, authenticated HTTP event with filtering, admission and response policy. path methods, auth, parallelism, on_overflow, rate, idempotency, respond, filter, inputs, signal, into
workflow Step Invoke a named child workflow synchronously, asynchronously or detached, with explicit cancellation propagation. name inputs, mode, start, version, cascade
workflow.cancel Step Request cancellation of an authorized target run. run reason
workflow.signal Step Signal an existing waiter or an explicitly selected run. name payload, run
workflow.wait Step Await a child or referenced run with an optional deadline. run timeout

The registry is workflow-registry.json. Source provenance is recorded there. A model step’s kind is reserved for its node kind; a provider option with the same spelling must be supplied through its declared adapter, rather than overwriting that identity.

Integration details

mcp.resource operations distinguish resource reads/listing/templates, prompt retrieval and completion. mcp.tool may receive an MCP task: a synchronous call follows it to completion; detach returns an explicit handle for a later task wait. input describes authorized human elicitation for the task. Detached execution and response caching are incompatible. A cached call cannot silently skip a required approval or credential decision.

Optional network payment/authentication fields are host proposals constrained by operator policy; they do not authorize payment, credential disclosure or delegated identity from document text alone. Host capability validation covers the selected provider’s tool schemas, model roles, credentials, payments, event retention, task behavior and artifact access before activation.

The inherited think.check and think.retries fields carry no independent checking/retry behavior; they are compatibility fields, not a guarantee. Use output_schema, explicit validation and shared retry controls. human.reply_uri is retained in the origin catalog but unsupported for activation in the initial compatibility host; an adapter must reject it.

correlate needs an explicit event window in addition to the registry’s required stream and patterns. A schedule chooses one of cron/every/at. Cross-field and graph checks supplement the JSON Schema.

Sidebar