DSL Overview
For Technical Users
Most teams build capabilities in the UI. The DSL is for advanced workflows, version control, and debugging.
The DSL defines a capability as a deterministic conversation journey. It is the source of truth for execution and auditability.
Capability Structure
# Required
name: string
trigger: TriggerDef
journey: Step[]
# Optional
slug: string
description: string
knowledge: string[] | object
fallback: string | object
Quick Example
name: Check Order Status
trigger:
goal: check order status
examples:
- where is my order
journey:
- collect:
fields: [order_id]
- action:
call: orders.get-status
as: order
outcomes:
success: continue
not-found:
- done: "Order not found"
- done: "Order {{variables.order.id}} is {{variables.order.status}}"
Step Types
collectactionchoiceconfirmguideinvestigatedoneescalateifsetgoto
See Step Types for details.