Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An AI Ops Team for a Services Business

An AI Ops Team for a Services Business

I built a small AI ops team that runs the boring-but-critical parts of sales and marketing for two small businesses, FastRuby.io and OmbuLabs.ai: lead enrichment, CRM hygiene, follow-ups, compliance, and social content.

It's not a SaaS tool, it's text files and Ruby code I own, running on my own machine, orchestrating nine specialized Claude Code subagents that read my real business systems every morning and hand me one page of decisions.

Anything safely reversible happens automatically; everything else, every email, every new outreach, waits for my sign-off as a draft or a proposal.

This talk covers how it's built, what problems it solves, and why that trust model (observe, draft, propose, approve) is what actually lets you hand real work to AI agents without losing control of your business.

Avatar for Ernesto Tagwerker

Ernesto Tagwerker

September 29, 2026

More Decks by Ernesto Tagwerker

Other Decks in Technology

Transcript

  1. OMBULABS.AI CUSTOM AI SOLUTIONS FASTRUBY.IO + OMBULABS.AI An AI ops

    team for a services business I built an AI team that runs the boring-but-critical parts of sales and marketing operations for two small businesses, so I don't have to choose between doing the work and growing the business. Not a SaaS tool. Code I own, running on my own machine, orchestrating the tools I already pay for.
  2. THE PROBLEM Every services business hits the same wall Leads

    need loading CRM data rots Follow-ups slip Someone has to research, qualify, and load them into the CRM. Bounced emails, job changes, duplicates, stale properties. "I'll circle back" turns into never. Compliance is manual Content needs feeding It all competes Unsubscribes, do-not-contact, marketing law. Easy to miss. Writing and scheduling never survives a busy week. With running the business, and with family time. None of these are hard individually. There are just too many of them, every day, each a 10-minute task that never feels urgent until a deal is lost.
  3. THE IDEA A virtual ops team, not a bigger to-do

    list Reads across my real business systems every morning. Triages what actually needs a human decision today. Drafts the busywork (emails, CRM cleanup, social posts) for me to approve. Never acts irreversibly without my sign-off. A small, tireless ops staff, one job each: CRM Funnel Follow-up s Content Engineering work Manages the rest of the team
  4. HOW IT'S BUILT The system sits on tools I already

    pay for OUTPUT Coordinator → ignore list → one morning brief Saved to a small web app, browsable like a log Nine specialized agents on Claude Code, run in parallel, one domain each AGENTS Blog review HubSpot triage Eng-ops health Accessibility audits GitHub / Jira triage Marketing Prospecting Chief of staff Ruby pipeline Postgres + JSON snapshots FOUNDATION ~20 focused scripts, one small client library per integration Remembers what's been drafted, dismissed, and said TOOLS HubSpot Gmail Kit Apollo.io Buffer GA4 Google Calendar Calendly Jira GitHub
  5. A DAY IN THE LIFE One command runs the Daily

    Brief each morning 1 2 3 Compliance first Nine agents run Safe work is drafted The rest is proposed I get one page Bounces, unsubscribes In parallel, each scanning and do-not-contact its own slice of the refreshed before anything business. drafts. Nudges for silent threads, bounce replies, opt-outs synced from unsubscribes. 4 5 Anything that spends What happened money, sends a cold automatically, what needs email, or touches a live my call, and why. system in a new way waits for a yes/no.
  6. A DAY IN THE LIFE The brief is one page

    of decisions Daily Briefs ← All briefs Daily Brief — Monday Two decisions need you today: a proposal awaiting pricing sign-off and a newsletter copy approval. About 50 stale tickets are ready to bulk-close. Jira (12 items need you) Awaiting your decision (3) ABC-101— Proposal draft — pricing sign-off before it is sent ABC-102— Newsletter issue — copy approval due Wednesday ABC-103— Landing page update — your review Close as stale (~50) Issues idle for 6+ months across several projects. HubSpot Illustrative example, modeled on a real brief. Items, numbers and IDs are invented. Do today (3) Follow up on a quiet proposal— no reply in 10 days Update a contact who changed jobs— feeds the prospector
  7. WHAT IT SOLVES It handles eight recurring problems Lead pipeline

    CRM hygiene Follow-ups Compliance Newsletter signups filtered, enriched, and loaded into the CRM as qualified prospects. Duplicates, orphans, job changes and bounces fixed continuously, with approval. A queue tracks days-silent and touch count, through to a graceful break-up email. Unsubscribes and bounces honored same-day, with an audit trail. The one place it acts without asking. Social content Prospecting Self-audit Queues kept at 14+ posts per channel from updated and evergreen articles. Public signals like hiring trends and community activity, scored and checked against the CRM. Engineering throughput Stale tickets and work stuck "in review" for weeks surfaced team-wide. One agent checks the others for drift, dead references and repeating problems.
  8. THE TRUST MODEL AI observes and drafts; I approve anything

    irreversible Act, high-regret Act, reversible Draft Spends money, contacts someone new, or touches a live system in a new way Proposal blocks MY APPROVAL Honor an unsubscribe, flag a hard bounce, top up the social drafts queue NAMED EXCEPTIONS Every email lands as a Gmail draft. A human sends it. ALWAYS Every report ends with "Proposed actions (require approval)". One rulebook owner One meta-agent may edit how the team operates. Every other agent stays in its lane. Audit trail Observe Read-only by default. Observe and propose. ALWAYS Every brief is saved and browsable, so decisions are traceable.
  9. BEYOND ONE BUSINESS The pattern works for most small businesses

    The systems you already use + Narrow agents that each do one job well + A human gate before anything not safely reversible The technology is now mature and cheap enough that a single operator can build this in evenings and weekends, with no engineering team.
  10. APPENDIX Tech stack Language Ruby, stdlib-first for the core pipeline,

    gems welcome for newer scripts AI layer Claude Code (Anthropic): a coordinator + 9 specialized subagents, run daily via a single command Data Local PostgreSQL + JSON snapshots for cross-run state Integrations ConvertKit/Kit, Apollo.io, HubSpot, GA4, Gmail, Google Calendar, Calendly, Buffer, Jira, GitHub Internal app A small Hanami web app to browse historical daily briefs Ownership Private repo; data stays in our systems. Internal tooling, not a product.