KEX β€” AI Robot Strategy

Improving Delivery Success with Smarter Automated Calling
February 28, 2026
⚠️ 3 Issues Holding All 3 Robots Back

These affect every bot β€” fixing them is the single biggest lever.

πŸ“
Script Too Long

Robot talks too much. Customers hang up before responding. Best-performing bots elsewhere use short, direct scripts.

πŸ“±
Keypad Input (DTMF)

All 3 bots require pressing phone buttons. Customer pulls phone from ear β†’ confused β†’ no response. #1 cause of wasted calls.

🏷️
"KEX" β‰  "Kerry"

KEX is the new official name after the acquisition β€” and the company wants to establish it. But Thai customers still only recognize "Kerry." The bot needs to bridge both: say "Kerry Express, now KEX" so customers pick up and start associating the new brand.

πŸ“Š Current Performance β€” COD Bot (Only Active Bot)

115,000+ calls/month β€” here's what happens:

3 in 10
Confirm
Target: 5 in 10
3.5 in 10
Wasted β€” no response
Target: <2 in 10
6–7 in 10
Connect
Target: 7.5+
1 round
No follow-up
Best: 4 rounds
Root Cause
Robot is 90% accurate when connected. The problem is setup (wrong data, confusing input) and process (no follow-up strategy).

Case 1: COD Delivery Notification

Confirm customer will receive their COD parcel before delivery
● LIVE β€” NEEDS IMPROVEMENT
🧩 Two Layers That Determine Robot Success
βš™οΈ
Layer 1 β€” Bot Configuration

What it says, how customers respond, what data it gets

🎯
Layer 2 β€” Operational Strategy

When it calls, how often, what happens with results

Fix one β†’ incremental. Fix both β†’ transformational. Below we break down each layer with a 3-phase rollout.
βš™οΈ Layer 1 β€” Bot Configuration
What the robot says & what data it gets

❌ Current

Opening
"Parcel from KEX"
Customer doesn't recognize it
Input
Press buttons (DTMF)
Phone away from ear β†’ confused
Order Channel
"KEX"
Wrong β€” can't personalize
COD Amount
Sometimes blank
Can't verify
Caller ID
Unknown number
Looks like a scam

πŸ”„ Phase 1–2 (Manual Upload)

Opening
"Kerry Express β€” Shopee parcel, ΰΈΏ350"
Short, recognizable brand
Input
Voice response ("say yes")
Natural β€” phone stays on ear
Order Channel
"Shopee" / "TikTok" / "Lazada"
Ops maps data manually
COD Amount
Always filled
Ops enforces mandatory field
Caller ID
Recognized KEX number
Under discussion with telco

βœ“ Phase 3 (API Integrated)

Opening
"Kerry Express β€” Shopee parcel, ΰΈΏ350"
Same script + tracking number
Input
Voice response
+ bilingual Thai/English
Order Channel
Auto-populated from CRM
Zero manual entry
COD Amount
Auto-populated from CRM
Always accurate
Caller ID
Branded KEX number
Integrated with KEX telco
🎯 Layer 2 β€” Calling Strategy
When & how often β€” this is where the biggest gains hide

❌ Current

Rounds
1 round β€” call once, done
Timing
Random
Whenever ops uploads
Redial
5 min apart
Too aggressive
Missed calls
No follow-up
Task creation
Manual every time

πŸ”„ Phase 1–2 (Workflow)

Rounds
Up to 4 rounds/day + retry
Timing
8–10, 12–1, 3–4, 6–8
Confirmed peak windows
Redial
15 min apart
Respectful spacing
Missed calls
Filter β†’ retry next window
Task creation
Workflow template (set once)

βœ“ Phase 3 (Automated)

Rounds
4 rounds β€” fully automated
Timing
Same 4 peak windows
System-triggered, zero effort
Redial
Smart spacing per customer
Missed calls
Auto-filtered, auto-retried
Task creation
CRM triggers β†’ auto-call

Multi-Round Calling Flow β€” 4 confirmed peak windows

8–10 AM

Round 1 β€” Full List

Morning peak. Before customers leave home.

Filter ↓

No response β†’ Round 2

12–1 PM

Round 2 β€” Missed Only

Lunch break. People check phones.

Filter ↓

Still nothing β†’ Round 3

3–4 PM

Round 3 β€” Afternoon

Work break window.

Filter ↓

Final attempt for the day

6–8 PM

Round 4 β€” Evening

After-work. Best for people busy all day.

Next Day

Retry β€” Refusals Only

Fresh day, different mindset. 8–10 AM.

πŸ“ˆ Expected Outcome β€” Both Layers Combined
3 in 10
confirm today
↓
5+ in 10
confirm (target)
3.5 in 10
wasted calls
↓
<2 in 10
wasted (target)
1 round
single attempt
↓
4 rounds
systematic follow-up

Case 2: Pre-Delivery Check

Call before dispatching β€” confirm customer is available
● READY TO ACTIVATE
πŸ“¦ Problem & Solution

Without Pre-Check

  • ~2 in 10 deliveries fail first attempt
  • Wasted fuel, time, truck capacity
  • Customer not home β†’ return trip

