flow = (Flow(name="Order Processing")
.add_node(StartNode(id="start"))
.add_node(SendTextNode(id="ask_order", message="What's your order number?"))
.add_node(WaitForResponseNode(id="wait"))
.add_node(FunctionNode(
id="validate_order",
function_id="check_order_exists", # Your deployed function ID
save_response_to="order_info"
))
.add_node(DecideNode(
id="check_validity",
conditions=[
Condition(label="valid", description="Order exists and is valid"),
Condition(label="invalid", description="Order not found or invalid")
],
provider_model_name="claude-sonnet-4-20250514"
))
.add_node(AgentNode(
id="process_order",
system_prompt="Help with order {{order_info.number}}. Status: {{order_info.status}}",
provider_model_name="claude-sonnet-4-20250514"
))
.add_node(SendTextNode(
id="order_not_found",
message="Order not found. Please check the number and try again."
))
.add_edge("start", "ask_order")
.add_edge("ask_order", "wait")
.add_edge("wait", "validate_order", "response")
.add_edge("validate_order", "check_validity")
.add_edge("check_validity", "process_order", "valid")
.add_edge("check_validity", "order_not_found", "invalid")
)