YAML Workflows¶
Define repeatable multi-step tasks in YAML. Unlike ad-hoc tool calls, workflows execute in a fixed order with retry, failure handling, human-in-the-loop pauses, and progress events.
Drop .yaml files in ~/.arc/workflows/ — discovered automatically.
Quick Example¶
# ~/.arc/workflows/jira-rca.yaml
name: jira-rca
description: Root cause analysis for a Jira ticket
trigger: "rca|root cause"
steps:
- do: Fetch the Jira ticket details
tool: mcp_call
args: {server: jira, tool: get_issue, arguments: {key: "${ticket}"}}
- do: Search the codebase for the relevant error
retry: 2
- do: Analyze the root cause and write a summary
on_fail: continue
- do: Post the RCA summary as a comment on the ticket
Step Formats¶
# Simple — plain English
steps:
- search the web for NVIDIA news
- summarize the results
# Extended — with control options
steps:
- do: Search for relevant data
retry: 2
on_fail: continue # continue|stop (default: stop)
ask_if_unclear: true # agent asks user instead of guessing
wait_for_input: true # pause and wait for user response
# Explicit tool call — bypass agent
steps:
- do: Get the Jira ticket
tool: mcp_call
args: {server: jira, tool: get_issue, arguments: {key: "PROJ-123"}}
# Shell command
steps:
- do: Check running pods
shell: kubectl get pods -n payments
Human-in-the-Loop¶
Workflows pause and wait for user input in two ways:
Explicit — mark a step with wait_for_input: true
Implicit — if the agent's response is a question, the workflow automatically pauses
In both cases, the workflow waits indefinitely. Your answer is injected as context for the next step. Works across CLI, WebChat, and voice.
Usage¶
Or via chat: "run the jira-rca workflow for PROJ-1234"