Lý thuyết
45 phút
Bài 4/15

Escalation Workflows

Thiết kế human handoff hiệu quả - Khi nào và cách nào chuyển từ bot sang agent

Escalation Workflows

Bot không thể giải quyết mọi thứ. Bài này hướng dẫn thiết kế escalation workflows để chuyển đổi mượt mà từ bot sang human agent.

🎯 Mục tiêu bài học

  • Xác định khi nào cần human handoff
  • Thiết kế escalation triggers
  • Setup routing đến đúng team
  • Đảm bảo context không bị mất

❓ Tại sao Escalation quan trọng?

The 70/30 Rule

Text
1┌─────────────────────────────────────┐
2│ Customer Inquiries │
3├─────────────────────────────────────┤
4│ ████████████████████░░░░░░ 70% │
5│ Simple FAQs (Bot handles) │
6├─────────────────────────────────────┤
7│ ░░░░░░░░░░░░░░░░░░░░██████ 30% │
8│ Complex issues (Human needed) │
9└─────────────────────────────────────┘

Critical: 30% complex cases thường là high-value customers hoặc urgent issues. Handle poorly = lose customer forever.

Bad vs Good Escalation

❌ Bad Experience:

Text
1User: "Tôi đã gọi 3 lần về vấn đề này rồi!"
2Bot: "Xin lỗi, mình không hiểu. Bạn thử hỏi cách khác?"
3User: "Cho tôi nói chuyện với người thật!"
4Bot: "Bạn muốn hỏi về sản phẩm nào?"
5User: 😤 *Leaves 1-star review*

✅ Good Experience:

Text
1User: "Tôi đã gọi 3 lần về vấn đề này rồi!"
2Bot: "Mình rất xin lỗi về sự bất tiện!
3 Để đảm bảo giải quyết triệt để,
4 mình connect bạn với Senior Support ngay.
5
6 [Context đã được gửi cho agent]
7 Thời gian chờ: ~2 phút"
8
9Agent: "Chào anh/chị [Name], em là [Agent].
10 Em thấy anh/chị đã liên hệ 3 lần về [Issue].
11 Em sẽ ưu tiên giải quyết ngay ạ."

🚨 Escalation Triggers

1. Explicit Request (User asks for human)

Trigger phrases:

Text
1Keywords to detect:
2- "nói chuyện với người thật"
3- "talk to human"
4- "agent", "representative"
5- "manager", "supervisor"
6- "không muốn nói với bot"
7- "real person please"

Response template:

Text
1"Được ạ! Mình sẽ connect bạn với team support ngay.
2
3Trong khi chờ, bạn có thể cho mình biết thêm
4về vấn đề để agent hỗ trợ nhanh hơn không?
5
6[Optional: Quick summary input]
7
8⏱️ Estimated wait: 3 phút

2. Sentiment-Based (Frustrated user)

Negative sentiment indicators:

Text
1- CAPS LOCK: "TẠI SAO LÂU THẾ?"
2- Multiple exclamation: "Tệ quá!!!"
3- Negative words: "chán", "tức", "nản", "ridiculous"
4- Repeated questions: Same question 3+ times
5- Short angry replies: "No", "Wrong", "Useless"

Escalation flow:

Text
1IF sentiment_score < -0.5:
2 Bot: "Mình hiểu bạn đang không hài lòng.
3 Để giải quyết tốt nhất, mình chuyển
4 bạn đến team có thể hỗ trợ ngay ạ."
5 → Route to: Senior Support
6 → Priority: HIGH
7 → Tag: "Frustrated Customer"

