← Back

How the outbound system is built

I designed Invoisync’s outbound system and run it. I chose every tool, wrote the rules, and tested and fixed it. Claude was my engineer: it wrote most of the code and workflow logic to my spec. Here is what each layer does, what runs it, and what broke along the way.

The layers

Find

CMS NPPES API · Apollo

  • A weekly pull of newly registered and updated providers from the federal NPI registry, so new practices appear before competitors find them.
  • Apollo adds owners and decision makers for established practices.

Qualify

Bouncer · Serper · n8n

  • Every email is verified before anything sends.
  • A weighted score (specialty, size, distance from a current client, hiring signals) sets the order. A practice posting a biller job has a billing problem this month.

Reach

Instantly · thanks.io · Google Ads · GoHighLevel

  • Short, plain emails written per specialty, from five warmed sending domains. Replies write back to the CRM; a booked call pauses everything.
  • Postcards for practices with no findable email, under a hard monthly cap.
  • Search ads that land on a page written for that ad, with conversions reported back.
  • A trained offshore caller working a Do-Not-Call-scrubbed list inside the CRM.

Answer

GoHighLevel Voice AI · Claude · Cloudflare

  • A website assistant answers from approved material and books calls. It screens out patient information before anything is stored.
  • An after-hours voice agent qualifies callers and books them. It discloses that it is AI and never quotes price.
  • Missed calls get a text back within minutes.

Close and hand off

GoHighLevel · n8n

  • Quote and agreement go out as one document, same day as the call.
  • On signature, the client goes to the operations manager automatically with everything learned in the sale.

Run and improve

n8n on Railway · healthchecks.io · Claude

  • Calls are recorded with disclosure; transcripts become CRM notes and follow-ups, and calls are scored against a written rubric for coaching.
  • Health checks watch every scheduled job and alert my phone.
  • A weekly AI review reads the funnel by channel and proposes ranked fixes. It is read-only; I approve every change.
  • Tools and hosting run under $800 a month.
What broke, and what I changed

Running it means fixing it

Ads served nothing for eight days. The cost-per-click cap sat below the market price for the keywords, so the campaign never entered an auction. I checked the cap against the planner’s top-of-page bids, raised it, added long-tail keywords, and made that check a step before any ad launch.

Hundreds of prospects were loaded under the wrong first line. Copy written for brand-new practices was attached to established ones. The weekly review caught it before a single email sent. I re-split the list by segment and added a pre-upload check that the opening line fits the segment and every merge field has data.

The voice agent had a pricing line it shouldn’t. A prompt revision reintroduced a line about fees. Simulated test calls caught it. Now every prompt change is re-tested against a scripted call set and must pass 90% before it goes live.

The watchdog cried wolf. Our own test calls were counted as customer replies and fired alerts. I filtered by channel and tagged internal numbers so only real prospects trigger anything.

← Back to Phil Gilliam