← All case studies · GoHighLevel · Digital Marketing · UK · 2026 — Delivered

A UK marketing agency's sales process, rebuilt as a system that runs itself

An AI chatbot and voice agent that qualify enquiries. A nine-stage sales pipeline, automated NDA sending and chasing, invoice reminders that escalate on their own. Then a handover into delivery, with a task at every stage telling the team exactly what to do next.

GoHighLevel sales pipeline for a marketing agency showing stages from New Lead through Discovery Call Completed
Client
UK Digital Marketing Agency (anonymised)
Industry
Digital Marketing · UK
Timeline
2026 — Delivered
Role
Automation Architect
Services
Strategy · Build · Support
Year
2026
01
The situation

The situation

A UK digital marketing agency selling growth services to small businesses had a sales process that existed, but only in people's heads and inboxes.

Enquiries arrived through the website, phone, and chat, and were handled by whoever picked them up. Contracts went out manually and got chased when someone remembered. Invoices sat unpaid because nobody had a system for escalating them. And when a deal did close, moving that client into delivery meant a set of manual handoffs that were easy to skip when things got busy.

The four specific problems:

Enquiries weren't qualified before they reached a human. Every enquiry, serious buyer or casual browser, consumed the same amount of someone's time.

Contracts stalled silently. An NDA would go out and then nothing. No follow-up sequence, no visibility on who had signed and who hadn't, no trigger telling anyone to chase.

Invoices needed chasing that nobody had time for. Payment reminders were manual, which meant they were inconsistent, which meant money arrived later than it should have.

Sales and delivery were disconnected. A won deal didn't automatically become an onboarded project. Somebody had to remember to start it.

02
What I found

What I found

Mapping the process surfaced one structural issue that shaped the whole build.

The agency's real bottleneck wasn't lead volume. It was the gap between stages. Leads came in fine. Calls got booked. But every transition between stages depended on a human noticing that the previous stage had finished. Enquiry to qualification, call to contract, contract to payment, payment to delivery. Each handoff was a place where a deal could go quiet for a week and nobody would know.

So the system had to do two things: qualify before a human is involved, and make every stage transition automatic, with a task attached so the responsible person knows what's expected.

03
What I built

What I built

An end-to-end GoHighLevel system covering the full journey from first enquiry to onboarded project.

AI chatbot and voice agent on the front door

An AI agent handles first contact on the website chat widget in Auto Pilot mode. It replies from trained data rather than just suggesting responses to a human.

It's configured with real actions, not just conversation: appointment booking, workflow triggering, contact info capture, human handover, and a stop condition so it knows when to step back. It's trained on the agency's own material (setup timelines, requirements, what the service involves), so the answers are the agency's answers.

Alongside it, a voice AI agent takes calls and does structured work during and after them: triggers the follow-up workflow mid-call, books appointments, and extracts email, phone, first name and last name into the CRM automatically. A call becomes a properly populated contact record without anyone typing.

The chat widget runs both channels (live chat and voice AI) from one sticky widget.

GoHighLevel AI chatbot configured in Auto Pilot mode to reply automatically from trained data on a live chat channel
Chatbot in Auto Pilot mode: replies from trained data, not just suggesting responses to a human.
Voice AI agent configuration extracting email, phone, and name into the CRM during and after a call
Voice agent action config: extracts email, phone, and name into the CRM during and after the call.

A nine-stage sales pipeline

The full commercial journey, mapped to stages that reflect what happens:

New Lead → Contacted → Booking Confirmed → No Show → Discovery Call Completed → Interested / Not Ready → NDA Sent → NDA Signed → Payment Pending → Payment Received

Plus an Irrelevant / Lost stage, so dead leads exit cleanly instead of sitting in the active pipeline distorting the numbers.

Each stage change is a trigger. Nothing waits for someone to notice.

Appointment booking, no-show and cancellation handling

Three separate calendars feed one booking workflow: a discovery call, a strategy call, and a demo. The workflow branches on which calendar was used, records the lead source, assigns the owner, creates the opportunity, and sends confirmation.

Then it protects the booking. A reminder sequence runs at 24 hours and 1 hour before, and each reminder checks the cancellation status before firing so a cancelled client never receives a "see you tomorrow" message.

Two dedicated handlers cover what happens when it goes wrong:

  • No-show handler — tags the no-show, records the date, and runs a rebooking chase with an attempt counter, so the sequence escalates and then stops rather than nagging forever
  • Cancellation handler — removes the booking tag, sends confirmation, then runs its own rebooking sequence with the same attempt logic

Both use a math operation to track attempts and branch on the count: chase up to a limit, then hand off to a human with a notification.

