EyreAustero

CallBridge AI: Outbound Booking Voice Agent

What It Does

When someone submits the consultation form, ticks the box asking for a phone follow-up, and looks like a serious enquiry, CallBridge AI telephones them about five minutes later.

The agent says up front that it’s an AI calling on behalf of Eyre Austero. It confirms it’s reached the right person, asks what they’re looking to automate, checks live calendar availability, and books a discovery call before the conversation ends. If they’d rather not book on the call, they get an email with a booking link so they can pick their own slot.

Nobody picks up the phone at either end except the lead.

Use It Live

This connects to the live Request a Consultation form. To experience the voice agent flow, submit an inquiry with your phone number and select the AI-assisted follow-up option.

The Problem

The best moment to reach someone is a few minutes after they describe their problem. They’re still at the desk. The problem is still annoying them. Three hours later, the same call is an interruption.

A solo operator can’t serve that window. The form arrives at 2 PM during a client call, gets seen at 5 PM, and the call happens the next morning — by which time the lead has cooled, forgotten the details, or hired whoever answered faster.

So the obvious build is to automate the call. The obvious build is also where the risk lives.

An automated email that goes out wrongly is an annoyance. It sits in an inbox and can be deleted. An automated phone call that goes out wrongly interrupts a person wherever they are, can’t be recalled mid-ring, and arrives from a number they don’t recognise. The apology can’t happen in the same channel with the same weight, because the intrusion has already been spent.

An engineer sizing a pressure vessel doesn’t set the safety factor from how often it’s expected to fail. They set it from what happens when it does. That’s the reasoning behind everything below.

How It Works

CallBridge is part of the Lead Capture CRM rather than a standalone tool. The CRM decides whether a call should happen. CallBridge decides whether it may happen, and then makes it.

Before the call — six gates.

Between the decision to call and the phone ringing, the request passes six conditions. Is outbound calling switched on? Do we have a name to greet them with? How many submissions have come from this address in the last day? Is the number properly formed? Then a five-minute pause, so the confirmation email lands before a stranger rings. Then two more: is calling still switched on, and have they booked themselves in the meantime?

During the call.

The agent confirms identity before anything else, explains what the consultation is, and handles the ordinary awkwardness of real phone calls — someone else answering, a request for a callback, a vague “sometime next week,” questions about pricing. It books directly into the calendar during the conversation and offers alternatives if the slot’s taken.

It can only book consultations. It won’t quote prices or answer technical questions; it redirects those to the call itself. The instruction is explicit in the agent’s own configuration — a booking assistant, nothing more. That’s deliberate — a voice agent that tries to answer everything can give wrong information or make commitments that have to be honoured later. Narrow scope means it does one thing reliably, and every question it can’t answer is another reason to book.

It also can’t transfer to a human, and doesn’t pretend otherwise. If someone asks for a real person or gets frustrated, the agent says so plainly and offers WhatsApp as a direct channel instead — which is the one place in the whole call where it asks for anything not already on file.

After the call.

The platform sends the transcript for extraction, and the outcome routes accordingly: booked, declined, bad timing, or a call that never connected at all. Non-booked outcomes get a follow-up email with a booking link. Any WhatsApp number offered is captured to the record and flagged.

Two outcomes are handled differently, and that’s the next section.

System Architecture

CallBridge AI is a two-workflow voice subsystem inside the larger Lead Capture CRM. The CRM hands off qualified leads who explicitly requested AI-assisted phone follow-up.

The Voice Agent Caller handles the pre-call safety checks and starts the conversation through Retell AI and Twilio, with Cal.com providing live availability and booking. After the call, the Post-Call Handler writes structured outcomes back to Airtable and routes follow-up or human review where needed.

Both workflows are connected to the CRM’s shared error-handling workflow.

Current verified implementation: 2 n8n workflows — 26 nodes in the Voice Agent Caller and 28 nodes in the Post-Call Handler.

Screenshots

Voice Agent Caller: The live n8n workflow applies six pre-call safety gates, including a five-minute delay followed by fresh checks of system status and booking state before any call is placed. Failed checks stop the call and record the reason in the CRM.

Post-Call Handler: Retell call events are routed so each call has a single owning event. Connected and never-connected outcomes follow separate CRM paths, while Frustrated or Opt-Out results pause the lead and require human review before any further lead-facing message is sent.

Voice Agent Configuration: The live Retell AI agent uses GPT-5.1 for a narrowly scoped booking conversation, with explicit AI disclosure, CRM-fed lead context, live scheduling tools, and instructions that prevent it from claiming actions the system did not complete.

Earlier Booking Test: A connected Retell test call completed with a Booked outcome, recorded audio, structured call data, summary, and transcript. The agent has since advanced to the current V31 configuration shown above.

What Makes It Interesting

Six gates before the phone rings — and two of them exist because of the five-minute wait.

The pause is there for the lead’s benefit. It’s also the only interval where the world can change between the decision and the act. In five minutes, the operator might notice something wrong and switch calling off; the lead might go to the site and book a slot themselves. Neither is exotic, and both make a pending call wrong in a way it wasn’t when it was authorised.

So both facts are re-read at the last possible moment. It’s the same instinct as checking a warrant is still valid when it’s executed rather than when it was signed. Authorisation is a fact about a point in time.