3. Complexity-Based (Bot can't answer)

Triggers:

Text
1- Bot confidence score < 70%
2- User said "không đúng" / "wrong" to bot answer
3- Question outside knowledge base
4- Multi-part complex requests
5- Account-specific issues requiring lookup

Example flow:

Text
1User: "Tôi muốn đổi gói từ Basic sang Pro
2 nhưng giữ nguyên data và được hoàn
3 tiền phần chưa dùng của tháng này"
4
5Bot: [Confidence: 45% - Complex request]
6 "Yêu cầu này cần team Account Support
7 xử lý để đảm bảo chính xác.
8
9 Mình đã ghi nhận:
10 ✓ Upgrade Basic → Pro
11 ✓ Migrate existing data
12 ✓ Prorate refund request
13
14 Connecting you now..."

4. Topic-Based (Sensitive issues)

Auto-escalate topics:

Text
1Always route to human:
2├── Complaints & escalations
3├── Refund requests > $100
4├── Account security issues
5├── Legal/compliance questions
6├── Enterprise/VIP customers
7├── Cancellation requests
8└── Billing disputes

Configuration:

Text
1Topic: "Refund"
2Conditions:
3 - Amount > $100 OR
4 - Customer tenure > 1 year OR
5 - Previous escalation exists
6Action: Route to → Retention Team
7Priority: High
8SLA: 1 hour response

5. Time-Based (Business hours)

Text
1Business Hours (9AM - 6PM):
2 → Offer live chat
3 → Route to available agent
4
5After Hours:
6 → "Team offline, nhưng bot sẵn sàng!"
7 → Collect info → Create ticket
8 → Promise: "Reply trong 24h"
9 → Offer: Schedule callback

🛤️ Routing Rules

Role-Based Routing

Text
1┌─────────────────────────────────────────────┐
2│ INCOMING REQUEST │
3└─────────────────┬───────────────────────────┘
4
5 ┌─────────────┴─────────────┐
6 │ CLASSIFY REQUEST │
7 └─────────────┬─────────────┘
8
9 ┌──────────────┼──────────────┐
10 │ │ │
11 ▼ ▼ ▼
12┌──────┐ ┌──────────┐ ┌──────────┐
13│Sales │ │ Support │ │ Billing │
14│Team │ │ Team │ │ Team │
15└──────┘ └──────────┘ └──────────┘
16 │ │ │
17 ▼ ▼ ▼
18Keywords: Keywords: Keywords:
19- pricing - help - invoice
20- demo - issue - payment
21- buy - problem - refund
22- quote - not working - charge

Skill-Based Routing

Text
1Agent Skills Matrix:
2┌─────────────┬─────────┬─────────┬─────────┐
3│ Agent │ Tech │ Billing │ Sales │
4├─────────────┼─────────┼─────────┼─────────┤
5│ Alice │ ★★★ │ ★★ │ ★ │
6│ Bob │ ★★ │ ★★★ │ ★★ │
7│ Carol │ ★ │ ★★ │ ★★★ │
8└─────────────┴─────────┴─────────┴─────────┘
9
10Routing Logic:
11IF issue_type = "Technical" AND complexity = "High":
12 Route to agent with Tech skill ≥ ★★★

Load Balancing

Text
1Distribution Methods:
2
31. Round Robin:
4 Request 1 → Agent A
5 Request 2 → Agent B
6 Request 3 → Agent C
7 Request 4 → Agent A (repeat)
8
92. Least Busy:
10 Agent A: 5 active chats → Skip
11 Agent B: 2 active chats → Assign
12 Agent C: 4 active chats → Skip
13
143. Sticky Sessions:
15 IF returning customer:
16 Route to last agent they spoke with
17 ELSE:
18 Use round robin

📋 Context Handoff

Information to Pass

Text
1┌─────────────────────────────────────┐
2│ HANDOFF CONTEXT PACKAGE │
3├─────────────────────────────────────┤
4│ Customer Info: │
5│ • Name: Nguyen Van A │
6│ • Email: a@email.com │
7│ • Account type: Premium │
8│ • Customer since: Jan 2024 │
9│ │
10│ Conversation Summary: │
11│ • Issue: Cannot access dashboard │
12│ • Steps tried: Clear cache, logout │
13│ • Error message: "403 Forbidden" │
14│ • Duration with bot: 5 mins │
15│ │
16│ Sentiment: Frustrated (3 attempts) │
17│ Priority: HIGH │
18│ │
19│ Suggested Resolution: │
20│ • Check account permissions │
21│ • Verify subscription status │
22└─────────────────────────────────────┘

Setup in Tidio

Text
1Chatbot → Handoff Node → Configure:
2
3Pass to Agent:
4✅ Visitor email
5✅ Visitor name
6✅ Conversation transcript
7✅ Custom variables (order_id, issue_type)
8✅ Page URL
9✅ Visitor location
10
11Agent View:
12[Customer Card] + [Full Chat History] + [Notes]

Setup in Intercom

Text
1Operator → Bot → "Hand off to teammate"
2
3Options:
4• Assignment: Specific team / Round robin
5• Message to customer: "Connecting you..."
6• Message to agent: Include summary
7• Priority: Set based on conditions
8• Attributes: Pass custom data

⏱️ Queue Management

Set Expectations

Text
1Position-based:
2"Bạn đang ở vị trí #3 trong hàng đợi.
3Thời gian chờ dự kiến: ~5 phút."
4
5Time-based updates:
6• Every 2 min: "Vẫn đang chờ, cảm ơn sự kiên nhẫn!"
7• At 5 min: "Xin lỗi vì chờ lâu. Bạn muốn để lại SĐT?"
8• At 10 min: "Agent sẽ gọi lại trong 30 phút?"

Callback Option

Text
1Wait time > 5 minutes:
2Bot: "Thời gian chờ hơi lâu (~10 phút).
3 Bạn muốn agent gọi lại không?
4
5 [Chờ tiếp] [Gọi lại cho tôi]"
6
7IF "Gọi lại":
8 Collect: Phone number
9 Confirm: Best time to call
10 Create: Callback task for agent
11 Message: "Agent sẽ gọi trong 30 phút!"

Priority Queue

Text
1Queue Structure:
2┌─────────────────────────────┐
3│ VIP Queue (Instant) │
4│ • Enterprise customers │
5│ • Spending > $10K │
6├─────────────────────────────┤
7│ Priority Queue (< 2 min) │
8│ • Frustrated sentiment │
9│ • Billing issues │
10│ • Security concerns │
11├─────────────────────────────┤
12│ Standard Queue (< 5 min) │
13│ • General support │
14│ • Feature questions │
15└─────────────────────────────┘

🔄 Complete Escalation Flow

Text
1┌─────────────────────────────────────────────┐
2│ USER MESSAGE │
3└─────────────────┬───────────────────────────┘
4
5
6┌─────────────────────────────────────────────┐
7│ BOT PROCESSES MESSAGE │
8│ • Intent recognition │
9│ • Sentiment analysis │
10│ • Knowledge base search │
11└─────────────────┬───────────────────────────┘
12
13 ┌───────┴───────┐
14 │ │
15 ▼ ▼
16 ┌─────────┐ ┌──────────────┐
17 │Can Answer│ │Cannot Answer │
18 └────┬────┘ └──────┬───────┘
19 │ │
20 ▼ ▼
21 ┌─────────┐ ┌──────────────┐
22 │ RESPOND │ │CHECK TRIGGERS│
23 └────┬────┘ └──────┬───────┘
24 │ │
25 ▼ ▼
26 ┌─────────┐ ┌──────────────┐
27 │Satisfied?│ │ESCALATE │
28 └────┬────┘ │• Pack context│
29 │ │• Route queue │
30 ┌────┴────┐ │• Set priority│
31 │ │ └──────┬───────┘
32 ▼ ▼ │
33 [End] [Escalate] ▼
34 ┌──────────────┐
35 │AGENT RECEIVES│
36 │• Full context│
37 │• Suggestions │
38 └──────┬───────┘
39
40
41 ┌──────────────┐
42 │ RESOLVE │
43 └──────────────┘

📊 Measuring Escalation Performance

Key Metrics

MetricFormulaTarget
Escalation RateEscalated / Total< 30%
First Contact ResolutionResolved first touch / Total> 70%
Avg Handle TimeTotal handle time / Resolved< 10 min
Customer Wait TimeQueue time before agent< 3 min
CSAT After EscalationSatisfied / Escalated> 85%

Dashboard Setup

Text
1┌─────────────────────────────────────┐
2│ ESCALATION METRICS - THIS WEEK │
3├─────────────────────────────────────┤
4│ │
5│ Escalation Rate: 28% ✅ │
6│ ████████████████░░░░░░░░░░ │
7│ │
8│ Avg Wait Time: 2.5 min ✅ │
9│ █████████░░░░░░░░░░░░░░░░ │
10│ │
11│ CSAT Score: 87% ✅ │
12│ ██████████████████████░░░ │
13│ │
14│ Top Escalation Reasons: │
15│ 1. Complex tech issues (35%) │
16│ 2. Billing disputes (25%) │
17│ 3. User requested (20%) │
18│ 4. Frustrated sentiment (12%) │
19│ 5. Out of scope (8%) │
20│ │
21└─────────────────────────────────────┘

💡 Best Practices

1. Never Leave User Hanging

Text
1❌ Bad:
2Bot: "Chuyển bạn sang agent..."
3*silence for 5 minutes*
4
5✅ Good:
6Bot: "Đang connect với agent...
7 Vị trí: #2 | Chờ: ~3 phút
8
9 Trong khi chờ, bạn có thể:
10 • Xem [FAQ](/faq)
11 • Check [Status page](/status)"
12
13*Update every 1-2 minutes*

2. Warm Handoff

Text
1❌ Cold handoff:
2Agent: "Xin chào, tôi có thể giúp gì?"
3User: *Phải explain lại từ đầu*
4
5✅ Warm handoff:
6Agent: "Chào anh Minh! Em là Lan.
7 Em thấy anh đang gặp vấn đề
8 không access được dashboard.
9 Anh đã thử clear cache rồi đúng không?
10 Để em check thêm nhé..."

3. Set Clear SLAs

Text
1Response Time SLAs:
2├── VIP customers: < 1 minute
3├── Billing issues: < 2 minutes
4├── Technical support: < 5 minutes
5├── General inquiry: < 10 minutes
6└── Low priority: < 1 hour
7
8Resolution Time SLAs:
9├── Simple issues: < 1 hour
10├── Medium complexity: < 4 hours
11├── Complex issues: < 24 hours
12└── Escalated: < 48 hours

🎯 Bài tập thực hành

Task 1: Define Escalation Triggers

Text
11. List 10 scenarios cần escalation
22. Classify: Explicit, Sentiment, Topic, Complexity
33. Define routing cho mỗi scenario
44. Set priority levels

Task 2: Build Escalation Flow

Text
11. Mở chatbot builder (Tidio/Intercom)
22. Create handoff node
33. Configure context passing
44. Add queue messages
55. Test end-to-end flow

Task 3: Create Agent Script

Text
11. Write greeting template với context
22. Define 5 common scenarios + responses
33. Create closing template
44. Add CSAT survey

📚 Tổng kết

ComponentKey Points
TriggersExplicit, sentiment, complexity, topic, time
RoutingRole-based, skill-based, load-balanced
ContextFull history, summary, sentiment, priority
QueueSet expectations, callback option, priority
MetricsEscalation rate < 30%, wait < 3 min, CSAT > 85%

Tiếp theo: Bài 05 - Document AI Tools - Extraction, summarization, và analysis tự động!