GoHighLevel booking workflow branching across three calendars to record lead source, assign an owner, and create the opportunity
Booking workflow: three calendars, branch on source, assign owner, open the opportunity, send confirmation.
GoHighLevel no-show handler tagging the missed appointment and running a rebooking sequence with an attempt counter
No-show handler: tag, record, chase with an attempt counter, escalate to a human at the limit.

Automated NDA sending and chasing

When a deal reaches NDA Sent, the system sends the document, tags the contact, records the send date, notifies the team internally, and creates a task.

Then it chases: four reminders over sixteen days, each one gated by a timeout condition that checks whether the document has been signed. Sign at any point and the sequence stops. Reach the end without signing and the opportunity updates, the internal team gets notified, and the lead moves to Interested / Not Ready with a task created for a human to take over.

Nobody has to remember to chase a contract. Nobody has to remember to stop chasing one that's already signed.

GoHighLevel NDA workflow sending the contract, tagging the contact, and creating a task on the NDA Sent stage
NDA workflow: send, tag, notify, create task, then chase with timeout gates that stop the moment it's signed.

Invoice reminders that escalate

Same pattern applied to money. When a signed deal moves to Payment Pending, the system notifies the team, creates a task, and starts an invoice reminder counter.

It waits, increments the counter, and branches: under the threshold, send another reminder and notify internally; over the threshold, the invoice is flagged as overdue and escalated to a person. The reminder count lives in a contact field, so the system knows how many times it has asked.

Invoice reminder workflow incrementing a reminder counter and escalating overdue invoices to a human
Invoice reminder loop: increment the counter, branch on the count, escalate overdue to a person.

Sales to delivery handover

When payment is received, the system closes the sale properly: updates contact fields, removes the contact from the sales workflows so they stop receiving sales messaging, tags the deal closed, marks the opportunity won, sends the client confirmation, and notifies the team.

Then it branches on which product the client bought and moves them into the matching onboarding pipeline. The won deal becomes an active project automatically.

The delivery pipeline runs its own stages:

Onboarding → Project In Progress → Delivery → Review Requested → Closed / Complete
Payment received workflow closing the sale and branching by product into the matching onboarding pipeline
Payment received: close the sale cleanly, branch by product, drop the client into the right onboarding pipeline.

The task layer

Every stage produces a task, and every task carries the context needed to act on it.

A chase task doesn't just say "chase the NDA." It carries the client's name, email, phone, which product they're interested in, their intent category, the date the document was sent, and the current stage. Plus a plain-English note explaining what the system is already doing and when a human needs to step in: four reminder emails go out over the next sixteen days; you'll be told when they sign; if they haven't signed by then, the card moves and a task will be created.

That's the difference between a reminder and an instruction. Somebody new to the account can open a task and know exactly what's happening and what's expected of them, without asking anyone.

GoHighLevel task configured with client context and plain-English instructions explaining what the automation is doing and when a human should step in
The task layer: full client context plus a plain-English instruction.

The whole system, at a glance

GoHighLevel workflow folder structure covering calendar management, NDA chasing, payment stages, and project onboarding
The full workflow folder: calendar management, NDA chasing, payment stages, project onboarding.
04
The hard part

The hard part

The awkward problem in this build was knowing when to stop.

Automated chasing is easy to start and hard to end well. Chase too little and deals go quiet. Chase too much and you're the agency that sends five emails about a contract someone already signed. That costs more goodwill than the deal is worth.

Three mechanisms solve it, and they run through every chase sequence in the system:

Timeout conditions instead of fixed waits. Each reminder in the NDA sequence sits behind a condition that checks the actual document status, so the sequence runs until the state changes. Sign on day two and reminders three and four never send.

Attempt counters in contact fields. The no-show, cancellation, and invoice sequences each track how many times they've tried, using a math operation to increment and a condition to branch on the count. The system knows the difference between a first nudge and a fourth.

A defined exit to a human. Every sequence has an end. When the counter passes its threshold, the automation stops chasing, updates the opportunity, notifies the team, and hands the client to someone with the full context.

The same three-part pattern (check state, count attempts, exit to a human) is what makes the whole system safe to leave running unattended.

05
Stack

Stack

GoHighLevel — Pipelines & Opportunities · Workflow Builder · AI Agents (chatbot + voice) · Calendars · Documents & Contracts · Payments · Conversations (Email, SMS, Chat) · Tasks · Custom Fields

Losing deals in the gaps between stages?

That's the problem this system was built to close. Book 30 minutes and I'll show you where your process is leaking.

Calendar not loading? Open the contact page →