All documentation
Reading your TradesSync sync log
The sync log is the honest record of what TradesSync did and why. It answers most questions faster than asking us, so it is worth five minutes learning your way round it.
The list
One row per sync, newest first. Every row tells you four things:
| Column | What it shows |
|---|---|
| Time | When it ran |
| Customer | Whose job it was — the name, not an ID |
| Record | The job number and its ServiceM8 status, queue, category and badges. A customer record rather than a job says so. |
| What happened | The short version: contact updated, opportunity created, tags updated, opportunity skipped |
| Result | Synced, or Failed |
Click any row for the full story.
The customer record and the job are synced separately, so the contact and the opportunity usually appear on different lines a few seconds apart. That is normal, not a duplicate.
The three parts of an entry
1. What came in from ServiceM8
The job as TradesSync read it: job number, status, queue, category, badges, the description, the invoice total, the job address and date, the customer and their contact details, and how many materials, payments, notes and attachments it had.
This is the part that answers “why did it do that?”, because it shows what TradesSync was actually looking at. If a job did not get the tag you expected, the status shown here usually explains it.
2. What we sent to GoHighLevel
Every field that actually went, split by where it went.
- Contact — custom fields and tags
- Opportunity — the name, value, pipeline and stage
If a section is missing, nothing was sent to it. An entry with only a Contact section and no Opportunity section is normal for anyone running on contacts and tags.
3. What happened in GoHighLevel
What was created, updated or skipped, and why. If GoHighLevel refused something, the reason appears here in plain English rather than as an API error.
Phrases you will see
| It says | It means |
|---|---|
| Opportunity skipped: opportunity sync is turned off | Exactly that, and correct if you are running on contacts and tags. Nothing is wrong. |
| Opportunity skipped: no pipeline stage mapped for… | The job is in a queue, category or status you have not pointed at a stage. Map it and the next change to that job will come through. |
| Tags no longer applying | Not a warning. The list of tags in the same group that do not apply to this job. Only the ones the contact actually had are taken off. |
| N mapped custom fields could not be sent | You have mapped a custom field whose name does not exist in GoHighLevel. Create it there, or fix the mapping. |
| Nothing changed — the values already matched | TradesSync checked and there was nothing to update. Perfectly normal. |
| Badges: N on this job, none named in your sync settings | ServiceM8 sends badges as reference numbers. Open the Badges section of Step 2 once and save, and they will be named from then on. |
When something fails
A failed sync shows in red, and above the list there is a Needs your attention panel grouping unresolved failures by cause. Each one says what went wrong, what to do about it, and whether it is something you can fix or something for us.
Failures clear themselves once the same record syncs successfully, so the panel shows what is still outstanding rather than everything that has ever gone wrong.
TradesSync only picks up jobs that have changed since it last looked. Once you have fixed a mapping or a GoHighLevel setting, the jobs that failed while it was wrong will not retry on their own — they sync again the next time something about them changes in ServiceM8. Get in touch and we will push them through.
When the answer is “something is not set up”
Several of the messages above come down to a setting rather than a fault — opportunities switched off, a queue with no stage against it, a tag that was never mapped. If the log keeps telling you something was skipped and you are not sure which setting it means, open the Setup Wizard from the menu. It asks what you are trying to achieve and configures it, which is usually quicker than hunting through the four settings steps.
How long entries are kept
Thirty days. The log is for understanding what happened recently, not as a permanent archive — GoHighLevel and ServiceM8 both hold the actual records.