The sixth gate exists because it happened.

A real lead submitted the form, then booked herself during the five-minute wait. The call fired anyway. The agent rang to book an appointment she’d already made, then tried to book the slot she was already holding.

Every workflow reported success. Nothing crashed, nothing was logged as an error. The system did exactly what it was told, and the result was a live call to a customer that should never have been placed.

That’s the failure worth naming — not the exception, but the clean execution of a decision that has quietly expired. The gate that fixes it was itself scrutinised for the bug it might introduce: it checks for “no appointment, or an appointment in the past,” because checking only for “no appointment” would have permanently disqualified anyone who’d ever booked from ever being called again. Trading a rare wrong call for a permanent silent exclusion would have been the worse deal.

The system refuses to make one decision by itself.

When a call is flagged as frustrated or as a request to stop being contacted, two things happen immediately: the lead is paused so no automated follow-up can reach them, and nothing is sent to them at all. The system stops and asks for a human.

The review comes with the call summary and a link to the recording, and offers two choices — treat this as a genuine opt-out, or as someone who was simply annoyed at a badly timed call.

Everything else in the system is handled automatically, including emails to leads. This gate isn’t here because automation is untrustworthy in general. It’s here because a transcript records what was said, not whether “I’m not interested, stop calling me” was irritation or a withdrawal of consent. Those sound identical in text and carry completely different obligations.

The ordering is the design. The pause comes first, before any human looks at anything, because the cost of pausing someone who was merely annoyed is a delayed apology — and the cost of not pausing someone who withdrew consent is contacting them again after they asked you not to. Those aren’t symmetric, so they aren’t treated symmetrically.

The model was chosen for honesty, not cost.

In testing, a cheaper conversational model told a lead their appointment was booked without ever having called the booking tool. They’d have rung off believing they had a meeting that existed nowhere.

That isn’t a quality trade-off to be weighed against price. A voice agent taking real-world actions has to be exact about which actions it has actually taken, because the person on the phone has no way to check and will act on what they were told. A model that narrates work it didn’t do is disqualified from the role.

The same failure is guarded a second time in the agent’s instructions: if the booking tool errors, it is told explicitly not to say the booking is confirmed, and to promise an emailed link instead. Two defences against one failure, because that particular lie is the most expensive thing this system could say.

The pattern repeats elsewhere. The agent may only quote appointment times the calendar actually returned — never rounded, never inferred. It won’t agree to a callback, because nothing in the system can place one; it says it can’t and offers email. And on a wrong number it apologises and hangs up without the usual promise of email follow-up, because the person who answered never asked for anything and shouldn’t be handed a commitment.

None of that is the model being careful. It’s the instructions refusing to let it be helpful in ways that would turn out to be false.

The disclosure has to survive the follow-up email.

The agent discloses on every call, and is instructed to answer honestly whenever a lead asks directly whether they’re speaking to a person — so the disclosure holds mid-conversation, not just in the opening line. An earlier version of the follow-up email then thanked the lead for “taking the time to speak with us” and referred to the consultation in the third person while being signed personally — three voices in one message, one of them implying a human had joined a call he’d never been on.

The call disclosed correctly and the email quietly undid it. Nobody wrote that deliberately; it emerged because the two were edited at different times by someone thinking about different things. A disclosure is a property of the whole interaction, not a line in a script, and it has to hold in every channel the system speaks through.

Honest Notes

The system runs against real traffic on a practice that’s still building its pipeline, so there are no volume or conversion figures here. Any number available today would say more about the stage of the business than the quality of the build.

Outbound calling is restricted to a permitted list of countries, enforced at the telephony layer rather than in the workflow. A seventh gate inside the workflow was considered and rejected: the provider’s permission list is the authoritative home for that rule, and keeping a second copy in the database would guarantee the two eventually disagree. The trade-off is real — a rule held in a vendor console isn’t in version control — and an audit in August found two country ranges enabled that no decision had authorised. They were reviewed and kept, and the written record corrected to match.

The human review step currently arrives by email and is scheduled to move to a messaging interface as the operations layer develops. It’s described here as what runs today, not as a settled piece of architecture.

Tech Stack

n8n (self-hosted)

Workflow orchestration, six pre-call safety gates, post-call routing, and follow-up automation

Retell AI

Voice agent hosting, real-time conversation handling, call events, and Post Call Extraction

OpenAI GPT-5.1

Conversational model used during the live call for booking-focused dialogue and tool-assisted scheduling

OpenAI GPT-5.4 Nano

Post Call Extraction of structured outcomes, call summaries, reach status, and follow-up data

Twilio

Outbound telephony through SIP and geographic calling controls

Cal.com

Live calendar availability checking and in-call discovery call booking

Airtable

Lead records, call outcomes, voice call status, notes, and system configuration

Gmail

Lead follow-up emails, internal notifications, and human-review requests

Use It Live

Submit the Request a Consultation form with your phone number and select the AI-assisted call option to experience the live voice agent flow.

Description

  • June 23, 2026

Consent-based AI voice agent that calls qualified leads who explicitly opt in, confirms identity, checks live calendar availability, and books discovery calls during the conversation.