contributing/workflow_samples/route/README.md
This sample demonstrates how to use routing in ADK Workflows.
It takes user input and uses an LLM node to categorize it as a question, a statement, or other. Based on the classification, it appropriately routes the execution to a specialized agent or function to handle that specific type of input.
In ADK Workflows, routing allows conditionally executing different execution paths based on the output of a previous node.
What is the capital of France?The weather is very nice today.Translate bonjour to english [ START ]
|
v
[ process_input ]
|
v
[ classify_input ]
|
v
[ route_on_category ]
/ | \
"question" "statement" "other"
/ | \
v v v
[answer_question] | [handle_other]
|
[comment_on_statement]
A node (agent or function) yields an Event with a specific route name:
yield Event(route="your_route_name")
In the Workflow edges definition, conditional edges are constructed using a routing map dict as the second element of the edge tuple:
(source_node, {"your_route_name": target_node})