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

Mapping ServiceM8 fields to GoHighLevel

A field mapping is one line: take this from ServiceM8, put it there in GoHighLevel. There are around 160 ServiceM8 fields available and you can send any of them to any GoHighLevel field, including your own custom fields.

How a mapping reads

Two columns. Point one at the other. On the left, a ServiceM8 field. On the right, where it lands in GoHighLevel. Optionally, a transform in between that tidies the value on the way through.

Mappings live on Step 3, Fields of Sync Settings. Sensible defaults are already filled in when you start — contact details, job number, job value, job description — so a working setup does not require you to build all of this by hand, and most trades can leave this step alone entirely.

What you can send

Job fields

Job status, job number, description, work done description, full job address and its separate parts (street number, street, city, county, postcode, country), latitude and longitude, PO number, and the full set of dates: job date, quote date, work order date, invoice date, completion date, unsuccessful date, scheduled-until.

Money and state: total invoice amount, quote sent, invoice sent, payment received, payment amount, payment date, payment method, payment note, ready to invoice — each with its matching timestamp.

Client fields

Company name, full address, and address split into street, city, county, postcode and country. Also website, payment terms, billing address, billing attention, tax number and whether the client is an individual or a business.

Contact fields

First name, last name, email, phone and mobile — for both client contacts and job contacts, which are often different people on the same job.

Category, queue and badges

Category name and colour, queue name, default timeframe and whether it requires assignment, and the list of badge names on the job.

Everything attached to the job

Payments (amount, date, method, note), materials (name, quantity, price, cost), notes and their author, activities and their scheduled times, attachment file names, and form and checklist responses captured on site.

Where it can land

GoHighLevel contactGoHighLevel opportunity
First name, last name, full name, email, phone, address line 1, city, state, postal code, country, company name, website, source, date of birth, tags Opportunity name, pipeline, pipeline stage, monetary value, status, lead source

Plus any custom field you have created in GoHighLevel, on either the contact or the opportunity. That is where most of the interesting ServiceM8 detail ends up — certificate dates, materials lists, PO numbers, site notes.

Collecting a whole list

A job usually has more than one material, more than one payment, more than one note. A wildcard collects across all of them at once rather than picking one:

Then choose how to combine them into the single value GoHighLevel will store:

TransformResult
Join with commasConsumer unit, RCBO, 2.5mm cable
Join with new linesOne item per line
Join as bulletsA bulleted list
CountHow many there are
Sum / sum as moneyThe total, formatted as currency if you want
Highest / lowestThe largest or smallest value
First / lastJust one of them
UniqueDuplicates removed

Tidying a single value

Single fields can be reshaped on the way across: upper case, lower case, capitalise first letter, capitalise each word, trim spaces, format a phone number, format a date as UK or ISO, or force a value to be a number, a true/false or plain text.

Quote revisions are handled for you.

When a quote is revised in ServiceM8 the old line items stay on the job alongside the new ones. TradesSync only counts the active ones, so a revised quote does not report double the materials or double the total.

Changing mappings later

Any time. Changes apply from the next sync onwards — they do not rewrite what is already in GoHighLevel until that job changes again. It is always worth running Sync Preview after editing, on a job you know well, to check the result before it reaches your CRM.

For mappings that need to make a decision rather than copy a value, see If/then rules.