Rex Automaton
All posts
Automation Strategy & ROIAugust 9, 202610 min read

Who Can Build a Custom AI Automation for My Business?

How we scope, build, and ship custom AI automations: real patterns, gotchas, and what to ask any vendor so you keep ownership and get a reliable result.

By Jacky Lei

If you are asking who can build a custom AI automation, here is the short answer: a team that can touch your systems, design for accuracy, and ship production code with guardrails. We build these for operators in real environments: CRMs without webhooks, legacy tools without APIs, and workflows that need audit trails and owner control.

Definition: custom AI automation is a production workflow that connects your real data and tools to an AI engine and delivers a finished result on a schedule or trigger without manual steps.

According to McKinsey, up to 60, 70 percent of employee tasks are candidates for automation in some form (source: https://www.mckinsey.com/capabilities/operations/our-insights/what-is-generative-ai). The question is not whether to automate. It is who can land it safely in your stack and keep you in control.

The problem it solves

A buyer who needs custom automation faces three options: do it manually, try a generic no-code recipe, or hire a team that designs around your exact systems. The goal is outcomes: fewer hours on repetitive work, faster response times, and fewer errors.

Answer first: manual effort does not scale and generic recipes break on edge cases. A specialist builder maps your systems, designs guardrails, and ships a runbooked, monitored workflow you own.

DimensionManual operationsAutomated with a specialist builder
Speed to resultHours or days per cycleMinutes on schedule or trigger
Data handlingCopy paste across toolsAPI or scrape adapters with validation and logs
ReliabilityPerson dependent, error proneIdempotent writes, retries, alerting
OwnershipTribal knowledge in one personCode, env, keys, and runbooks in your accounts
ScalabilityAdds headcountAdds throughput with caps and controls
ChangesAd hoc, inconsistentVersioned prompts and configs, safe rollbacks

Harvard Business Review reports firms that contact leads within an hour are nearly seven times more likely to qualify them compared with later responses (source: https://hbr.org/2011/03/the-short-life-of-online-sales-leads). Automating that first touch is a clear example of structural value.

How the automation works

Every successful build follows the same shape: one thin slice first, connected to your real data, run in shadow mode, then promoted to live with monitoring. The core components are adapters, an orchestration layer, an AI step where it adds value, and an output path with approvals where needed.

Answer first: we connect to your systems, normalize inputs, run a deterministic pipeline with an AI step, and deliver outputs to the right place with guardrails and logs you control.

  • Adapters to your tools: Where an API exists we use it. Where it does not, we use safe headless or headed browser automation and export flows. In production we shipped: iClassPro to GoHighLevel via Playwright, Apps Script to AppFolio reports, and a Railway proxy to bureau APIs.
  • Orchestration: Time triggers and webhooks feed jobs into a queue. We favor idempotent design so re-runs never create duplicates. We add caps and dry-run modes for safe launches.
  • AI where it helps: Drafting notes, classifying replies, summarizing documents. Deterministic math and business rules stay off the model. We keep prompts versioned and measurable.
  • Output channels: CRMs, inboxes, Sheets, or PDFs. We build human-approval gates where a mistake would cost money or reputation. Negative review replies and financial decisions stay gated.
  • Monitoring and logs: Health checks, error queues, and comparison logs. You can see what ran, why it failed, and how to retry safely.

Discovery to runbooked automation: Discovery and scoping. System boundary and adapters. Build and integrate the first slice. Shadow mode compare, then go live with monitoring.

Step-by-step: how to build it

1) Interview the workflow and define done

Answer first: write the one-sentence job to be done and name the safe first slice. If you cannot write it, do not build it yet.

  • What kicks it off, what data it needs, and what the finished artifact looks like.
  • Who approves negative cases and how fast they must see them.
Job: Reply to new inbound leads in under 5 minutes with a personalized first email, then create a CRM task if no reply in 48 hours.
Trigger: New form submission.
Approval: None for first touch, human for any pricing quote.
SLA: 5 minutes first reply, weekdays 08:00, 18:00 local.

2) Map system boundaries and ownership

Answer first: list the systems in play, who owns the keys, and where data can be written. Decide what can run in your accounts vs vendor accounts.

  • Keep API keys and sending domains in your org. We build with client-owned infrastructure where practical.
  • Document read only vs write paths and idempotency keys.
systems:
  - name: CRM
    read: contacts, leads
    write: notes, tasks
    key_owner: client
  - name: Email
    send_from: noreply@sub.yourdomain.com
    key_owner: client
idempotency:
  key: sha256(email + created_at)

3) Create a comparison log for shadow mode

Answer first: run the pipeline in parallel and compare AI outputs to a human or a deterministic baseline until accuracy is proven.

  • Keep prompts versioned and store comparison outcomes.
  • Only promote to live once you have a clean run across a representative sample.
create table compare_log (
  id bigserial primary key,
  job_id text not null,
  prompt_version text not null,
  expected text,
  actual text,
  match boolean not null,
  created_at timestamptz default now()
);

4) Build idempotent workers with caps and retries

Answer first: every step must be safe to re-run. Add daily caps, backoff on vendor errors, and unique constraints to prevent duplicates.

