I run three companies. A home-building company in McAllen, Texas. A building-materials store in Tulum, Mexico. A last-mile trucking company in Miami. They work in two languages and two countries.
I don’t have a big office behind them. I have a set of AI agents, mostly Hermes and Claude, with Grok on some jobs. They sort my email and draft lead follow-ups. They summarize calls and write marketing drafts. Every morning there is a digest. Then they wait for me.
Here is what I’ve learned doing it. Some of it I learned the expensive way.
Agents draft. I approve.
This is the rule everything else sits on. Nothing an agent writes goes to a customer until a person reads it and says yes.
The agents are fast and they are often right. Often is not good enough when the email goes to someone deciding whether to build a house with you. One wrong promise about a date, a price, or a warranty costs more than a hundred good drafts save.
So the agents write drafts. I approve, edit, or throw them out. Lead follow-up is capped at four touches, and every one of them waits for approval. If I don’t approve, it doesn’t send. That’s the whole design.
It’s slower than full automation. It’s also the reason I trust the system enough to use it every day.
One channel per topic
Early on, everything came to me in one stream. Leads, invoices, trucking updates, store inventory, bot errors. I missed things because important messages sat between routine ones.
Now each topic has its own channel. Leads in one place. The trucking company in another. The store in another. System alerts in their own place. When I open a channel I know what kind of decision I’m about to make.
It sounds like a small thing. It changed how fast I clear the day.
Agents fail silently
This is the one that worries me most.
A scheduled job can run, finish, report success, and still be wrong. The log says green. The output is bad.
A real example. A closing happened on one of our houses. The daily board said it hadn’t. The job that builds the board ran on time and reported no errors. The problem was that the confirmation email came in 12 minutes after the job’s cutoff. The job did exactly what it was told. It just told me something false.
Nothing crashed, so nothing alerted. I only caught it because I knew the closing had happened.
What I do now:
- I check the outputs, not only the logs. “It ran” and “it’s right” are different questions.
- Jobs that report on important events look back further than they need to, so a late email still gets counted.
- When a board says something didn’t happen, I treat that as a question, not a fact, until I’ve seen it confirmed.
If you run any automation, assume it will be wrong at some point without telling you. Build in a way to notice.
Bots on social media can do worse than a person
I have bots that draft posts for social media, including X. I’m auditing them right now, because the results haven’t matched what a person gets posting in their own voice.
I don’t have a final answer yet. What I can say is that volume isn’t the same as reach. A post that sounds like a machine wrote it gets treated like a machine wrote it. For customer-facing channels, I’d rather post less and sound like myself.
Watch the cost
AI isn’t free, and it doesn’t get cheaper on its own. Every draft uses tokens, and tokens cost money.
One of my more expensive bots burned through its weekly budget in six days. Nothing was broken. It was doing its job, just with a large model on tasks that didn’t need one, and more often than it had to.
What I do now:
- Every agent has a budget, and I check spend weekly.
- Cheap models do the sorting and routing. Expensive models only get the hard work.
- If a job runs every hour and the answer only changes once a day, it runs once a day.
Humanize anything the public will read
Agents have habits. They like the same phrases, the same three-part lists, the same big openings. Customers notice, even if they couldn’t tell you why.
So anything public goes through a pass before I approve it. Short sentences. Real numbers when I have them, and no numbers when I don’t. No invented examples. It reads like me because I make it read like me.
The approval gate
If I had to name one idea from all this, it’s the approval gate.
Every agent action sits on one side of a line. On one side are things it can do on its own: read, sort, summarize, draft, remind. On the other side are things that need a person: sending to a customer, spending money, changing a price, posting in public, making a promise.
Drawing that line on paper, before building anything, saved me more trouble than any tool did. When something new comes up, the first question is which side of the line it goes on.
What I’d tell a small business owner starting out
- Start with one job. Pick the most repeated, most annoying task. Missed calls, follow-ups, or email sorting are good first ones. Don’t try to automate the whole business at once.
- Keep yourself in the loop. Let the agent draft. You approve anything a customer sees.
- Give each topic its own place. One channel for leads, one for billing, one for alerts.
- Check outputs, not only logs. Once a week, spot-check what the system produced against what really happened.
- Put a budget on it from day one. Know what it costs per week before the bill tells you.
- Read what goes out. If it doesn’t sound like you, rewrite it.
- Write down what broke. Every failure I’ve had taught me a rule. Write it down so you don’t learn it twice.
The agents save me real hours. They don’t run my companies. I do, with a lot more help than I used to have.