Routines
Routines are graphs of nodes — chat, tool, and routing-only (fork) nodes connected by transitions. This page defines the node types and their runtime completion semantics.
What a routine is
id: car-search
title: Car Search
conditions:
- >
The user wants to browse the fleet, find a car, or asks for car
suggestions — phrases like "what cars do you have", "show me an SUV",
"I need a 7-seater". Do NOT activate when the user is referring to a
specific booking they already have.
description: >
Help the user narrow down the fleet to one or two candidate cars by
collecting their criteria, searching the catalog, and presenting results
with prices.
entry: gather-criteria
nodes:
- id: gather-criteria
chat_state: >
Ask the user for their preferences in one short message: category
(economy / compact / SUV / van / luxury), minimum number of seats,
transmission preference, and any daily-budget cap in EUR. Tell them
any field is optional.
transitions:
- to: run-search
condition: >
The user has provided at least one preference, or has said
"anything" / "no preference".
- id: run-search
tools: cars:search_cars
tool_instruction: >
Call search_cars with the filters the user provided. Pass null /
omit fields the user did not mention. Do not invent constraints.
transitions:
- to: present-results
- id: present-results
chat_state: >
Summarise the matching cars in a compact list — one line per car
with make, model, category, transmission, and daily price in EUR.
End by asking if the user wants to book one.Top-level fields
Field
Type
Required
Default
Meaning
Node fields
Field
Type
Required
Default
Meaning
Node types: read this first
Node type
Set by
What it is
Runtime semantics by node kind
CHAT node: completes when the agent speaks
TOOL node: completes when the tool executes
Routing-only node (fork): completes immediately
Transitions, terminals, and movement
Referencing from the manifest
See also
Last updated
Was this helpful?

