GoHighLevel can replace a CRM, a booking tool, an SMS platform, a funnel builder and a review tool in one login. That breadth is exactly why so many agency builds go wrong: the account gets switched on, a template gets imported, and the first campaign goes out before email authentication, phone registration or the pipeline have been thought through. This is the setup order we follow on every sub-account, and why each step comes where it does.
Decide the account structure first
In GoHighLevel the agency account holds the settings, billing and snapshots, and each client lives in its own sub-account. Everything a client's team touches (contacts, pipelines, calendars, workflows, phone numbers) belongs to that sub-account, so the first decision is simply one sub-account per business, and a second only when a location genuinely runs its own sales process.
We write down who owns the account, who pays for usage such as SMS, calls and email, and who gets which login before anything is built. Settling this late is how agencies end up rebuilding an account because a client wanted their data moved.
- One sub-account per business or independently run location
- Usage billing (SMS, calls, email) agreed and configured up front
- Business profile, time zone and currency set before any calendars exist
- A named owner on the client side for approvals and compliance forms
Authenticate email before you send anything
Since 2024, Gmail and Yahoo require bulk senders to authenticate their mail with SPF and DKIM, publish a DMARC policy and offer easy unsubscribes. Sending from a new account without that in place is the fastest way to land in spam and stay there.
We set up a dedicated sending subdomain (for example mail.clientdomain.com) inside the sub-account's email service, add the DNS records it provides, and publish a DMARC record on the root domain. Keeping marketing mail on a subdomain protects the reputation of the domain the client's team uses for everyday email.
- Dedicated sending subdomain, never a shared default domain
- SPF, DKIM and DMARC records verified, not just added
- Reply-to set to a monitored inbox
- Unsubscribe link and physical address in every marketing template
Register phone numbers for A2P 10DLC
If the client texts US contacts from a standard local number, US carriers require the business to register a brand and a messaging campaign under A2P 10DLC. HighLevel handles this through its Trust Center, but the approval depends on details the client has to supply: legal business name, tax ID, a website that matches, sample messages and a clear description of how people opt in.
Unregistered or rejected traffic gets filtered or blocked, so we submit registration on day one and build everything else while it is reviewed. The most common rejection we see is an opt-in that is not visible on the website, which is why the form in the next step includes explicit consent language.
- Brand details match the legal entity and website exactly
- Campaign use case and sample messages reflect real traffic
- Opt-in wording shown on every form that collects a phone number
- STOP and HELP replies tested once the number is live
Build pipelines around buyer events
A pipeline stage should record something the buyer did, not something the team plans to do. We name stages after observable events such as enquiry received, call booked, call attended, proposal sent and won or lost, so every workflow downstream has a clean trigger and the reporting tells the truth.
Custom fields get the same discipline. We only create the fields a workflow, a report or a sales conversation actually uses, give them consistent names, and decide which ones forms must fill. Loose data here breaks automations quietly later.
- Five to seven stages per pipeline, each with a clear entry condition
- Separate pipelines for new sales and onboarding
- Lost reasons as a fixed dropdown, not free text
- Lead source captured on every entry point
Connect forms, calendars and the phone line
Every way a lead can arrive gets built and then tested with a real submission: website forms, booking calendars, inbound calls, chat widgets and social messages. Each should create or update a contact, set the source, and create or move an opportunity. If a route does not create an opportunity, it will not show up in reporting.
Calendars need availability, buffers, reminders and a named owner or round-robin rule. Inbound calls need a routing plan and a missed-call text-back, which for many service businesses is the single automation with the quickest payoff.
Automate the first response, then the follow-up
We build workflows in the order a lead experiences them. First the instant response: confirmation to the lead, notification to the owner, and the opportunity created in the right stage. Then booking reminders and no-show recovery. Only after that do longer nurture sequences get written.
Each workflow gets a clear name, a single trigger, and a goal or exit condition so contacts do not keep receiving messages after they book or buy. Anything that sends to a customer is tested end to end on a test contact before it is published.
- Instant lead confirmation and internal alert
- Missed-call text-back on every inbound number
- Appointment reminders plus no-show follow-up
- Review request after a won deal or completed job
Turn the build into a snapshot
Once an account works, we save it as a snapshot: pipelines, custom fields, calendars, forms, workflows and templates packaged together. The next client in the same niche starts from a proven build instead of a blank account, and fixes made to the snapshot can be pushed to accounts that use it.
A snapshot is only as good as its naming and documentation. We keep a short readme with every one, listing which fields, tags and integrations need to be filled in per client, so nothing ships with another client's details left inside.
Lock down permissions and reporting
Before handover, every user gets only the access they need. Sales reps see their own opportunities and conversations, managers see the pipeline and reports, and nobody outside the agency can edit workflows or phone settings. It takes ten minutes and prevents the most common way a working account gets broken.
Finally we set up the dashboard the client will actually look at: new leads by source, speed to first response, bookings, show rate and won revenue. If a number the client cares about is not on that page, the build is not finished.
The go-live check
On launch day we run one test lead through every entry point and confirm the contact, the opportunity, the notifications, the reminders and the report all behave as expected. Then we watch the first week of real traffic closely, because real leads always find the path nobody tested.
Done in this order, GoHighLevel stops being a pile of features and becomes a system the client's team trusts. That trust is what keeps them using it, and what keeps the agency relationship going.
