Gates before sends
Consent, suppression, DNCR and calling windows are evaluated by deterministic code before any channel fires.
Accelerate · Outbound control plane
Accelerate sources against your ICP, verifies eligibility, qualifies with evidence, runs sequences, escalates to voice and books into GoHighLevel — with every transition recorded.
Sequence run SQ-2041
BookedSarah Whitlam
Eligibility Email eligible · consent evidence on file
PassedQualification 78/100 · evidence verified · confidence 0.86
QualifiedSequence Email 1 delivered · positive reply received
RepliedVoice DNCR checked · calling window respected
CompletedBooking Tue 10:30 · synced to GoHighLevel
SyncedWhy it’s serious
A vendor list is not a product. Accelerate owns the parts that fail silently elsewhere — state, eligibility, retries, evidence — so nothing important depends on a chatbot’s mood.
Consent, suppression, DNCR and calling windows are evaluated by deterministic code before any channel fires.
Every send, call and booking carries an idempotency key — a retry can never double-touch a prospect.
Scores arrive structured, with evidence and confidence. Low confidence routes to a human, not onward.
Apollo, Retell, Twilio and GoHighLevel sit behind adapters. The engine keeps its own record either way.
Scope
Each subsystem exists because its absence has a known cost — bad leads, double sends, legal exposure, or a CRM that quietly drifts from the truth.
Lead lifecycle
Follow a prospect through the engine. Every state transition is decided by code; every judgment inside a step is made by a model — and both leave a record.
Book a pilot reviewStage 01 · Prospect acquisition
Leads arrive from a defined ICP query — never a scraped pile. Duplicates are removed before a single enrichment credit is spent.
Dedupe runs first — paid enrichment is never consumed on a duplicate.
Stage 02 · Enrichment
Company-site research fills in services, sector, locations and recent activity. Each field is stored as a claim with origin, time and confidence.
Field-level provenance means any statement in outreach can be traced back to where it came from.
Stage 03 · Compliance gate
A deterministic rules engine evaluates each channel against consent evidence, suppression state and calling windows. The result is explicit — with reasons.
“Apollo has an email” never equals “consented”. Eligibility is recomputed, not assumed.
Stage 04 · AI qualification
The model answers one precise business question against your rubric and returns machine-validated output. Evidence is required; confidence decides routing.
Low confidence routes to manual review — a human decides, and the override is logged. Prompt version and model are stored with every decision, so results stay replayable.
Stage 05 · Sequence orchestration
Each step runs with its own execution ID and idempotency key, so a retry can never double-send. An inbound reply cancels scheduled steps immediately.
Global and per-domain rate limits, lead cooldowns and unsubscribe handling are explicit configuration — not emergent behaviour.
Stage 06 · Booking & CRM sync
Availability is checked against your calendar, the slot is reserved with conflict handling, and the appointment is mirrored into GoHighLevel for the team.
Your CRM stays the operator view: contacts, inbox, pipeline and calendar — without becoming the system of record.
Stage 07 · Audit & outcome
Sequence, eligibility decision, consent evidence, step executions, provider call IDs and webhooks are all in the record — as data, not anecdotes.
When a prospect asks to be removed, suppression writes first — then pending work is cancelled, across every channel.
Control & intelligence
“AI generates judgment and language. Code controls authority and side effects.” That boundary is the product principle — it makes the system safer to run, cheaper to debug and possible to trust.
AI works inside bounded steps
Deterministic code decides
Most of the system is ordinary TypeScript. Agent frameworks appear only where tool-calling or language-heavy reasoning clearly earns their place.
Compliance
Australian outreach rules are engineered into the flow — consent is established and evidenced before a channel fires, and eligibility is decided by code the model cannot overrule.
Regulator-aligned engineering notes (ACMA and Do Not Call guidance, researched September 2026) — not legal advice. Final outreach basis, scripts and targeting are approved with the client’s adviser.
Eligible — consent evidence cev_3092 on file
Sender identity & unsubscribe configured
Consent required — no evidence captured yet
Gate holds the branch until basis exists
DNCR check completed before dialling
Within allowed window · caller ID + disclosure script set
Operator view
GoHighLevel is where your team lives. The engine keeps the canonical record underneath, so the CRM can be replaced without losing history.
| Domain | Control plane · Postgres | GoHighLevel |
|---|---|---|
| Prospect identity | Canonical + vendor IDs | Mirrored contact |
| Consent & eligibility | Canonical + immutable evidence | Optional summary fields |
| Workflow state | Canonical state machine | Pipeline / opportunity summary |
| Messages | Normalized log of every send & reply | Operator-facing conversation |
| Appointments | Canonical booking + GHL ID persisted | Calendar appointment |
| Outcomes | Canonical booked / attended / converted | CRM reporting |
Architecture
Postgres stores truth, the workflow runtime executes it, and vendors perform channel-specific work. Swap any box on the edge — the engine stays.
Lead sources
Accelerate control plane
TypeScript · Postgres · durable workflows
Channels
Operator CRM
AI models — routed via OpenRouter for bounded tasks only: qualification, reply intent, drafting, summarization. Model choice is a setting, not an architecture.
structured outputs · versioned promptsAudit & outcomes
Why was this person called? The system answers with data: the sequence, the eligibility decision, the consent evidence, the step executions, the provider call ID and the resulting webhook.
The data model behind it — 17 entities, audit-ready
Optimization
Memory is storage. Improvement needs attribution, comparison and controlled change — so every wording, rubric and sequence ships as a version.
A prospect entering an experiment is pinned to an exact sequence, template and prompt version.
Outcomes are tracked past the reply — booked, attended, converted — not just opens and clicks.
AI summarizes performance patterns; people approve changes. At 8–20 bookings a month, small differences aren’t proof — so changes ship as versions, with rollback.
| Object | Versioned | Measured outcomes |
|---|---|---|
| Email template | v2 | Delivered · reply · positive reply · opt-out · booked |
| SMS copy | v1 | Delivery · response · opt-out · booked |
| Voice prompt | v3 | Connect · qualified · handoff · booked · opt-out |
| Qualification rubric | v7 | Override rate · booked · attended · converted |
| Sequence | v3 | Time-to-book · booked rate · cost per booked call |
The pilot
One ICP, one primary sequence, one GoHighLevel sub-account, constrained volumes — and a complete audit trail from day one. Go-live means a controlled production pilot, not a promise of magic.
Targets are pilot objectives — not results we claim. Measured unit economics replace estimates as the pilot runs.
PILOT TARGET
8–20
qualified calls per month, from a defined ICP
PILOT TARGET
10–15 hrs
of admin coordination returned weekly
PILOT TARGET
0
compliance incidents — gates run before every send
PILOT TARGET
100%
of engaged leads visible in one CRM
FAQ
Straight answers about how the engine runs, what it owns, and what it will never do.
An outbound lead-qualification and call-booking control plane. It owns prospect state, compliance eligibility, sequence execution, bookings, CRM sync and audit history — while Apollo, OpenRouter, GoHighLevel, Retell and Twilio act as replaceable integrations.
No. AI classifies, scores, drafts and converses inside bounded steps. Deterministic code decides what may be sent, when, and to whom — eligibility, suppression, retries and scheduling are code and data, never model judgment.
Consent is established and evidenced before a channel fires, stored as an immutable ConsentEvent with source, scope and time. A purchased list is a contact, never consent. Unsubscribe writes suppression first, then cancels queued steps.
No. A model may explain a compliance state, but it cannot override a deterministic “not eligible” decision. That gate is code, evaluated before every send and every call.
In the control plane’s own Postgres: prospect records, consent evidence, every message, call, booking and outcome. GoHighLevel mirrors it for your team. If you leave GHL later, the engine keeps its own history.
Apollo for sourcing, OpenRouter for model routing, GoHighLevel as the operator CRM, Retell for voice and Twilio for SMS. Each sits behind an adapter with its own provider IDs, so any of them can be swapped later.
A constrained production pilot: one ICP, one primary sequence, one GoHighLevel sub-account, limited volumes and a complete audit trail — built in nine days, QA’d offline, ramped carefully, then handed over with a runbook.
No — they are pilot objectives, not claims. Targets like 8–20 qualified calls a month are what the pilot aims for; measured unit economics replace them as real data comes in.
14-day constrained pilot
See the engine, the compliance gates and the audit trail — then decide whether a pilot fits your team.