The North Pole Department of List Verification Hotline
Ensuring Naughty and Nice compliance since... forever
Every year around the holidays, there’s a certain kind of magic that only exists for a very short window of time. I found a way to bottle some of that in a way that involved phones, automation, and just enough whimsy to justify the effort.
The North Pole Department of List Verification Hotline was born!
You call in.
You wait.
Clementine Bell consults the official records.
And you find out where you stand.
Nice. Naughty. Or… Undetermined.
The Inspiration
The idea came from a North Pole communicator that both my sister and brother had when their kids were younger. It was a little device that let them “call” the North Pole and hear messages from Clementine Bell herself.
This hotline was my attempt to recreate that feeling. Something fun, slightly mysterious, and charmingly over-the-top just in time for Christmas.
How the Hotline Works
When you dial the hotline, the call lands in a dedicated dial plan. From there, the experience is carefully paced:
The phone rings briefly (otherwise it answers right away and you might miss something!)
The call is answered
Clementine introduces herself
She starts looking you up to see your status
Behind the scenes, that look up is powered by a little randomness:
A random “look up” audio clip plays (one of many)
A random number between 1 and 20 is chosen
That number determines your fate:
1–10 → Nice (50%)
11–15 → Undetermined (25%)
16–20 → Naughty (25%)
So yes… statistically speaking, it is easier to be Nice. Clementine believes in hot coco and optimism.
Avoiding Holiday Limbo
Early on, I realized there was a flaw:
No one wants to call twice and get Undetermined twice in a row and callers that did didn’t call back. I’d call that a poor experience.
So in a later version, I added logging for each call, noting their phone number and what their result was. With that in place, I built logic to inspect the caller’s most recent result at the beginning of the call.
If your last call resulted in Undetermined, your next call is forced to be decisive and the odds are updated:
50% chance for Nice
50% change for Naughty
No back-to-back ambiguity
Clementine’s keyboard may be full of gingerbread crumbs, but she is not inefficient…
I actually wish I had started doing this much sooner because this added functionality allowed me to run reports and provide statistics on the outcomes.
It seemed like I was making improvements almost every day after launch. (I even kept a change log!) With enhancements such as:
Removing unnecessary keypresses
Tightening timing (including keeping most calls under 1 minute)
Improving audio pacing
Making outcomes feel fair but fun
Home Assistant Integration (Because I Had To)
Eventually, I wanted to keep tabs on what Clementine was declaring in real time.
When a caller is declared Nice or Naughty:
A Home Assistant text field called “last_decision” is updated as soon as it is determined.
A virtual button called “send_decision” is pressed right after Clementine finishes reading the decision.
Undetermined results are intentionally ignored… I only wanted to hear if someone got Naughty or Nice.
A Home Assistant automation listens for that button press and sends the result to an AWTRIX display in our kitchen, so we get a festive little announcement when Clementine reaches a verdict, complete with a monophonic chime of Jingle Bells.
It’s subtle. It’s unnecessary. It’s perfect.
I even brought the AWTRIX display along to our family’s Christmas Eve gathering, which was fun for us to watch as everyone called to check their status.
Writing the Voice of the North Pole
All of the prompts were written specifically for this project and recorded using Google’s Text-to-Speech voices.
It was surprisingly time-consuming, but also a lot of fun.
ChatGPT helped me get started with the scripts, especially in finding the right tone. Clementine needed to be authoritative, cheerful, and just official enough to feel real without breaking the illusion.
A few revisions later (and some aggressive silence trimming), Clementine sounded exactly how she should.
Popular Demand
What started as a fun little seasonal project turned out to be… very popular.
So popular, in fact, that I had to move the hotline to a different VoIP service provider just to handle the number of concurrent incoming calls.
That was not a problem I expected, but I’ll happily take it.
Final Thoughts
Obviously, the North Pole Department of List Verification Hotline was never meant to be serious.
It was meant to:
Spark nostalgia
Make people smile
Add a little magic to December
Engage people using a slightly more analog technology
And, naturally, give me an excuse to build something ridiculous with FreePBX/Asterisk
Mission accomplished.
If you were one of the 250+ people that called in, thank you! I will begin working on 2026 Clementine soon so she will be better then ever next season! Please let me know if you have any suggestions!!
And remember… if your status couldn’t be determined… call back!




