My Agent is Making the Buying Decisions
Choosing tech based on what accelerates my agentic workflow means I focus on what to build and why, not how to navigate dashboards. When Claude Code can use Vapi's CLI but struggles with ElevenLabs' UI, the decision makes itself.
My voice agent couldn't navigate phone menus. ElevenLabs wasn't sending the right DTMF tones, and I needed these outbound calls working yesterday. I had to switch platforms mid-deployment to work around the phone menu issue. What I discovered was a more agent-friendly developer experience, and I'm not going back.
A few months ago, I wrote about this shift. I discussed how the future belongs to tools AI agents can use, not just humans. Now it's playing out in production.
I'm deploying voice agents for a client. I started out with ElevenLabs and they have amazing voices and a very slick product. Their Agents Platform connects telephony solutions, LLMs and their voice technology with a lot of structure to help you get started easily. I hit a snag in early deployment though. ElevenLabs couldn't send the right tones to navigate phone menus and I evaluated other options. My voice agent makes outbound calls to businesses so the issue was a deal-breaker.
Vapi is a less slick product. ElevenLabs touts itself as "the most realistic voice AI platform" and Vapi is "Voice AI agents for developers." Both deliver on their promises, but the distinction matters. The fact that Claude Code can use Vapi's CLI and API to manage, configure and debug the whole platform is the game changer.
I can still use ElevenLabs voices via Vapi so ElevenLabs is still in the mix, but less time sifting through docs and dashboards means more time building. ElevenLabs provides an intuitive experience for building voice agents, but Vapi allows me to save my intuition for what I want my agent to do, rather than how to navigate their product. When I had trouble configuring post-call analysis, Claude Code pulled Vapi's "structured outputs," identified the issue, examined my code, adjusted the data types, and updated my implementation to match. *chef's kiss* And I can get back to iterating on the actual content of the agent to make sure it's representing my client well and achieving their aims.
This wasn't even the first architecture choice I made in this project to optimize for my AI driven workflow. I initially built the backend portion of this agent on N8N, a workflow automation tool with lego-like building blocks of functionality to connect together like a Zapier. I chose it because it would provide an easier interface for a less technical client to take ownership of this agent after I was done. I found that the abstraction of N8N, while clearly focused on making the technical process more accessible, also created more complexity and fragility. Claude Code was much happier building a fully bespoke web service and I could iterate much faster.
I'm seeing this pattern in forward-thinking developer tools everywhere. My friends at Tiger Data recently made a similar move. With the launch of their "Agentic Postgres" product, they shipped a CLI app and an MCP server. Their database is technically quite impressive but what I care most about is that the CLI handles all of the configuration, setup and provisioning of db instances for my projects. No crawling around their dashboard on the web to find connection strings and configuration options. More time actually shipping. For comparison, Supabase is a great product and I appreciate the one-stop shopping of database, storage and auth, but I do come initially for the database. When I spin up a new project with them, tracking down the API keys and database connection info is frustrating. Annoying little game of "where did I put those car keys" every time.
Many companies are baking AI into their products to improve the thing they have always done. The next iteration delivers those features more seamlessly. Less slick interfaces for people and more interfaces that fade into the background while agents do the work. Because AI tools are more powerful when they can pull the levers and see the outcomes in a full feedback loop. Then, even when they aren't perfect on the first pass (and they aren't), they can iterate towards success.
It is developer tools today, but it will be everywhere tomorrow. The future is 100% tools my AI tools can use. I'm choosing my stack accordingly.