TradesSync.
All documentation
  1. Overview
  2. Getting started
  3. What syncs
  4. Pipeline stages
  5. Field mapping
  6. Tags
  7. If/then rules
  8. Leads into ServiceM8
  9. Reading the sync log
  10. Common setups
  11. Troubleshooting

Home / Docs

What comes across from ServiceM8

TradesSync syncs two things and attaches everything else to them. Once you understand that, the rest of the setup makes sense.

The two things

In ServiceM8Becomes in GoHighLevel
ClientContact
Job cardOpportunity — if you have opportunities switched on

Opportunities are optional and off on a new account. With them off you still get every client as a contact, kept up to date, with tags driven by the job's status, queue, category or badges. Plenty of trades run it that way and build the rest with GoHighLevel workflows.

That is the whole model. Everything else attached to a job — line items, payments, notes, job contacts, attachments, checklists, form responses, badges, category and queue — is gathered up and becomes fields on that contact or opportunity.

Nothing turns into a separate GoHighLevel record. Your materials list does not become five GoHighLevel objects; it becomes a field on the opportunity containing the materials. That keeps your CRM readable instead of drowning it in records nobody looks at.

Everything that can come across

There are around 160 ServiceM8 fields available to map, grouped by where they live:

You decide which of those actually travel. See Field mapping.

How often

ServiceM8 is checked every five minutes for anything created or changed. There is nothing to press and no schedule to configure.

Nothing is ever duplicated. TradesSync remembers which ServiceM8 job matches which GoHighLevel opportunity, so the same job is updated over and over rather than creating a new opportunity every five minutes.

What does not come across

Your existing back catalogue, unless you ask.

The sync starts the day you connect. It watches for jobs and clients that are created or changed from that point onwards. A job that has sat untouched since before you signed up will not appear on its own, because as far as ServiceM8 is concerned nothing has happened to it. Edit anything on it and it comes through on the next check — or ask us and we will bring your whole history across in one go.

Empty fields. Only what is actually there gets sent. If a job has no category, or the client has no email address, that field is skipped and everything else still syncs.

Anything you have not mapped. Unmapped fields simply do not travel. If you map nothing to a pipeline stage, no opportunity is created and the contact syncs on its own — which is a perfectly valid way to run it.

The direction of travel

ServiceM8 is read, not written.

The sync does not change, move or delete anything in your ServiceM8 account. If TradesSync stopped existing tomorrow your ServiceM8 would be exactly as you left it.

There is one optional exception, off unless you switch it on, covered in Leads into ServiceM8.

One consequence worth knowing: because ServiceM8 is the source of truth, if a client's name differs between the two systems, the ServiceM8 version wins and overwrites the GoHighLevel one on the next sync.