alter table outbox add constraint uniq_target unique(target_id, kind);
async function safeSend(targetId, kind, body) {
  try {
    await db.insert('outbox', { target_id: targetId, kind, body });
    await send(body); // your provider call
  } catch (e) {
    if (!/unique/i.test(String(e))) throw e; // already sent
  }
}

5) Wire human gates where errors would hurt

Answer first: auto-send the low-risk path. Queue drafts for review where the downside is meaningful.

  • Positive review replies: auto. Sensitive or negative: draft to approval queue.
  • Financial notes: draft to inbox, not auto-send.
{
  "routing": {
    "sentiment_positive": "auto_send",
    "sentiment_negative": "needs_review"
  }
}

6) Add monitoring, alerts, and a runbook

Answer first: treat it like a product. Health checks, error queues, and a single markdown runbook that tells anyone how to recover.

  • Alert on consecutive errors, pauses on vendor quota, and retries with jitter.
  • Document daily checks and known failure modes.
# Runbook: Lead Autoresponder
 
Daily: check health endpoint. If red, open logs and retry failed jobs.
Quotas: if provider quota < 10 percent, system pauses and alerts ops@.
Shadow mode: after prompt updates, run 50 jobs in compare before live.

7) Handoff: code, keys, and change control

Answer first: you keep ownership. We hand off code, env templates, and a change process that prevents unreviewed edits.

  • Repo, env var templates, infrastructure notes, and access list.
  • A short video walkthrough and a 90 day change window for small tweaks.
Handoff checklist: repo link, .env.sample, deployment notes, credentials inventory, owners, alert routes, video walkthrough link.

Where it gets complicated

Answer first: the difficulty is almost never the AI. It is the edges of real systems and the operations around them.

  • No official API: We shipped an iClassPro to GoHighLevel sync by logging in and exporting reports with Playwright. The hard part was idempotent sent-state and safe dry runs. Plan for login changes and build selectors you can update quickly.
  • CAPTCHA and anti-bot: An Ontario MTO workflow broke when the portal moved to invisible reCAPTCHA. Solved by running a headed browser on a normal machine with light de-automation, not by a solver. Know when cloud is the wrong place to run.
  • Vendor quotas and overage: A voice agent ran through a TTS overage silently. We added a quota check that pauses campaigns before extra charges. Always read billing semantics and add guards.
  • CRM stage filters must be exact: A real estate build needed only WATCH-stage leads. One casing mismatch would have dialed the wrong people. Normalize and test filters against real counts.
  • Sanitizers eat HTML: An outreach platform dropped bodies when lines had bare br tags. We wrapped each line in div and re-fetched after PATCH to verify. Always verify stored bodies post-update.
  • API blind spots: Some report endpoints accept filters but ignore them. We adapted investor reporting by swapping to filterable alternatives and fan-out per entity.
  • Trigger ownership and auth: Apps Script triggers run as the installer. Wrong owner or expired Workspace tokens silently break schedules. Document ownership and renewal steps.

What this actually changes

Answer first: the business stops burning hours on repeatable work and starts hitting SLAs and follow-ups every time. The value compounds because the pipeline runs daily without reminders.

We saw this across deployments: iClassPro trials arrived in GoHighLevel without misses, weekly investor notes went out with deterministic dates, warm outreach stayed deliverable with reply routing, and a multi-tenant intake system parsed inbound emails and pulled bureau data reliably with audit logs. Zapier's State of Business Automation found 94 percent of knowledge workers perform repetitive tasks that could be automated and 66 percent say automation lets them focus on more impactful work (source: https://zapier.com/blog/automation-statistics/). That is what a production build changes: fewer repeats, more outcomes.

Frequently asked questions

Who should I hire: freelancer, staff engineer, or agency?

Hire the team that has shipped in your stack. A freelancer is great for a narrow script. A staff engineer is right when this becomes core to your product. An agency that shows production references across CRMs, email, and legacy tools is best when you need a result next quarter without adding headcount.

How long does a first automation take to go live?

A focused first slice is measured in days to a couple of weeks: discovery, adapters, shadow mode, and a guarded launch. Larger cross-system builds run in phases. We bias for one thin slice live fast, then expand once accuracy and runbooks are in place.

What does this cost monthly to run?

Runtime is usually modest: API usage, serverless functions, and AI calls. The real cost is the initial engineering. We keep you on client-owned infrastructure where possible so you pay vendors directly and can swap components without a rebuild.

Do I need my own API keys and domains?

Yes where possible. Owning keys, domains, and inboxes protects your deliverability and keeps access in your org. We set them up during onboarding and document everything in a credentials inventory.

Can you automate a platform without an API?

Often yes. We use exports, webhooks where available, or carefully engineered browser automation. The safety net is idempotency, low cadence, and fast selectors maintenance. For some portals with strong bot defenses, the right answer is a headed browser on a normal machine.

How do you avoid vendor lock in?

Build model and provider agnostic. Keep prompts versioned, put business rules in code, and write adapters that can be swapped. Use open data stores where practical and export logs you can keep.

If you need a custom build and want to keep ownership while we ship the result, start with our custom AI integration overview, read why most projects fail in Why 90 Percent of Automation Projects Fail, then book a 15-minute call. We will scope a thin first slice and tell you in five minutes if your stack maps cleanly to this pattern.

Want us to build this for you?

15-minute discovery call. No pitch. We tell you what to automate first.

Book a Discovery Call

Related reading