With Pre-Check

  • Target: <1 in 10 failures
  • Only dispatch to confirmed addresses
  • Reschedule before courier leaves
βš™οΈ Bot Config
Bot
"Kerry Express β€” your Shopee parcel is scheduled for delivery today. Are you available?"
β”œβ”€ "Yes" β†’ Dispatch βœ…
β”œβ”€ "Not today" β†’ Reschedule
└─ No answer β†’ Dispatch anyway
🎯 Strategy
6 AM

Upload delivery list

7 AM

Robot calls

Before customers leave home

8:30

Dispatch decisions

Confirmed β†’ go. Rescheduled β†’ reroute.

Activation
Stabilize Case 1 first β†’ Pilot in one delivery zone β†’ Compare failed delivery rate β†’ Expand.

Case 3: Post-Delivery Verification

Call after delivery β€” confirm parcel was actually received
● READY TO ACTIVATE
πŸ” Problem & Solution

Without Verification

  • Rely on complaints to find issues
  • Fake proof-of-delivery undetected
  • Disputes take days to weeks

With Verification

  • Proactive check within 24 hours
  • Fraud caught before complaint
  • Deterrent β€” couriers know
βš™οΈ Bot Config
Bot
"Kerry Express β€” our records show your parcel was delivered yesterday. Did you receive it?"
β”œβ”€ "Yes" β†’ Verified βœ…
β”œβ”€ "No" β†’ πŸ”΄ Investigate
└─ "Damaged" β†’ Customer service
🎯 Strategy
9 AM

Upload yesterday's deliveries

Focus: COD > ΰΈΏ1,000

10 AM

Robot calls β€” verify

1 round, 1 redial at 15 min

11:30

Flag & investigate

"Didn't receive" β†’ immediate action

Activation
After Cases 1 & 2 stable β†’ Start with COD > ΰΈΏ1,000 (highest risk) β†’ Measure fraud catch rate β†’ Expand.
πŸ—ΊοΈ Action Plan β€” 3 Parts, 3 Months

Organized by who needs to act. Part 1 starts immediately β€” no waiting.

πŸ”§

Part 1 β€” Bot Fixes

AI Rudder Alone Weeks 1–3
🎯 Fix all 3 bots so they perform at best practice level
πŸ”§ Shorten all scripts β€” concise messaging All
πŸ”§ DTMF β†’ Voice response All
πŸ”§ "KEX" β†’ "Kerry Express" All
πŸ”§ "Who is KEX?" handler + Lazada COD
πŸ”§ A/B test: concise vs current script COD
πŸ”§ Add bilingual support All
πŸ“‹

Part 2 β€” Ops Transition

AI Rudder Leads Weeks 3–8
🎯 Remove all manual friction β€” AI Rudder designs & executes, KEX confirms
πŸ“‹ Fix Order Channel data (Shopee/TikTok/Lazada) KEX Ops
πŸ“‹ Train team on 4-window calling strategy Joint
πŸ“‹ Build & standardize Workflow templates β€” replace all manual Task creation AI Rudder
πŸ“‹ Activate Pre-Delivery bot β€” 1 zone pilot Case 2
πŸ“‹ Activate Follow-Up bot β€” COD > ΰΈΏ1K Case 3
πŸ“‹ Assist daily execution (file upload, monitoring) to reduce KEX friction AI Rudder
⚑

Part 3 β€” API Integration

AI Rudder + KEX IT Weeks 8–12
🎯 Full automation β€” zero manual work, system-to-system
⚑ CRM β†’ AICalling API (auto contact push) API
⚑ Webhook result callback API
⚑ Tracking number auto-enrichment API
⚑ Full loop: CRM β†’ call β†’ results β†’ next action API
Key Principle
Part 1: AI Rudder acts alone β€” no dependency. Part 2: AI Rudder does the thinking and heavy lifting β€” KEX confirms and we help execute to minimize friction. Part 3: AI Rudder + KEX IT build full automation together.
🚧 Blocker β€” Order Channel Data

The Order Channel field in contact lists still shows "KEX" instead of the actual platform (Shopee, TikTok, Lazada). This has been unresolved for 3+ weeks across multiple internal KEX teams.

Without this data, the robot can't personalize calls β€” which directly drives the high "no response" rate.

What We Need

KEX ops to map Order Channel to actual platforms in the contact list upload. AI Rudder will provide the template and assist with the transition.

This is the single biggest unlock for Part 2.

βœ… Confirmed Action Items (Carry-Forward)

Confirmed by previous team lead β€” ready to implement:

βœ… AI Rudder Can Act Now
β€’ Clarify "KEX is Kerry Express" in opening
β€’ Add "Who is KEX?" handler
β€’ A/B test concise vs current scripts
β€’ Add Lazada as supported platform
β€’ Peak windows: 8–10, 12–1, 3–4, 6–8
β€’ Bilingual Thai + English
πŸ“Œ Needs API (Phase 3)
β€’ Tracking number auto-pull from system
Requires KEX IT involvement