I Stopped Talking About AI Agents and Built Six of Them
I've spent 30 years in technology. Most of them inside enterprise walls, managing global teams, running infrastructure transformation programs, sitting in rooms where the words "AI strategy" get thrown around like confetti.
And I realized something.
Everybody's talking about AI agents. Everybody has a roadmap. Everybody's evaluating frameworks, attending demos, scheduling pilots.
Almost nobody is actually running them.
So I built them. Not as a proof of concept. Not as a demo for a board deck. I built them to run a real business.
MoeCloud Group is my managed IT services company. It's been around since 2006 — started as traditional IT consulting. But over the past year, I rebuilt it from the ground up with AI at the core. Not "AI-enhanced." Not "AI-assisted." AI-native.
Today, MoeCloud runs with six AI agents and zero full-time employees.
Joshua handles operations — he answers the phone, remembers who's calling, creates tickets, and routes work. Jordan runs sales — he follows up with leads via email and outbound phone calls, with his own voice. Chad manages technical support. Stacy handles invoicing and accounts receivable. Lucy runs project management, but more than that, she monitors the other agents and triggers them to fix issues before I ever see them. Maya handles marketing and content.
They don't just send messages. They make real phone calls with real voices. They generate quotes, schedule follow-ups, send invoices, track project milestones, and publish content across platforms — autonomously.
I didn't build this to prove AI could do it. I built it because I needed it done and I was one person.
Here's what nobody tells you about building AI agents for real work.
Agents need job descriptions. Seriously. When I first deployed them, every agent could technically do everything — access any data, take any action. It was chaos. Not the dramatic sci-fi kind. The boring kind. Duplicate follow-ups. Conflicting ticket updates. Three agents responding to the same email.
So I built what I call an authority matrix. It defines exactly what each agent can do on their own and what requires my approval. Joshua can close a junk ticket by himself. He can't authorize a refund. Jordan can send a follow-up email. He can't commit to a price without my sign-off. Every agent has a clearly defined lane. Sound familiar? It should. It's how you'd run any team.
The safety problem is real and it's boring. Not "AI takes over the world" scary. More like "your sales agent calls the same prospect four times in one day" scary. I built a seven-layer safety stack. Global kill switch. Per-agent controls. Business hours enforcement. Rate limiting. Eligibility filters. Script compliance checks. Full audit trail. A first-five-calls approval mode so new agents queue their scripts for my review before they're allowed to dial.
The most useful safety feature? A 30% circuit breaker. If more than 30% of call recipients hang up or opt out, the agent automatically pauses and alerts me. Because if your AI is annoying people at scale, you want that stopped before your phone number gets flagged.
The hardest part isn't the AI. It's the data. I spent more time cleaning junk records, fixing malformed email addresses, closing orphaned tickets, and building triage filters than I spent on any LLM integration. Ghost form submissions, mail backscatter loops, test data leaking into production views — that's where the real work lives. You can have the smartest model on the planet, and it's useless if it's reasoning over garbage data.
The part that actually surprised me?
The dashboard. I built a real-time operations dashboard where I can see everything — pipeline health, active tickets, outbound call stats, project status, content calendar. But the piece that changed how I work: I can open a chat window with any agent and just... talk to them. On my phone. From my bedroom at 11pm.
"Hey Chad, are there any outstanding tickets?"
"Jordan, what's the status of the David Acosta lead?"
"Lucy, did anything break today?"
They answer with context. They know their domain. They pull from their data. It's not a chatbot experience. It's more like texting a colleague who never sleeps and never forgets.
Everyone wants the AI agent future. Very few people are willing to sit through the 248 failing tests, the XML escaping bugs, and the 3am Firestore index errors that get you there.
Here's what the system looks like under the hood, for those who care about the technical reality:
Tech Stack: 111 Cloud Functions running on GCP Firebase (Node.js 22) · Firestore for all data · Anthropic Claude API for reasoning · ElevenLabs for voice synthesis · Twilio for phone calls · HeyGen for video avatars · Next.js dashboard on Firebase Hosting · 248 automated tests across 16 suites · Stripe for payments · Remotion for video post-production
All of it runs on Google Cloud. My Mac Studio is for development. If I turn it off tonight, every agent keeps working, every call gets answered, every cron fires on schedule. That's the point — it's not a side project that needs me babysitting it. It's infrastructure.
People ask me why I'm building this when I have a senior leadership role at one of the largest banks in the world. Honest answer? Because I've sat in enough strategy meetings to know that the gap between "AI strategy deck" and "AI actually running in production" is massive. And the only way to close it is to build.
I don't learn by watching demos. I learn by hitting the Firestore index error at 11pm and fixing it before the morning cron fires. I learn by discovering that my TwiML had unescaped ampersands that were causing Twilio to play an error message to real callers. I learn by realizing my project management agent was sending me 15 alerts a day about problems every other agent could have fixed on their own — and rewriting her to be a manager, not a reporter.
That's the kind of knowledge you can't get from a whitepaper.
Three things I know now that I didn't know a year ago:
AI agents need accountability, not just capability. Giving an agent access to data isn't enough. You need to define what it's allowed to do, what it needs approval for, and what happens when it fails. If you wouldn't let a new hire send invoices on day one, don't let your AI agent do it either.
Infrastructure decides who scales. Everyone's debating which model is best. Meanwhile, the companies that will win are the ones solving the boring problems — data quality, deployment pipelines, monitoring, cost management, safety controls. You don't move data to AI. You bring AI to the data.
The human in the loop isn't a weakness. It's the product. My clients don't want fully autonomous AI. They want AI that handles the 90% and brings the 10% to a human who makes the final call. The authority matrix isn't a limitation. It's the reason people trust the system.
I'm also building SimpliInvest — an AI-powered investment analysis platform. And BlockchainAI Foundation, an educational initiative at the intersection of blockchain and AI. I build because I believe the best way to understand a technology is to ship it.
If you're thinking about AI agents, AI infrastructure, or how to operationalize AI beyond the pilot stage — I'm always up for the conversation.
Connect with me: mosesacosta.ai · moecloudgroup.com · LinkedIn · moses@mosesacosta.ai
Author: Moses Acosta is SVP of Global Next Generation Engineering at Citibank and Founder of MoeCloud Group LLC. He's been in technology for 30+ years and is an active member of Dell, HPE, and Lenovo Technology Advisory Councils.