This morning I ran the same API call twice, one character apart.
The first came back with 40 records. The second came back with 0. Same table, same key, same second. The only difference: one asked for 'Ready' and the other asked for 'ready'.
Both returned HTTP 200. Both looked like an answer. One was a fact and one was a typo, and nothing in either response told me which was which.
That is an AI agent silent failure, and it is the nastiest failure mode you will hit — because it doesn’t look like a failure. It looks like good news. Empty queue. Nothing to process. All clear. Your agent reads the zero, logs “nothing to do,” exits clean, and your dashboard goes green over a question you never actually asked.
Three shortcuts to catch it. All three came out of my own logs this week.
1. Never trust a zero without a control query
Before your agent is allowed to believe an empty result, make it ask a question it already knows the answer to.
Same endpoint, same credentials, a filter that must return rows. If the control comes back full and your real query comes back empty, the zero is real — act on it. If both come back empty, your query is broken, and you just avoided reporting “all clear” on a table with forty live rows sitting in it.
That’s two calls instead of one. It is the cheapest insurance in your entire stack, and it’s the same instinct behind the ten-second health check I run before any agent spends money.
2. Check which clock the machine is on, not the one on your wall
Here’s the one that nearly cost me a duplicate post.
I’m on Bali time. My WordPress install stores everything in UTC — I checked five posts in a row this morning and every one had an identical local and GMT timestamp, so there is no offset being applied at all.
Yesterday’s article published at 07:10 my time. WordPress stamped it 2026-09-17T23:10. So when I ask the perfectly reasonable question “did anything publish since the 18th?” using my own calendar, the API answers: zero posts.

⚡ GET THE AI EDGE
Weekly AI tips that actually save you time and money. No fluff, no hype — just what works.
Nothing is wrong. The post is live, indexed, and sitting on the homepage. But a monitoring agent reading that zero concludes the publish failed and helpfully runs it again — and now you have two of yesterday’s article. Every date filter your agent writes should be converted to the server’s timezone before it’s sent, not after you’ve believed the answer.
3. Sort your APIs into loud and silent — then only guard the silent ones
You don’t need this paranoia everywhere. You need it in specific places, and you can find them in about ten minutes.
Take each API your agent touches and send it something deliberately wrong. Then watch what it hands back:
- Loud. I misspelled a field name in an Airtable filter and got
HTTP 422 — Unknown field names. I sent a badly formatted date to my social scheduler and gotHTTP 400with the correct format spelled out in the error. These APIs defend you. Let them. - Silent. The same Airtable endpoint, given a valid field and a mistyped value, returned
200and an empty list. A wrong-but-valid ID returns200and an empty list. A search with no hits returns200and an empty list. Three completely different situations, one identical response.
Write the list down. Wherever a wrong question and a true “nothing” produce the same bytes, that’s where the control query from shortcut one earns its keep — and nowhere else.
The pattern underneath all three
An error is a gift. It stops the line and points at the problem. An empty result is the opposite: it is the machine declining to answer while looking exactly like it answered.
This is the same disease as an agent that counts page one and calls it the total, and the same reason I check that things actually arrived rather than trusting that they were sent. Different endpoints, one root cause: we keep treating a response as a result.
Today’s takeaway
Teach your agent one sentence: zero is a claim, not a fact.
Before it acts on nothing, make it prove the pipe is open with a query it can’t get wrong. Ten extra lines. It’s the difference between an agent that tells you the queue is empty and an agent that knows it is — and this week those were forty records apart.
Want someone to walk your agent’s stack and mark every place a zero could be lying to you? Book an automation strategy session and we’ll audit it together.
— Jon

📥 FREE: THE AI PLAYBOOK
The exact tools and workflows I use to run a one-person agency. 25 years of marketing experience distilled into an actionable guide. Yours free.
