Your ServiceM8 job cards,
live in GoHighLevel.
Every job card — from the first quote right through to completed — lands in GoHighLevel automatically. Contacts created, opportunities moved through your pipeline, values kept up to date. Checked every five minutes. You don't press a thing.
And it fits round how you already work — not the other way round. See what that means.
ServiceM8
Where the work happens
GoHighLevel
Where the marketing happens
Every job card, in your pipeline, without lifting a finger.
Your clients become contacts. Your job cards become opportunities with their value attached — quotes included, not just won work. Then you choose what drives the pipeline stage: the job card status, the queue it sits in, or its category. Most trades run their day on queues, so that's usually the one. Whichever two you don't pick still apply tags, and so do your badges — named properly, not raw IDs.
See it before you trust it
Preview any real job card and see exactly what would land in GoHighLevel — fields, value, stage, tags — without sending a thing.
Never duplicated
We remember which job card belongs to which opportunity. The same card updates in place — it'll never appear twice.
It sorts itself out
Deleted an opportunity in GoHighLevel? Already had the contact under a different email? It spots the mismatch, relinks and carries on — instead of failing the same job forever.
Two columns. Point one at the other.
ServiceM8 on the left, GoHighLevel on the right. Pick a field, pick where it goes — first name to first name, postcode to postal code, invoice total to opportunity value. Then, separately, you say which queue or status belongs in which pipeline stage. No Zaps to build, no filters or paths to pay extra for, no task limits to watch.
This bit isn't a field mapping. You choose whether your queue, status or category drives the pipeline, then point each one at a stage.
Tag it, flag it, fill it in — automatically.
Mapping moves a field across. Rules make decisions. Pick a thing to watch, pick what it should equal, pick what happens. Build as many as you like — they're included, not an upsell.
Quote didn't land? Tag them and let your long-term nurture campaign pick it up.
Big jobs get the personal follow-up. Small ones get the automated one.
Certificate work sets its own renewal reminder. That's repeat business booking itself.
ServiceM8 is where you work. GoHighLevel is where you market.
Your job cards live in ServiceM8 — quoting, scheduling, invoicing, all of it, exactly as they do now. TradesSync just makes sure the marketing side knows what's going on, so your follow-ups, review requests and reminders fire off the real status of the card.
Nothing changes on the tools
Your team carries on in ServiceM8. No new app to learn, no second place to update, no double entry. We only read from it — unless you switch on job creation for leads that arrive in GoHighLevel, which is off until you turn it on.
Marketing keeps up on its own
Quote sent, quote accepted, work finished — the opportunity moves itself as the card status changes. Workflows trigger off what's actually happened, not what someone remembered to update.
Every five minutes, forever
It checks for changes on its own and gets on with it. If something fails it backs off and tries again, up to three times, and your sync log shows exactly what happened and when.
You shouldn't have to change how you work to suit the software.
Most tools have decided how a trade business ought to run, and you spend your first month bending your process to fit. TradesSync goes the other way. You already have a way of working that took years to settle on — the job of the software is to keep up with it, not to rewrite it.
Your pipeline, your logic
Some firms run their week off job status. Some off queues. Some off the type of work. You pick which one moves your pipeline — and the other two still tag your contacts, so nothing is wasted. No two of our customers are set up the same way.
Turn off what you don't want
Not everyone works opportunities. Switch them off and TradesSync will keep your contacts, custom fields and tags up to date and leave your pipeline completely alone. Drive GoHighLevel off tags instead if that's how you've built it.
No surprises, ever
Before anything is sent, run a preview against one of your own live job cards. It shows the exact fields, stage and tags that would land — and flags anything in your setup that won't do what you'd expect. Nothing leaves ServiceM8 until you're happy.
The lead that came in at 9pm is on your job list by morning.
A web form fills in. Your AI answers a call you missed. It lands in GoHighLevel — and goes no further, because ServiceM8 has never heard of it. So it sits there until someone types it in again, or until it's forgotten.
Switch this on and a new GoHighLevel contact becomes a ServiceM8 client with a job card at Quote, waiting to be priced. If they're already one of your clients we link to the record you've got — we never edit it. Nothing else is touched, and what happens to the job from there is entirely yours.
It stays off until you turn it on, and one switch turns it back off.
One source of truth. Nothing ever fights.
A two way sync sounds great until the two systems disagree. Someone changes a phone number in one, someone else changes it in the other, and the sync has to guess which one wins. Guess wrong and a customer’s details get quietly overwritten, and nobody notices until the engineer is knocking on the wrong door.
TradesSync never has to guess. Your jobs live in ServiceM8 and GoHighLevel always reflects them. New leads flow the other way, into ServiceM8 as fresh job cards. That is the whole design, and it is deliberate.
ServiceM8 is the boss
Every client, job, status and value comes from ServiceM8. Want something changed? Change it there, where your team already works, and GoHighLevel catches up within five minutes.
Leads still come back in
A web form, a call your AI answered, an enquiry from an ad. Anything that lands in GoHighLevel can become a ServiceM8 client and job card at Quote, ready to price.
Nothing gets overwritten
Your existing ServiceM8 clients are never edited by TradesSync. No tug of war between two systems, no duplicates fighting each other, and never any doubt about which one is right.
Ten minutes, once.
Connect ServiceM8
Settings → API in ServiceM8. Create a key with full access, paste it in, test. Green tick and you're on.
Connect GoHighLevel
Create a private integration, tick the scopes, paste the token and your location ID. Test — your location name comes back.
Point your stages
We pre-fill the mappings. You pick what drives your pipeline — status, queue or category — then say which stage each one lands in. We can't guess that, it's your pipeline.
It runs itself
We check ServiceM8 every five minutes from then on. No buttons, no Zaps to babysit, nothing to top up.
A Zap fires and forgets. TradesSync remembers.
A typical Zap has no memory. Something happens in ServiceM8, it fires an action in GoHighLevel, and it has no idea what it did last time. You can bolt on lookup steps to make it smarter, but then you're the one building them, and you're the one fixing them when they start tripping over each other.
TradesSync keeps a record of every link it makes. Each ServiceM8 client is tied to its GoHighLevel contact, and each job card to its opportunity. So every time something changes, it knows exactly what it's already done and what needs doing next.
- Updates the opportunity it already made, instead of creating a duplicate every time the job changes
- Moves the job through your pipeline as it moves through your queues, statuses or categories
- Takes the old queue tag off when it puts the new one on, so tags don't pile up and confuse your workflows
- Picks up opportunities you already had in GoHighLevel, rather than doubling up on them
- Spots when a job's client has been changed in ServiceM8, so the new customer's job never lands on the old customer
- Puts itself right when something has been deleted in GoHighLevel, instead of failing on every check
- Keeps a log of exactly what it did, to which record, and why
Can't an AI assistant just do this now?
Fair question, and we get it. AI assistants can now connect to apps like GoHighLevel, and if you ask one to move a customer across or update a note, it will have a go. We use AI every single day ourselves. It's brilliant, and we're not going to pretend otherwise.
But out of the box, an assistant does what you ask, when you ask. On its own, it isn't sat watching ServiceM8 at three in the morning waiting for a job card to change. You can schedule one to check in, but it works the job out from scratch every time, so the same job card can land differently on different days. And you're the one writing the rules for what goes where, then fixing them when it gets one wrong.
Keeping two systems in step, every five minutes, the same way every time, is a job for software built to do exactly that. That's TradesSync.
One price. No task counting.
One ServiceM8 account, connected to one GoHighLevel location. However many job cards you push through it.
- Unlimited job cards — no tasks to count, no overage
- All 160 ServiceM8 fields, every if/then rule, every tag
- Checked every five minutes, around the clock
- We help you connect it and check your first sync
- Cancel whenever you like — no tie-in
Anyone can sync a contact. That bit is a flat field mapping, and half a dozen tools will do it. The hard part is the job card — matching it to the right opportunity so it updates instead of duplicating, moving it to the correct pipeline stage, swapping the queue tag over rather than piling another one on, and coping when someone deletes the opportunity at the other end.
Ready to go? Skip the trial.
A few details, then you'll go to PayPal to set up your £37 a month subscription. Your account opens as soon as the payment clears and you'll get an email to set your password.
Want to try it first? Start a free 14-day trial instead. No card needed.
- £37 a month, cancel any time
- We set it up with you, not at you
- Preview a real job card before anything is sent