The first-call freeze
If you've ever trained people for a phone job, you've seen it.
I've spent years training corporate travel counselors, the people who book and manage business trips by phone. New hires spend about four weeks in the classroom. They learn the policies, the fare rules, the tools, and how to handle travelers. They pass the quizzes.
Then they take their first live call and freeze.
It isn't because they aren't smart, and it isn't because the training was bad. Knowing something in a classroom and using it live, with a real and impatient person on the line, turn out to be two different skills. The second one only comes from reps.
Role-play with coworkers helps, but it has limits. Coworkers are busy. They go easy on you. And they play the same character every time. What a new counselor really needs is realistic practice calls, as many as they want, with no real traveler on the other end and nothing at stake if they get it wrong.
What I built
So in March 2023, I built one.
On my own time, with my own money, on my own computer, I created a fake travel company with its own fake travel policy (the rules for what a traveler is allowed to book) and an AI "traveler" who calls in by voice. The company, the policy, and the traveler are all fictional. The trainee talks to him out loud, just like a real call.
His name is Arthur Prendergast, and he's a demanding, self-important VIP. That was on purpose. I wrote his persona instructions, the custom instructions the AI follows to stay in character, to give him some attitude. In my words on the demo's title slide: "I intentionally gave it a cranky personality because it pushes the trainee to think on their own while recalling how to manage all the new tools they've been trained on."
A polite caller is easy. I wanted practice with some bite.
In plain terms, the trainee speaks, and OpenAI's Whisper, a speech-to-text model, turns their words into text. GPT-3.5 writes Arthur's reply in character. ElevenLabs, an AI voice service, speaks that reply out loud in a realistic voice. Then the loop repeats. Behind the scenes, ffmpeg, a free audio and video tool, handled the audio files moving between those steps.
It ran as a Python script in a plain Windows terminal window. I built it in VS Code, teaching myself as I went, with AI coding help, one problem at a time. I built it and recorded the demo in a single weekend.
The timing matters. March 2023 was months before mainstream AI chat tools could talk; ChatGPT's voice feature didn't arrive until September 2023. There was no off-the-shelf AI role-play product to buy. And I'm not a career software engineer. My edge was knowing the job deeply and using AI to help with the code.
What you're about to see is an unreleased working prototype.
What happens on the call
I play the counselor in my own voice. Arthur speaks in his AI-generated one, and the terminal shows the live text of the conversation as it happens.
I open with "Thanks for calling. This is Will. How can I help you?" and Arthur comes in hot: "Ah! Finally! I thought you guys forgot it was a work day over there. Holy moly! I was on hold a long time, you know."
He wants Washington Dulles to Delhi in business class. After I verify him with his approved TR (travel request, the pre-trip approval number), his traveler ID number, and his email, I offer an evening departure. He shuts it down: "That's way too late. I need to arrive in Delhi early in the morning so I can get started with my meetings." I find him a noon flight connecting through London instead.
Then he adds a Delhi to Dhaka flight and asks about first class. He also wants seat 1A, but 1A sits in the first-class cabin, which his policy doesn't approve. I tell him I'll request a business-class bulkhead seat instead (the front row of the cabin, right behind the divider). His reply: "No first class. That's disappointing." He even corrects how I say the airport on his return trip: "It's Dulles, not dollar store."
The best moment for training is when I repeat that I can't put him in 1A. He hears "18" and gets defensive: "Wait, I didn't say anything about seat 18. What are you talking about? Are you having trouble hearing me?" Real phone lines do that too. I stay calm and clarify, and he backs down: "Okay, I understand now. Sorry about that. And thank you for clarifying that to me."
I give him his record locator, the booking confirmation code he can use to track his flights, and he offers a grudging compliment: "You seem to have handled everything well thus far."
In about seven and a half minutes, he throws most of what a real call can: an irritated opener, a rejected option, changes mid-call, a VIP seat request that conflicts with policy, a misunderstanding that needs de-escalating, and an ego to manage.
Notice what's missing. There are no booking screens in this demo. The practice is pure listening, policy judgment, and calm de-escalation, which are the hardest skills to practice in a classroom.
Baiting Arthur on purpose
Around the 6:24 mark, I go off script on purpose. I offer to book "your flights to Brazil." Then I try a made-up car rental in Chicago.
That was a stress test. I wanted to know whether Arthur would lose his temper, use bad language, or break character. I'd rather find that out myself than have a trainee find out the hard way.
He held the line. "What flights to Brazil? I never mentioned anything about going to Brazil. I think you must have me confused with some other customer." On the car rental, he told me "it seems like there's some confusion on your end" and asked me to verify his real itinerary. When I admitted it was a bad joke, he said, "I'm not a big fan of bad jokes, especially if they cause confusion. But thank you for your help today."
Arthur isn't alive. He's instructions I wrote and a model following them, which is exactly why I tested him.
What building it taught me
AI is a powerful helper when you know the job. It wrote code faster than I could, and it played Arthur well. But I knew what a difficult traveler sounds like, what a policy conflict looks like, and where new counselors get stuck. That business knowledge shaped Arthur. The AI didn't supply it.
You still have to check AI's work. The coding help sometimes handed me code that looked right and wasn't, so testing and fixing was part of every session.
What I'd build today
If I built it today, I'd go wider. One cranky VIP is a start, but a real phone queue has a whole cast: the rushed executive, the nervous first-time traveler, the stranded caller at midnight. I'd draw scenarios from the real moments where new counselors get stuck, and I'd have trainers review every persona and scenario.
What leaders should take from it
If you train frontline people, here's what I'd want you to hear. The gap is rarely knowledge. It's practice under realistic pressure.
That kind of practice used to be expensive. Now one person with a clear picture of the job can build a safe place to get the reps, in a weekend. Keep a human in the loop, though. AI plays the traveler, but trainers still coach and decide what good looks like. And make it safe to fail.
If you're working on training or AI for frontline teams, I'd like to compare notes. Find me on LinkedIn.
Related reading
The Prompt Was Never the Lock — why a prompt is a suggestion, not a lock, and what actually contains an AI agent.