3.5 KiB
3.5 KiB
Workflow Examples
Customer Support Routing
Scenario: Route calls to specialized agents based on customer needs.
{
"workflow": {
"nodes": [
{
"id": "initial_routing",
"type": "subagent",
"config": {
"system_prompt": "Ask customer: Are you calling about billing, technical support, or sales?",
"turn_eagerness": "patient"
}
},
{
"id": "billing_agent",
"type": "subagent",
"config": {
"system_prompt": "You are a billing specialist. Help with invoices, payments, and account charges.",
"voice_id": "billing_voice_id"
}
},
{
"id": "technical_agent",
"type": "subagent",
"config": {
"system_prompt": "You are a technical support specialist. Troubleshoot product issues.",
"voice_id": "tech_voice_id"
}
},
{
"id": "sales_agent",
"type": "subagent",
"config": {
"system_prompt": "You are a sales representative. Help customers choose products.",
"voice_id": "sales_voice_id"
}
}
],
"edges": [
{ "from": "initial_routing", "to": "billing_agent", "condition": "user_mentions_billing" },
{ "from": "initial_routing", "to": "technical_agent", "condition": "user_mentions_technical" },
{ "from": "initial_routing", "to": "sales_agent", "condition": "user_mentions_sales" }
]
}
}
Escalation Workflow
Scenario: Attempt self-service resolution, then escalate to human if needed.
{
"workflow": {
"nodes": [
{
"id": "self_service",
"type": "subagent",
"config": {
"system_prompt": "Try to resolve issue using knowledge base and tools. If issue can't be resolved, offer human transfer.",
"knowledge_base": ["faq_doc_id"],
"tool_ids": ["lookup_order", "check_status"]
}
},
{
"id": "human_transfer",
"type": "tool",
"tool_name": "transfer_to_human"
}
],
"edges": [
{ "from": "self_service", "to": "human_transfer", "condition": "user_requests_human_or_issue_unresolved" }
]
}
}
Multi-Language Support
Scenario: Detect language and route to appropriate voice/agent.
{
"workflow": {
"nodes": [
{
"id": "language_detection",
"type": "subagent",
"config": {
"system_prompt": "Greet customer and detect language.",
"language": "auto"
}
},
{
"id": "english_agent",
"type": "subagent",
"config": {
"language": "en",
"voice_id": "en_voice_id",
"first_message": "Hello! How can I help you today?"
}
},
{
"id": "spanish_agent",
"type": "subagent",
"config": {
"language": "es",
"voice_id": "es_voice_id",
"first_message": "¡Hola! ¿Cómo puedo ayudarte hoy?"
}
}
],
"edges": [
{ "from": "language_detection", "to": "english_agent", "condition": "detected_language_en" },
{ "from": "language_detection", "to": "spanish_agent", "condition": "detected_language_es" }
]
}
}
Best Practices
- Keep workflows simple - Max 5-7 nodes for maintainability
- Test all paths - Ensure every edge condition works
- Add fallbacks - Always have a default path
- Monitor transitions - Track which paths users take most
- Avoid loops - Workflows can get stuck in infinite loops