Actions
Actions are local operations that workflows can perform.
LLM
Call an LLM with a prompt:
steps: - id: generate type: llm prompt: Generate a haiku about codingModel Tiers
Use model tiers to select capability level without specifying provider-specific model names:
fast- Quick responses, lower costbalanced- Good balance of speed and quality (default)strategic- Maximum capability for complex tasks
steps: - id: analyze type: llm model: strategic prompt: Analyze this complex codebase...See Model Tiers for more details.
Shell
Execute shell commands:
steps: - id: build shell.run: npm install && npm run buildWith options:
steps: - id: build shell.run: command: npm run build working_dir: ./frontend env: NODE_ENV: productionFile
Read and write files:
steps: - id: read_config file.read: config.json
- id: save_output file.write: path: output.txt content: "{{.steps.process.response}}"File Operations
file.read- Read file contentsfile.write- Write content to filefile.append- Append to existing filefile.delete- Remove filefile.exists- Check if file existsfile.list- List directory contents
HTTP
Make HTTP requests:
steps: - id: api_call http.post: url: https://api.example.com/endpoint headers: Authorization: "Bearer {{env.API_TOKEN}}" Content-Type: application/json body: key: valueHTTP Methods
http.get- Retrieve datahttp.post- Create resourceshttp.put- Update resourceshttp.patch- Partial updatehttp.delete- Remove resources
Response Handling
steps: - id: fetch http.get: https://api.example.com/data
- id: process type: llm prompt: "Analyze this data: {{.steps.fetch.body}}"Transform
Transform data between formats:
steps: - id: parse transform.json_parse: "{{.steps.read.content}}"
- id: extract transform.jq: input: "{{.steps.parse.result}}" query: ".items[] | select(.active == true)"Transform Operations
transform.json_parse- Parse JSON stringtransform.json_stringify- Convert to JSON stringtransform.yaml_parse- Parse YAML stringtransform.jq- Query with jq syntax
Utility
Utility operations:
steps: - id: wait utility.sleep: 5s
- id: random_id utility.uuid: {}Utility Operations
utility.sleep- Wait for durationutility.random_int- Generate random integerutility.uuid- Generate UUIDutility.timestamp- Get current timestamp