Docs Navigation

Examples

Worked, narrated examples of ABS sessions.

Real-world examples of ABS sessions for common agent patterns.

1. Refund request — full workflow with evaluations

A customer returns a damaged item. The agent verifies eligibility across two API calls, processes the refund, and confirms — with LLM judge evaluations, chain sequence verification, and variable consistency checks all in one file.

session: Refund request — approved
description: |
  Customer returns a damaged item. Agent verifies eligibility,
  processes the refund, and confirms — with evaluations at every step.
behaviors:
  - actor: user
    action: says
    content: "I want to return order #8291, it arrived damaged"

  - actor: assistant
    action: asks
    content: "I'm sorry about that. Can you confirm your name and order date?"
    evaluations:
      - type: llm_judge
        criteria: |
          1. Shows empathy for the damaged item
          2. References the order number #8291
          3. Asks for verification info before taking action

  - actor: user
    action: says
    content: "Franco Vinciarelli, ordered last Tuesday"
    capture:
      customerName: "Franco Vinciarelli"

  - actor: assistant
    action: calls
    target: Orders API
    with:
      orderId: "8291"

  - actor: tool
    action: responds
    target: Orders API
    content:
      orderId: "8291"
      status: "delivered"
      eligibleForRefund: true

  - actor: assistant
    action: calls
    target: Refunds API
    with:
      orderId: "8291"
      reason: "damaged"

  - actor: tool
    action: responds
    target: Refunds API
    content:
      refundId: "R-5512"
      amount: 47.50
      status: "processed"

  - actor: assistant
    action: informs
    content: "Refund of €47.50 processed, Franco. You'll receive it in 3-5 days. Your refund ID is R-5512."
    capture:
      refundId: "R-5512"
    evaluations:
      - type: contains
        value: "R-5512"
      - type: llm_judge
        criteria: |
          1. States the refund amount (€47.50) and timeline (3-5 days)
          2. Provides the refund reference R-5512
          3. Uses the customer's name (Franco)
          4. Reassuring tone — no upsells, no deflections

evaluations:
  - type: sequence
    order:
      - { actor: assistant, action: asks }
      - { actor: assistant, action: calls, target: "Orders API" }
      - { actor: assistant, action: calls, target: "Refunds API" }
      - { actor: assistant, action: informs }
  - type: variable_consistency
    variable: refundId
  - type: never
    match: { actor: assistant, action: hands_off }
Rendering diagram…

What this example shows

FeatureWhere
Step-level LLM judgeTwo multi-criteria rubrics on asks and informs
Step-level exact checkcontains: "R-5512" on the final response
Chain sequence4 assistant actions must happen in order
Variable consistencyrefundId captured once, checked everywhere
Tool round-tripsTwo callsresponds pairs
Invariant guardnever hands_off — resolve, don't escalate

2. Order status (minimal intro)

A user checks order status. The assistant calls an MCP tool and reports back.

session: Order status
behaviors:
  - actor: user
    action: says
    content: "Where is my order #12345?"
  - actor: assistant
    action: calls
    target: Order MCP
    with:
      order_id: "12345"
  - actor: assistant
    action: informs
    content: "Your order is on the way — estimated delivery Friday."

2. Multi-turn — appointment booking

A conversation that spans several turns, with capture:

session: Book appointment
behaviors:
  - actor: user
    action: says
    content: "I need to see a doctor"
  - actor: assistant
    action: asks
    content: "What type of appointment do you need?"
  - actor: user
    action: says
    content: "General checkup"
  - actor: assistant
    action: shows
    target: Appointment Options
    content:
      - date: "2025-03-15"
        time: "10:00 AM"
      - date: "2025-03-15"
        time: "2:00 PM"
  - actor: user
    action: selects
    target: Appointment Options
    content: "2025-03-15 10:00 AM"
    capture:
      selected_date: "2025-03-15"
  - actor: assistant
    action: calls
    target: Calendar API
    with:
      date: "{{selected_date}}"
      time: "10:00 AM"
  - actor: assistant
    action: confirms
    content: "Your appointment is booked for March 15 at 10:00 AM."

3. Hand-off to human

session: Escalation to human
behaviors:
  - actor: user
    action: says
    content: "I want to speak to a real person"
  - actor: assistant
    action: hands_off
    target: Human Agent
    content: "User requesting human escalation. Context: billing dispute."

4. With evaluations

session: Greeting with verification
behaviors:
  - actor: user
    action: says
    content: "Hello"
  - actor: assistant
    action: says
    content: "Hi! How can I help you today?"
    evaluations:
      - type: contains
        value: "Hi"

More examples are available in the repository.