Skip to main content

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

  • collect
  • action
  • choice
  • confirm
  • guide
  • investigate
  • done
  • escalate
  • if
  • set
  • goto

See Step Types for details.

Next