What I Got Wrong as an ElevenLabs Agent Developer (4 Mistakes)
Four mistakes I made running ElevenLabs voice agents for a fuel distributor in Ireland: a silent webhook, uncounted calls, server region and proxy routing.
By Carlos Familia, CRM & AI automation expert. Updated . 5 min.
The first complaints were small. An ElevenLabs voice agent I worked on for a fuel distributor in Ireland, through a voice AI agency, was missing some post-call emails, and some calls never appeared in the dashboard.
Two findings came out of the digging. The agent's post-call webhook assignment had gone empty without an error anywhere, and my workflow on the other end showed zero executions. Separately, when I backfilled the call history from the platform, 97 calls turned up that my system had never recorded. The dashboard went from 218 calls to 315, so about a third of the traffic had been invisible.
If you are hiring an ElevenLabs agent developer, that is the lesson: the expensive failures on this platform are quiet ones. Hire someone who counts calls from the platform's own history and checks that number against what reached your systems. Here are four mistakes I made on this job, what each cost, how I found it and the fix, then the questions I would put to any developer.
Mistake 1: I trusted the webhook assignment to stay put
What it cost: while the assignment was empty, the agent kept taking calls and nothing ran on my side. No error appeared on either end. I think some of the missing post-call emails trace back to this, though I can't put a number on it.
How I found it: the evidence was in the execution count: zero runs on days the agent was answering calls.
The fix: reattach the webhook, then stop relying on it alone. The reconcile job in mistake 2 now catches calls the hook misses.
ElevenLabs' post-call webhook documentation explains why a hook can fall silent in other ways too. Your endpoint must return a 200 status for a delivery to count. A webhook with 10 or more consecutive failures is auto-disabled when its last successful delivery was more than 7 days ago, or when it has never delivered successfully.
Mistake 2: I reported only the calls that reached me
What it cost: a client-facing panel that was 97 calls short. Once they were counted, the true answer rate came out at about 27%. The backfill shows that those calls were missing from my records. It does not show why, and I won't pin them on a single cause.
How I found it: backfilling the call history from the platform and comparing it with my processed list. The gap was the finding.
The fix: a ghost-call reconcile job that compares the platform's calls with the ones my workflow handled and fills in the difference, plus a reporting rule. Start from the platform's own call history, then show how many of those calls your workflows processed. The docs add a rule worth copying: a retried audio webhook resends the full payload, so deduplicate by conversation ID. The call handler also deduplicates emails, so a retry or a backfill never sends the same email twice.
Mistake 3: I chose the server before reading the data clause
What it cost: the contract required EU data residency, and my server was in the US. It had to be fixed. I have no figure for the cost, but a mismatch like that is the kind that surfaces late in a rollout.
How I found it: the contract's residency requirement, checked against where the server actually sat.
The fix: I now ask where the data must live before I pick a host. The ERP middleware on this job also went live in phases ordered by risk, with write access to the client's ERP switched off until a later phase. The agent could look up customers and orders long before it could change anything.
Mistake 4: My reverse proxy routed to the wrong network
What it cost: no figure recorded. My reverse proxy, Traefik, sent traffic to the wrong network.
How I found it: my notes record the fault and the fix, not how it surfaced, which is a lesson on its own. Write down how you found a fault, not only that you fixed it.
The fix: correct the route, then test the public address from outside the server, because that is the path a real request takes. Tenant identity in that middleware comes from the agent ID, so each call is tied to the right client.
What checklist would I hold any ElevenLabs build to?
- Compare the platform's call count with the processed count on a schedule, and alert on the difference.
- Check the post-call webhook assignment itself, not only the endpoint behind it.
- Deduplicate on conversation ID before any email or record is written.
- Verify the signature on every webhook. The docs describe HMAC signatures checked through the ElevenLabs-Signature header, and they recommend IP allowlisting on top.
- Confirm where the data must live before choosing a server.
- Open read access first, and keep writes off until the lookups are proven.
- Test every public address from outside.
What should you ask an ElevenLabs agent developer?
- "How do you know a call happened if the webhook fails?" The answer should mention the platform's own history.
- "What happens when a webhook is retried?" Listen for conversation IDs and deduplication.
- "Where will the data live, and who confirmed that fits the contract?"
- "How will the agent reach my ERP or CRM data, and in what order?" On this job, reads came first, writes stayed off until a later phase, and the ERP sandbox passed 6 of 6 live checks. A developer who wants write access on day one is skipping the step that makes mistakes cheap.
- "Which accounts are in my name?" The agent, the telephony and the model should all bill you directly. The wider list is in the AI voice agent developer interview questions.
- "What does a minute cost?" ElevenLabs' agents pricing page lists additional call minutes at $0.08 on every plan, with 75 minutes included on Starter, 1,238 on Pro and 12,375 on Business. It says LLM usage is billed separately on top, and that an external telephony provider such as Twilio bills you directly. Ask for an estimate that includes both.
Here is the arithmetic for a batch the size of the one in this story. If 315 calls averaged 3 minutes each (my assumption, not a measured figure), that is 945 minutes. At the $0.08 additional-minute rate, that would be $75.60 before model usage and telephony. A plan whose included minutes cover the volume, such as Pro's 1,238, replaces that line with its own monthly price, which you should read on the live page.
None of these mistakes is special to ElevenLabs. Any platform with a post-call hook can fail the same way. If you build on Retell, read the Retell AI developer letter. Vendor risk is in AI voice agent red flags, upkeep in AI agent maintenance, and the basics of a call in how AI receptionists work. Agencies looking for a specialist for work like this can read AI automation agency vs freelancer. If you run an agent nobody checks, book a call.
About the author

Carlos Familia, CRM & AI automation expert. GoHighLevel, n8n, AI agents, servers. Full-stack developer.
I build CRM systems in GoHighLevel, n8n automations on my own servers and AI voice and chat agents for service businesses. Full-stack developer: I write the workflow, the API integration, the database and the server it runs on, and I test every build with real journeys before handoff.
Book a call with Carlos
In 30 minutes we look at how you get customers today and what to automate first. Pick a time ยท contact@bluemiraisystems.com