A GoHighLevel Field Services setup can look finished and still be broken, with nothing on screen to tell you. We built it twice on live accounts and read every setting back. These are the seven that did not behave the way the screen suggested, and how to catch each one.
A GoHighLevel Field Services setup can look complete and still be broken in ways nothing on screen tells you about. We built it twice on live accounts, configured every part of it, and then read every setting back, or drove it in the interface and looked. Seven of them had not behaved the way the screen suggested.
None of these throw an error. That is the whole problem. A contractor finishes their setup, the account looks right, and the first sign that something is wrong is a customer who never got a reminder or a week of slots nobody can book.
If you are still deciding whether to use the module at all, start with whether GoHighLevel can replace Jobber, which covers what it does and the four gaps that remain. This article is for the part after that decision.
There is an Industry setting at the agency level, and it has to be set by hand before the service catalogue works at all. Until it is, you can sit there building services and wondering why nothing behaves.
This is the first thing to do, before you touch anything else, and it is easy to miss because nothing prompts you for it.
This is the one that costs money silently. Confirmations, reminders and on-my-way messages all arrive switched OFF, with no sender address configured, and the only hint anywhere on the screen is a single line of grey help text.
A contractor would reasonably assume these are going out. They are not. Nothing errors, nothing warns, and the customer simply never hears from you. For a trade whose entire reputation runs on turning up when you said you would, that is worse than having no system.
Turn them on, set the sender, and make sure the sender sits on your verified sending domain or the messages will not deliver. Then book yourself a test job and confirm you actually receive one.
A setting that reads back correctly is not the same as a setting that works, and a screen that looks right is not evidence of either. Fire the real thing once and watch it land.
Payments arrive with no payment provider connected and the account in test mode, which states plainly that no real transactions will be processed. Easy to read past when you are checking whether the invoice flow works, because it does work, right up until the money is supposed to move.
Connect the provider and take one real payment, even a dollar, before a crew collects anything on a customer's doorstep.
While you are there: the Collect payment button needs an invoice on the job. The visit status is not what unlocks it. We went through sixteen jobs before that was clear, because a completed visit with no invoice looks exactly like a payment feature that is broken.
Scheduling enforces its own rules, which is a genuine strength, but it means an incomplete crew setup shows up as bookings being refused rather than as a warning about the crew.
Our first attempt at seeding a week had eight of eight visits rejected. The scheduler was right every time: the crew were capped at one visit a day and were being handed services they were not assigned to. The error pointed at the booking, not at the cause.
So when a slot refuses, check the person before you check the calendar: their working hours, the services they are assigned, their daily cap and their coverage area.
Every staff record carries a dispatch start with an address, and that point is where the drive time on each bookable slot is measured from. Not the previous job on the day. That crew member's configured dispatch point.
Get it wrong and the failure is total rather than partial. We set an estimator in Reno to dispatch from Las Vegas and every single slot became unbookable, because every slot was now being measured from an address in another state. Nothing on screen explained it.
Check the address on every person, and check the one you inherit from a template rather than assuming it is yours.
A service can show as configured while its price is still sitting at $0. The catalogue looks built, the booking page offers the service, and the job comes through worth nothing.
After building a catalogue, go back and read the prices. Then build one job and watch the total calculate before you trust the catalogue at all.
Caps are the rule that stops the office booking a crew onto more work than they can do, and in the scheduler they hold: our own over-booked week was refused eight times out of eight, the cap among the reasons. The trap is narrower than that, and it is ours rather than yours if you trap is narrower than that, and it is ours rather than yours if you are setting caps by hand. Building them by script, we used the wrong field name. It stored. It read back intact. It was never enforced.
Either way the check is the same and it takes a minute. Try to break it: book past the cap on purpose and watch it refuse.
Your counts are inflated by two records you did not create. Every account is seeded with a service category and a service area both named Default. Our own reporting script counted them and reported a six category, three area build as seven and four. If you are reporting a number to anyone, check it against what you actually built.
The map needs to be the foreground window and needs real addresses. The schedule's map view renders nothing in a background tab, and nothing on an account with no scheduled visits carrying geocodable addresses. Both look exactly like a broken map. We wrote off the entire map view as broken for three days on that basis, and it is now the opening shot of our demo.
Before a single customer touches the booking page:
None of this is difficult. All of it is invisible, which is why it gets skipped, and why the cost shows up a month later as a customer who never got a reminder.
If you want the wider picture first, the full Field Services guide covers what the module is and what it costs, and Field Services sits on the Founder Plan, so it is worth checking what each GoHighLevel plan costs before you start. If you are not on the platform yet at all, there is a 30 day GoHighLevel trial rather than the standard 14, which is long enough to run a real week through it.
You can also watch forty five seconds of a finished build, on a real account, on our Field Services page: the day on a map with arrival times, the drive on the slot before you book it, and the crew checked in, checked out and paid on site.
Customer notifications. They ship switched off with no sender address configured, and the only hint is one line of grey help text. Confirmations, reminders and on-my-way messages do not send, nothing errors, and the first sign of trouble is a customer who was never told you were coming. Turn them on, set a sender on your verified sending domain, and receive a real one yourself before going live.
Check the crew before you check the calendar. Availability enforces working hours, assigned services, daily caps, coverage areas and drive time, and it refuses any booking that breaks one of them. The most total failure is a wrong dispatch address: because every slot's drive time is measured from that person's dispatch point, an address in the wrong city makes every slot unbookable with no explanation.
Because the job has no invoice on it. The visit status is not what unlocks payment collection, which is easy to misread, since a completed visit with no invoice looks exactly like a broken payment feature. Also check whether the account is still in test mode, which is how it ships.
Two reasons, and both look like a broken map. A map does not paint in a browser tab that is not the foreground window, and the map only populates once there are scheduled visits carrying real geocodable addresses. Check it in the foreground on an account with real bookings before concluding anything.
Done For You
We configure it by script, and verify every setting by reading it back.
Catalogue, add-ons, coverage areas, crews, hours, caps, dispatch points, booking rules and checklists, stood up in an afternoon and checked rather than assumed.
See the 45 second demo → or book a free callField Services, Industries, and the rest all run on GoHighLevel. Try it free for 30 days and see why we build on it.
No credit card required · Cancel anytime