Work sample 02 / 12Enquiry to booked job

Booked means booked: GoHighLevel + ServiceM8 pipeline sync

How I'd approach a multi-state plumbing and electrical business whose CRM marks jobs Booked before they're confirmed and keeps creating duplicate contacts, so that sales, ops and the owner can trust the pipeline again.

Area
CRM ↔ field service
Tools
GoHighLevel · ServiceM8 · Xero · Zapier
Typical scope
US$2,500–4,000
Timeline
About 4 weeks · 4 milestones

Work sample: realistic data, built to show how I approach this kind of project. Not a past client job.

01The problem

A trades business runs plumbing and electrical crews across Queensland, New South Wales and Victoria. It has one ServiceM8 account per state and a single GoHighLevel pipeline for sales.

The automations added over time react to a job existing, not to a booking being confirmed, so the pipeline says Booked while the job is still a quote or a tentative time. Only one of the three state accounts is connected at all.

Owners usually notice it as

  1. Leads showing Booked, follow-ups stopping, and then the job falling through with nobody chasing it
  2. The same customer appearing twice, with sales and ops working different records
  3. Cancelled jobs still sitting at Booked, so no rebook follow-up goes out
  4. A reschedule sending the lead back to New and losing its history
  5. Booking times an hour out for customers in another state
  6. Jobs showing Paid before the money has actually landed in Xero

02Scope

A fixed scope agreed in writing before anything is built. The table shows what a project like this usually covers and what it leaves out.

Exhibit AScope: what a project like this covers
Scope areaIncluded
Health checkEvery automation, account and stage reviewed; findings with their business effect and a fixed quote
Stage designOne agreed meaning per stage, and the follow-up each stage should start, for sales, ops and the owner
Sync across three statesGoHighLevel kept in step with all ServiceM8 accounts; payments reflected from Xero
Clean-upOpen jobs linked to the right lead; duplicates and wrong stages listed for your approval
Go-live and watchTested switch-over, two-week watch, handover pack and recordings
Not includedReplacing GoHighLevel or ServiceM8, website forms, accounting work inside Xero
Exhibit BSample volumes · 3 ServiceM8 accounts (QLD · NSW · VIC)
GoHighLevel opportunities, 90 days2,180
ServiceM8 jobs, 90 days1,140
Test scenarios40
Existing automations5
Exhibit CMilestones
MilestoneWhat is signed offShare
M1 · Systems Health CheckFindings, stage map and fixed quoteUS$300
M2 · Stages and syncAll three states syncing on test records~40%
M3 · Clean-up and testing40 of 40 scenarios pass; clean-up list approved~45%
M4 · Go-live and handoverSwitch-over done, two-week watch closed~15%

Typical scope for this kind of project: US$2,500–4,000. The fixed quote follows a US$300 Systems Health Check, so the price is based on what's actually in your accounts.

03What I fixed, and why

Before and after: GoHighLevel stages driven by confirmed ServiceM8 bookings in all three state accounts
Exhibit 1Before and after: GoHighLevel stages driven by confirmed ServiceM8 bookings in all three state accounts

visual-1-before-after-pipeline.png › Plate I before, Plate II after

  1. 01

    Agree what Booked means.

    Owner, sales and ops agree one plain-English meaning for each stage before anything changes. Booked means a job ops has genuinely confirmed. Everything else is held as Provisional.

  2. 02

    One customer, one record.

    New activity joins the existing customer instead of creating another one. Existing duplicates go on a review list for a person to decide; nothing is merged blindly.

  3. 03

    Each event moves only its own stage.

    A reschedule keeps the booking and updates the time. A cancellation starts a rebook follow-up. A completed job, or a payment in Xero, changes what it should and nothing else.

  4. 04

    Every state, in local time.

    All three ServiceM8 accounts follow the same rules, and every booking shows in the customer's local time, including Queensland, which has no daylight saving.

  5. 05

    Failures are seen the same day.

    Anything that fails, or a booking that waits too long, lands on one Needs attention list and alerts the person you choose.

  6. 06

    Nothing is switched off blind.

    Old automations are paused, not deleted, at a quiet time you choose, with a rollback list ready.

04Checks

Nothing goes live on trust. Every check runs on the same sample data before and after, in all three state accounts.

  1. Every check is run on the same sample data before and after, in all three state accounts
  2. Switch-over waits until every scenario passes and every go-live gate is met
  3. Stage corrections on existing records are listed and approved by the owner before they're applied
Outcome checks: before and after numbers, 40 test scenarios and the go-live gates
Exhibit 2Outcome checks: before and after numbers, 40 test scenarios and the go-live gates

visual-2-outcome-checks.png

Exhibit DOutcome checks: 8 of 8 pass
CheckWhat it catchesBeforeAfterStatus
Booked has a confirmed bookingLeads marked Booked too early2140PASS
One record per customerDuplicate contacts created1670PASS
Cancelled jobs leave BookedMissed rebook follow-ups230PASS
Reschedules keep the bookingLeads reset to New310PASS
Every state account syncingStates missing from the pipeline1 of 33 of 3PASS
Local time is rightBookings an hour out380PASS
Paid follows XeroPaid shown before the money lands190PASS
Failures alerted the same daySilent failures0 of 1212 of 12PASS

Test scenarios: 40 of 40 pass (Provisional 6 · Confirmed, per state 6 · Rescheduled 6 · Cancelled + rebooked 6 · Completed + paid in Xero 6 · Duplicates + repeats 6 · Failures + alerts 4). Go-live gates: everything backed up · open jobs linked · stage fixes approved · quiet-time switch · two-week watch.

05Handover

In this work sample, the handover is what the team keeps using after I step away. It's written for the people who run the business, not for whoever set it up.

  1. A cleaner GoHighLevel pipeline with state views, and stages that match what really happened
  2. A Needs attention list and same-day alerts
  3. A plain-English stage guide your team can read
  4. A register of every connection between GoHighLevel, ServiceM8 and Xero
  5. The signed 40-scenario test log
  6. Two short walkthrough recordings and a one-page “when an alert arrives” sheet

06Files in this work sample

The walkthrough and both exhibits, ready to download.

FilesDownload the work sample
FileWhat it isSize
GHL-ServiceM8-Work-Sample.pdf3-page walkthrough: problem, approach, checks, handover498.7 KB
visual-1-before-after-pipeline.pngBefore and after, at outcome level159.7 KB
visual-2-outcome-checks.pngBefore/after numbers, 40 scenarios, go-live gates158.7 KB

Ask about this: if your GoHighLevel pipeline and ServiceM8 don't agree, start with a US$300 Systems Health Check and a fixed quote.

Tell me what’s bugging you and I’ll tell you where I’d look first.

Send a short note on Upwork about what is slowing the business down. I’ll reply with where I’d start, and whether the US$300 Systems Health Check is the right first step.