Does Your AI SDR Work Like a Self Cleaning Oven?

Tuesday looked perfect. The task queue was neat, the “call now” list was short, and nobody pinged me on Slack. By Thursday, win rates dipped two points. A week later, reps were dialing more and booking less. The AI SDR hadn’t died. It had fallen asleep.
I opened the logs and saw it: a webhook had been throwing 429s for days. Our scoring job last ran at 2:07 a.m. on the 1st and never again. An API token expired on the 15th. Nobody noticed. Why would they? RevOps was deep in renewals and a CRM cleanup. Silence is a very good liar.
How We Drift
We built the AI SDR like a new machine on the shop floor: shiny, loud, and everyone excited. Then real life arrived. Sales asked for new fields. Marketing changed UTM rules. Finance wanted pipeline numbers by EOD. The person “owning” upkeep became “everyone,” which is how ownership becomes no one.
Here’s the part nobody advertises: great automation creates new work. Not a lot, not glamorous, but real. Tokens expire. Vendors change limits. “Decay after 30 days” should actually be 14. These are small cuts. They don’t bleed. They just lower your hemoglobin.
The Pivot
I stopped treating upkeep like a rainy-day chore and made it part of growth. If pipeline is a product, maintenance is a feature.
One owner. A simple rhythm. A small dashboard. That’s it.
We wrote a single line at the top of the doc: “If this breaks, meetings drop.” It sounds obvious. It wasn’t obvious to us until we lost them.
Scenes From the Fix
The first alert I added wasn’t fancy. It was a text line: “Scoring job ran: yes/no.” The next was “Average score age: days.” Then “Tasks created in last 24h.” Three dials to read the room.
On Monday, 7:10 a.m., alert one said “no.” The cron had died after a package update. We restarted, moved it behind a heartbeat check, and wrote down the command—because future-me forgets. On Wednesday we saw average score age at 19 days (it should be under 7). The decay rule was still set to last quarter’s campaign. We changed it and watched the age slide back to 6 over the next week.
A rep told me, “My list feels smarter again.” Not a dashboard metric, but I’ll take it.
The Last-Mile Curse
Two things made this harder than it should be. First, “later.” We parked tiny chores—rotate a key, fix a mapping—behind big chores—board meeting, forecast, hiring. Second, “we’ll automate it.” I love automation. It also loves to hide its own failures. When a human forgets, you hear it. When a job forgets, you don’t.
We tried to fix everything at once and stalled. The turn came when we cut scope to what actually keeps pipeline alive.
What We Now Do
We have one owner for hygiene. Not a committee. If she’s out, there’s a backup. Every other Friday morning is a 30-minute audit: refresh tokens, scan failed webhooks, spot-check ten scored leads against raw data, compare “tasks created” to baseline. Daily, five minutes: glance at the three dials—job ran, score age, tasks in last 24 hours. No heroics.
The dashboard is boring by design. Green if normal. Amber if off by 20% against last four weeks. Red if off by 40% or job failed. No 47 charts. Just the three that keep reps busy with the right names.
Results Without Hype
Over three weeks: sync errors dropped from 57 a day to 3. Average score age moved from 19 days to 6. Tasks created returned to baseline plus 14%. Meetings per rep recovered by 22% from the dip. Time cost: roughly three hours a week across RevOps. Money well spent, considering the other option was “let it drift and hope.”
The Takeaway
Models don’t fail. Maintenance fails. If you want an AI SDR that actually helps, plan upkeep on day one: name the owner, set the cadence, and give yourself a tiny panel that lights up when things go quiet. Think of it like brushing your teeth. Boring, daily, non-negotiable—and the reason you keep the smile.
If you want the checklist and the dial definitions we use, ping me. I’ll share the RevOps audit template we start with.

Want To Dive Deeper?
If your marketing and sales team is struggling to meet quota, its time to give them a Side Kick!