What a Workflow records#
| Field | Content |
|---|---|
workflow_key·name | Unique Key and name. Required |
handle | Web address name. Required; separate from the Key and unique among the Workflows of the same Organization (see address names) |
summary·description | One-line summary and description |
inputs | JSON Schema of the Workflow input |
steps | Ordered Steps. Required |
outputs | Workflow outputs |
source | Optional Arazzo source |
Each Step requires a step_key and a target to call. target points to an Endpoint or another Workflow by ID.
{"kind": "endpoint", "endpoint_id": "63Tu9F67JiI"}{"kind": "workflow", "workflow_id": "0KUMIYz7u1m"}A Step passes values with parameters and request_body, and records conditions, retries, and jumps with success_criteria, on_success, and on_failure.
Web UI#
In Workflows → 새 Workflow (New Workflow), add Steps and select Workflow 등록 (Register Workflow). To record an Arazzo source, choose a Repository spec document in 출처 스펙 문서 기록 (Record source spec document).
stly#
{
"workflow_key": "check-order",
"handle": "check-order",
"name": "Check order",
"summary": "Look up an order and check whether it is paid",
"inputs": {"type": "object", "required": ["order_id"], "properties": {"order_id": {"type": "string"}}},
"steps": [
{"step_key": "get-order", "description": "Get order details",
"target": {"kind": "endpoint", "endpoint_id": "63Tu9F67JiI"},
"parameters": [{"name": "order_id", "in": "path", "value": {"kind": "expression", "text": "$inputs.order_id"}}],
"success_criteria": [{"condition": "$statusCode == 200"}]}
]
}stly workflows validate --operation create --input workflow.json
stly workflows create --input workflow.jsonPass values as one of literal (a fixed value), expression (for example, $inputs.order_id), or selector (JSONPath and so on).
Check the full input format with stly schema workflows create.
Reference lookups#
stly endpoints workflows <endpoint-id>
stly workflows referrers <workflow-id>endpoints workflows returns the Workflows that call an Endpoint, and workflows referrers returns the other Workflows whose Steps call this Workflow.
Delete#
A Workflow called by another Workflow's Step cannot be deleted (HTTP 409 WORKFLOW_IN_USE). Check the calling Workflows with stly workflows referrers.