Technical24 min read

How to Launch Your GHL White-Label SaaS in Days, Not Months (A Real SaaS Mode Rebilling Walkthrough)

Follow a real six-person agency from a nine-week SaaS Mode stall to live in days, and see exactly what launching a white-label GHL product takes.

Farhad, founder of GHL Spark
Farhad · Founder, GHL Spark
Cover illustration — a bright teal grid with a highlighted square on a dark green background, marked GHL Spark, Technical

In short

Launching a white-label GoHighLevel SaaS through SaaS Mode is a five-step build, and doing it in the right order is what turns a multi-week stall into a launch in days. First, model your pricing tiers and rebilling markup in a spreadsheet before touching the Configurator, so your unit economics stay profitable across light and heavy users. Then connect a dedicated, fully verified Stripe account through Stripe Connect, build a niche snapshot engineered to deploy cleanly across sub-accounts, and add your custom login domain, white-label branding, and an authenticated sending domain for deliverability. Finally, wire an order form and signup funnel that provisions the account, deploys the snapshot, and arms the wallet automatically on payment. Most agencies stall not from incompetence but because the knowledge is fragmented, the rebilling economics are non-obvious, and the build always loses to this week's client deadline. Handed to a specialist, the hands-on configuration takes a handful of days, with calendar time driven mostly by DNS propagation and pricing decisions.

Key takeaways

  • GoHighLevel SaaS Mode lets an agency resell the platform as its own branded product, using GHL's rebilling engine to mark up usage costs like SMS and email so every text and email a client sends adds margin.
  • The launch sequence matters: model pricing and rebilling first, connect a dedicated verified Stripe via Stripe Connect, build a clean-deploying snapshot, add a custom domain, white-label branding and authenticated SMTP, then wire an automated signup funnel.
  • Rebilling runs through a per-sub-account wallet: usage is deducted at your marked-up rate and the wallet auto-recharges the card on file through Stripe, so tuning the threshold and top-up amount protects both your margin and your customers' uptime.
  • Snapshots break on deployment when workflows reference specific users, calendars, or dead custom-field and trigger-link IDs, so a SaaS snapshot must be built with dependency hygiene and tested in throwaway sub-accounts.
  • A stall is pure forfeited MRR — Northbeam Collective lost more than $8,000 in existing-client revenue over nine weeks, then launched in days and converted three clients at $297 a month once a specialist handled the build.

You upgraded to the $497 Agency Pro plan for one reason: to stop being a done-for-you service that trades hours for dollars and start being a software company that earns recurring revenue while you sleep. GoHighLevel's SaaS Mode is the mechanism that makes that possible. You resell the platform as your own branded product, on your own domain, with your own pricing, and GHL's rebilling engine quietly marks up the usage costs so every SMS your clients send and every email they blast puts margin in your pocket.

That's the promise. The reality, for most agencies, is a browser with 14 tabs open, a half-configured SaaS Configurator, a Stripe account that won't connect, a snapshot that broke when you loaded it into a sub-account, and a launch date that has slipped three times. The product is sitting right there inside your agency dashboard, ninety percent built by GHL themselves, and you still can't get it live.

This post is the playbook. We're going to walk through exactly what launching a white-label GHL SaaS actually involves, using the story of a real-shaped agency, Northbeam Collective, a six-person shop in Austin that upgraded to Agency Pro, stalled for nine weeks, and then launched in a matter of days once the configuration was handled properly. We'll get specific and technical: the plan tiers, the rebilling math, the wallet, the Twilio and Mailgun markup, the snapshot deployment, the Stripe Connect handshake, the custom domain and SMTP that everyone underestimates. And we'll be honest about where the time actually goes and why most agencies lose weeks to problems that take a specialist an afternoon to solve.

If you recognize yourself in Northbeam, this is written for you.

Meet Northbeam Collective: The Agency That Had Everything Except a Live Product

Northbeam Collective is the kind of agency that should have launched a SaaS eighteen months ago. Six people. Roughly $640k in annual revenue, most of it from retainer clients in home services, med spas, and a couple of local franchises. They'd been building landing pages, running Facebook and Google campaigns, and managing GoHighLevel sub-accounts for clients for three years. They knew the platform cold from the operator's seat: pipelines, workflows, calendars, the conversations inbox, reputation management. Their clients logged into a GHL sub-account every day and used it as their CRM.

Here's the part that stung. Every one of those clients was paying Northbeam $1,500 to $4,000 a month for marketing services, and inside that number was GoHighLevel, which Northbeam was providing for free. The CRM, the automations, the appointment booking, the two-way texting, all of it was just bundled in as a cost of doing business. Northbeam was paying $497 a month for their Agency Pro account and getting nothing back on the software itself. The platform was a line item on their expenses, not their revenue.

The founder, we'll call her Dana, had done the math on a napkin. She had fourteen active clients. If she could charge even $297 a month for the CRM as a standalone product, that was over $4,000 a month in new recurring revenue from clients she already had, before she signed a single new customer. And unlike her marketing retainers, which required her team to actually do work every month, the SaaS revenue was mostly passive. She'd configure it once, and it would run.

More than that, a SaaS product changed what her agency was worth. A marketing agency with fourteen retainer clients is worth maybe one times revenue if she ever wanted to sell it, and only if she stayed on to run it. A SaaS company with two hundred self-serve subscribers paying $297 a month is worth a multiple of MRR and runs without her. SaaS Mode wasn't a side project. It was the thing that turned her lifestyle business into an asset.

So in early spring, Dana upgraded to Agency Pro, watched a couple of YouTube videos about SaaS Mode, and blocked out a weekend to "get it set up."

Nine weeks later, it still wasn't live.

The Nine Weeks: Where the Time Actually Went

Northbeam's stall is worth dissecting, because it's not a story about incompetence. Dana is smart, her operations lead Marcus is technical, and they'd both built dozens of GHL workflows. They stalled anyway, and the specific places they got stuck are the exact places every agency gets stuck. If you're reading this mid-stall, you'll recognize every one of these.

Week 1 and 2: The SaaS Configurator looked simple, then didn't

SaaS Mode lives in the agency view under Account Settings, in a section called SaaS Configurator. The first screen is deceptively clean. Connect Stripe. Create your plans. Set your prices. It feels like a fifteen-minute job. HighLevel's own Getting Started with the SaaS Configurator walks the happy path, and the happy path really is that short — which is precisely why the stall is so disorienting when it happens.

The moment Dana clicked "Connect Stripe," the questions started. Was this her existing agency Stripe account, the one she used to invoice clients for retainers? Should it be a new one? GHL uses Stripe Connect, which means the platform needs a specific kind of connection to charge her customers on her behalf and handle the rebilling. She'd connected the wrong Stripe account, one that already had subscription products in it from a previous project, and the SaaS plan products started colliding with old data. She disconnected, reconnected, and now SaaS Mode said Stripe was connected but the rebilling toggle was greyed out.

That greyed-out toggle ate three days. The reason it was greyed out, which is documented nowhere obvious, is that rebilling requires the connected Stripe account to be fully verified and in live mode, not test mode, and it requires specific product-level configuration that has to happen in a particular order. Dana didn't know the order. She was clicking things and hoping.

Week 3 and 4: Rebilling and the wallet, a genuine conceptual wall

This is where most agencies don't just slow down, they stop. Rebilling in GoHighLevel is the feature that lets you charge your SaaS customers a markup on the usage-based services they consume: SMS and phone calls through Twilio, emails through Mailgun, AI features, premium workflow actions, and so on. GHL bills you at cost. You set a multiplier, and your customers get billed at your marked-up rate. The difference is your margin, and for a healthy SaaS it's a meaningful chunk of the total revenue.

The mechanism is the wallet. Each of your SaaS sub-accounts has a wallet, a prepaid balance that funds their usage. When a client's sub-account sends a text, the cost is deducted from their wallet at your marked-up rate. When the wallet runs low, it auto-recharges by charging the card on file through Stripe, topping up by a preset amount. If auto-recharge is off or the card fails, the sub-account's texting and emailing simply stops working, which is a disaster you discover only when a client calls you furious that their appointment reminders didn't go out.

Dana understood the concept but couldn't get the numbers right. GHL's Twilio rebilling uses a multiplier. The default markup options are things like 2x, 3x, and so on, applied to the base Twilio rate. But the base rate isn't a single number, it's a per-segment SMS cost plus carrier fees plus a per-number monthly rental, and it varies by country. She set a markup and then couldn't tell whether $297 a month would actually be profitable once a busy client burned through 4,000 texts. She had no model. She was guessing, and guessing on unit economics is how you launch a SaaS that loses money on your heaviest users.

Then there was Mailgun. GHL's email sending runs through a dedicated Mailgun integration, and rebilling email works similarly, a markup on the per-email cost. But Mailgun setup at the SaaS level requires its own configuration, and if you want clients sending from their own branded domains rather than a shared GHL sending domain, that's another layer of DNS records per sub-account. Dana hadn't even gotten there yet. She was still stuck on whether her wallet auto-recharge threshold of $10 was going to cause forty tiny Stripe charges a month and annoy her customers.

Week 5 and 6: The snapshot that broke

Here's the thing about a SaaS product on GHL: the software your customers get is only as good as the snapshot you deploy into their sub-account. A snapshot is a template, a saved bundle of pipelines, workflows, calendars, custom fields, funnels, email templates, forms, and trigger links that gets loaded into every new sub-account so the customer starts with a working system instead of a blank slate. For a niche SaaS, the snapshot is your actual product. It's the reason someone pays you $297 a month instead of going direct to GHL for less.

Northbeam serves home services and med spas, so Dana wanted a snapshot with a lead-nurture pipeline, a missed-call-text-back workflow, a review-request automation, an appointment-reminder sequence, and a couple of pre-built funnels. She had most of these workflows already, scattered across different client sub-accounts she'd built over three years. So she built a "master" sub-account, rebuilt the best versions of everything, and created a snapshot from it.

Then she loaded it into a fresh test sub-account, and half of it broke. The workflows referenced custom fields that didn't map. The calendars pointed to team members who didn't exist in the new account. The trigger links were dead. A funnel referenced a form that came in with a different internal ID. This is the single most common snapshot failure, and it happens because snapshots don't always carry every dependency cleanly, and because workflows built referencing specific users, calendars, and integrations don't automatically re-link when loaded into a different account. Dana spent two weeks debugging a snapshot and never got it to the point where she trusted it enough to put a paying customer on it.

Week 7 through 9: Custom domain, white-label, and the slow death of momentum

By now the launch had a psychological weight to it. Every week it didn't happen, it got easier to not happen. Dana still had an agency to run. Clients had campaigns launching. The SaaS became the thing she'd get to "next week."

The last technical wall was white-labeling. For the product to feel like Northbeam's own software and not obviously GoHighLevel, she needed the customer login to live on her own domain, app.northbeamcollective.com, not a GHL URL. That's a custom domain pointed at GHL via a CNAME, configured in the agency settings, with the white-label mobile app and the white-labeled desktop experience. She also needed the system emails, the password resets, the notifications, the wallet receipts, to come from her domain, which meant setting up a dedicated sending domain with SPF, DKIM, and DMARC records so those emails didn't land in spam. And she needed the signup funnel itself: an order form connected to her Stripe, that collected payment, created the sub-account, deployed the snapshot, and logged the customer in. That order form and signup flow is the connective tissue that turns "I have SaaS Mode configured" into "customers can actually buy my product without me touching anything."

None of these are hard individually. Stacked together, with an agency to run and no clear sequence, they were a wall. Nine weeks in, Northbeam had a $497 Agency Pro subscription, a broken snapshot, a half-connected Stripe, a rebilling model she didn't trust, no custom domain, and zero SaaS revenue. Every week that passed was, conservatively, $4,000 of MRR from existing clients she wasn't collecting, plus every new signup she could have closed. The stall wasn't costing her nothing. It was costing her the entire reason she upgraded.

Why Smart Agencies Stall on SaaS Mode (It's Not You)

Before we get to how Northbeam actually launched, it's worth naming why this happens, because if you understand the shape of the problem you'll stop blaming yourself for it.

SaaS Mode is the single most technically demanding thing you can build inside GoHighLevel. Everything else in the platform, workflows, funnels, pipelines, is operator-level configuration. You're setting up a tool for a known job. SaaS Mode is different in kind. You're not configuring a tool, you're configuring a business: pricing, payments, usage-based billing, provisioning, white-label infrastructure, and a productized template all at once. It touches Stripe's payment infrastructure, Twilio's telecom billing, Mailgun's email deliverability, DNS, and GHL's own provisioning engine, and it requires all of them to be correct simultaneously before a single customer can sign up.

There are three specific reasons agencies stall.

The knowledge is fragmented and half-outdated. GHL ships changes constantly. The SaaS Configurator today doesn't look like the tutorial from eight months ago. Half the YouTube walkthroughs show an old interface. The official docs are thin on the exact failure modes, the greyed-out toggle, the snapshot dependency that didn't carry, the DKIM record that has to propagate before the sending domain verifies. So you learn by trial and error, on a live payment system, which is slow and nerve-wracking.

The unit economics are non-obvious and unforgiving. Getting the rebilling markup wrong doesn't announce itself. You launch, you sign customers, and three months later you notice your Twilio bill from GHL is eating your margin because your heaviest client texts constantly and your markup didn't account for it. The mistakes are invisible until they compound.

It competes with the work that pays you today. This is the real killer. You have an agency. The agency has clients, and the clients have this month's campaigns. The SaaS is important but never urgent, so it loses every single time it competes with a client deadline for your attention. That's why nine weeks becomes nine months for so many agencies. Not because it's impossible, but because it never becomes the most urgent thing on any given Tuesday.

None of this is a competence problem. It's a specialization and time problem. And both of those have the same solution.

How Northbeam Actually Launched (In Days, Not Months)

Northbeam launched because Dana stopped trying to do it herself and handed the entire build to a team that does only this. What follows is the actual sequence of a done-for-you SaaS Mode build, so you can see exactly what it takes and how fast it goes when someone who's configured it fifty times before is driving.

The whole build took a handful of working days spread over about a week and a half of calendar time, most of that calendar time being DNS propagation and waiting on Dana to make pricing decisions, not hands-on work. Here's how it broke down.

Step 1: The pricing and rebilling model, decided before anything was clicked

The build didn't start in GHL. It started in a spreadsheet, because you cannot configure plans and rebilling until you've decided what you're selling and at what margin. This is the step Dana had skipped, jumping straight into the Configurator without a model.

Northbeam settled on three tiers:

  • Starter, $97/month — the CRM, pipelines, calendar booking, and the core automations. Aimed at solo operators and very small local businesses.
  • Growth, $297/month — everything in Starter plus the full niche snapshot: the review engine, missed-call-text-back, funnels, and email marketing. This was the flagship, the tier Dana expected 70% of customers to land on.
  • Pro, $497/month — everything in Growth plus done-with-you onboarding, priority support, and a higher included usage allotment.

Then the rebilling model. For Twilio, the decision was a markup that put a marked-up per-segment SMS price in front of customers while keeping a healthy margin over GHL's cost, with a clear included-usage figure baked into each plan so light users never touched their wallet and heavy users funded their own consumption. The wallet auto-recharge was set thoughtfully: a recharge threshold and top-up amount tuned so that a typical Growth customer would see roughly one or two wallet top-ups a month rather than a dozen tiny charges, which keeps the billing experience clean and keeps Stripe fees from nibbling the margin. Mailgun email rebilling got the same treatment, a markup over cost with a generous included monthly send volume so email felt "free" to most customers while heavy senders paid their way.

The output of this step was a one-page model that answered the only question that matters: at each tier, given expected usage, what's the gross margin? Once that existed, every configuration decision downstream was just data entry. This is the difference between a SaaS that prints money and one that quietly loses it on its best customers.

Step 2: Stripe Connect, done correctly and once

A fresh, dedicated Stripe account was connected to SaaS Mode via Stripe Connect, kept separate from Northbeam's existing agency invoicing account so there was no product collision and clean books. The account was verified into live mode, business details, bank account, identity, so that the rebilling toggle, the one that ate three days of Dana's life, was available immediately.

Plans were then created in the SaaS Configurator in the correct order: define the plan, set the monthly price, attach it to the Stripe product, enable rebilling on the plan, and set the included usage. Because Stripe was properly verified and the sequence was right, nothing was greyed out. The three tiers, Starter, Growth, Pro, went in cleanly, each with its price, its rebilling markup, and its wallet auto-recharge configuration.

Step 3: The snapshot, rebuilt to actually deploy cleanly

This was the biggest chunk of hands-on work, and it's where the real product value lives. Rather than salvaging Dana's broken master account, the snapshot was rebuilt with clean deployment in mind from the start, which is a genuinely different discipline from building workflows for a single client.

The difference is dependency hygiene. A snapshot that deploys cleanly across many sub-accounts avoids referencing specific users by name, uses custom values and custom fields that carry reliably, keeps calendars generic so they re-assign to the new account's owner rather than a dead reference, and rebuilds trigger links and funnel-to-form connections so they re-link on load instead of pointing at dead IDs. Every workflow was tested by loading the snapshot into a throwaway sub-account, checking that each automation fired, each calendar booked, each form submitted into the right pipeline, and each trigger link resolved. Then it was loaded into a second fresh account to confirm the deployment was repeatable, not a one-time fluke.

The Northbeam snapshot ended up including a home-services and med-spa lead pipeline, a missed-call-text-back workflow, a review-request engine, a multi-touch appointment reminder sequence, two pre-built funnels, an email nurture sequence, and the custom fields and custom values that tied it all together. This is the thing customers actually pay $297 a month for. It's not "access to GoHighLevel," it's a working, niche-specific system that turns on the day they sign up.

Step 4: Custom domain, white-label, and SMTP

With plans and snapshot done, the white-label layer went on. A custom domain, app.northbeamcollective.com, was pointed at GHL with the correct CNAME and set as the SaaS login domain, so customers log into what looks and feels like Northbeam's own software. The white-label settings, agency name, logo, colors, and login branding, were configured so no GoHighLevel branding appears to the end customer.

Then the piece almost everyone underestimates: system email deliverability. A dedicated sending domain was set up with SPF, DKIM, and DMARC records so that password resets, wallet receipts, and system notifications arrive from a Northbeam address and land in the inbox rather than spam. A broken SMTP setup here is silent and brutal: customers who can't reset their password or never receive their receipt churn immediately and blame the product. Getting the DNS records right, and waiting for them to propagate and verify, is unglamorous and essential.

Step 5: The order form and signup funnel, the automation that makes it a real SaaS

The final piece is what turns a configured account into a self-serve product. A signup funnel was built with an order form connected to the live Stripe account. When a prospect chooses a plan and pays, the flow automatically creates their sub-account, deploys the correct snapshot for their tier, sets up their wallet, and logs them into their new branded dashboard, with no manual step from Dana. That end-to-end automation is what lets the SaaS scale, because Northbeam can sign a hundred customers without doing a hundred manual setups.

The signup flow was tested end to end with a real card and a real refund: pick Growth, pay $297, watch the sub-account provision, watch the snapshot deploy, log in, confirm the wallet exists and auto-recharge is armed, send a test SMS and confirm it deducts from the wallet at the marked-up rate, receive the system email from the Northbeam domain. Only when that full loop worked, payment to provisioned, snapshot-loaded, texting-capable account, was the product declared live.

The launch: first three signups in the first two weeks

Northbeam launched to their existing client base first, because that's the fastest MRR on earth. Dana emailed her fourteen clients: the CRM they'd been using for free was now Northbeam's own product, here's the login on our domain, here's what it does, and here's the plan. Within two weeks, the first three clients converted to the Growth tier at $297 a month.

Three signups. $891 a month in new, near-passive recurring revenue, from clients Northbeam already had, covering the entire one-time build cost inside about five weeks and then compounding from there. And that was before Northbeam pointed a single ad or ran a single cold campaign at net-new prospects. The nine-week stall had been costing them exactly this, week after week, and it evaporated the moment the configuration was handled by someone who does only this.

Features and Benefits: What a Done-For-You SaaS Build Actually Solves

Let's connect the specific things Northbeam got to the specific pains you're feeling right now. This is the part where features stop being a list and start mapping to your actual problems.

Full SaaS Mode configuration → you stop guessing on unit economics

The build includes the entire SaaS Mode setup: plans, pricing, rebilling, and wallet markup on Twilio and Mailgun, modeled before it's configured. The benefit isn't "SaaS Mode is turned on." Anyone can turn it on. The benefit is that your rebilling markup is set to a number that's actually profitable across light and heavy users, your wallet auto-recharge won't spam your customers with tiny charges or leave them dead when a card fails, and you have a one-page margin model you can trust. You stop launching a SaaS that might be losing money on its best customers and start launching one whose unit economics you can defend.

A branded snapshot that deploys cleanly → your product actually works on day one

The build includes a snapshot built to your niche and tested for clean deployment across sub-accounts. The benefit is that when a customer signs up, their account turns on as a working system, pipelines populated, automations firing, funnels live, not a blank GHL account they have to figure out themselves. Your churn in the first thirty days, the most dangerous window, drops, because the product delivers value immediately. And you never again spend two weeks debugging why a workflow broke when it loaded into a new account.

Custom domain, white-label, and SMTP → it's your software, and the emails land

The build includes your custom login domain, full white-label branding, and a properly authenticated sending domain. The benefit is that your customers experience Northbeam software, not GoHighLevel, which is what justifies your price and builds your brand equity rather than GHL's. And because SPF, DKIM, and DMARC are set correctly, your password resets and receipts land in the inbox, so you don't lose customers to the silent killer of undelivered system email.

Stripe Connect, order forms, and signup funnel → you sell instead of configure

The build includes the live Stripe connection, order forms, and the automated signup funnel that provisions accounts and deploys snapshots on payment. The benefit is the entire premise of the value proposition: you sell instead of configure. A customer can buy at 11pm on a Sunday and be using their branded, snapshot-loaded account two minutes later without you touching anything. That's the difference between a SaaS that scales and a "SaaS" that's really just you manually setting up accounts one at a time.

Why the Work Doesn't End at Launch (And Why That's the Point)

The one-time build gets you live. But a SaaS is a living product, and this is where a lot of agencies who somehow muscle through the initial launch fall down again. GoHighLevel ships new features constantly, communities, courses, AI features, new workflow actions. Your customers sign new clients and need new sub-accounts provisioned. Your snapshot needs updating as you learn what your customers actually use. Bugs surface. A Twilio pricing change means your rebilling markup needs a look. A customer's wallet auto-recharge fails and their texting goes dark on a Friday afternoon.

This is why the model isn't just a build, it's a build plus an ongoing retainer, typically $300 to $1,500 a month depending on how much is happening. The retainer covers new automations and snapshot updates as your offer evolves, onboarding new sub-accounts as you sign clients, rolling out GHL's new features into your product as they ship so you're always current, fixing bugs before your customers notice them, and, critically, a priority support SLA so that when something does break, your SaaS doesn't go dark while you're on a client call.

For Northbeam, the retainer means Dana never touches the technical layer of her SaaS again. When GHL shipped a new AI feature, it got evaluated and rolled into the Growth and Pro tiers as an upsell, without Dana learning how it worked. When her fourth, fifth, and sixth customers signed up, onboarding was handled. When she wanted to add a Google Reviews automation to the snapshot, it got built and pushed. She spends her time selling the product and running her agency. The software runs, and someone else makes sure it keeps running. That's what lets a six-person agency operate a SaaS without hiring a technical SaaS operator.

The math on the retainer is the same as the build: it's a rounding error against the MRR it protects and grows. If your SaaS is doing even $3,000 a month and climbing, a $500 retainer that keeps it live, current, and expanding is not a cost, it's insurance plus a growth engine.

The Cost of Waiting: Do the MRR Math on Your Own Stall

Let's make the cost of a stall concrete, because it's the single most important number in this entire decision, and it's the one agencies never calculate.

Every week your SaaS isn't live is a week of MRR you will never get back. Not delayed, gone. If you have ten existing clients who'd convert to a $297 plan, that's $2,970 a month sitting on the table. Every week you don't launch, you're not "saving" that decision for later, you're permanently forfeiting that week's revenue and pushing every future signup a week further out. A stall isn't neutral. It compounds against you.

Now run it against the build. A full done-for-you SaaS Mode build is a one-time investment in the neighborhood of $1,000. An agency charging clients $97 to $497 a month recoups that on the first one to three signups. Northbeam recouped it in about five weeks off three signups and then kept every dollar after that. If you're the kind of agency this is written for, an Agency Pro subscriber with existing clients and a niche, the build pays for itself faster than almost any other investment you can make in your business, because it's not buying you a service, it's switching on a revenue stream you're already paying $497 a month to have access to and currently getting nothing from.

Here's the uncomfortable framing. You're already paying for Agency Pro. That $497 a month is buying you the right to run a SaaS. If you're not running one, you're paying full price for a product you're using at a fraction of its value, month after month. The build isn't a new expense. It's the thing that finally makes the expense you're already carrying pay for itself many times over.

Nine weeks cost Northbeam, conservatively, more than $8,000 in forfeited MRR from existing clients alone, on top of the new customers they couldn't sign because they had nothing to sell. The build would have cost them a fraction of that and eliminated the entire stall. The most expensive line item in their SaaS launch wasn't the build. It was the waiting.

What Launching With GHL Spark Looks Like

If you see Northbeam in your own dashboard, here's how a done-for-you launch works and what you can expect.

It starts with a short strategy call, not a sales pitch, a working session, to nail down your niche, your pricing tiers, and your rebilling model. That's the spreadsheet-before-the-Configurator step, and it's where the unit economics get decided so everything downstream is just execution.

From there, the build runs in parallel across the pieces we walked through: Stripe Connect set up correctly and once, the plans and rebilling configured with your markup and wallet settings, your niche snapshot built and tested for clean deployment, your custom domain and white-label branding, your authenticated sending domain for deliverability, and your order form and signup funnel wired end to end. You make decisions; the technical execution is handled. The hands-on work is a matter of days, and the calendar time is mostly DNS propagation and your pricing choices, not hands-on labor.

Then the whole thing is tested end to end with a real transaction, payment to provisioned, snapshot-loaded, texting-capable account, before it's declared live. You launch to your existing clients first for the fastest MRR, then to net-new prospects. And the ongoing retainer keeps it live, current, and growing so you never touch the technical layer again.

The entire premise is the one on our homepage: launch your GHL SaaS in days, not months, done-for-you build plus ongoing support, so you sell instead of configure. Northbeam is what that looks like in practice. Six people, nine weeks stalled, then live in days and collecting MRR two weeks later.

You upgraded to Agency Pro to run a software company. This is how you actually start.

Ready to Launch? Here's Your Next Step

If you're on the $497 Agency Pro plan, you have a niche, and you have clients who'd pay for the CRM they're already using, you are exactly the agency that should have a live SaaS this month, not next quarter. The only thing standing between you and MRR is configuration, and configuration is the one part you can hand off entirely.

Book a strategy call with GHL Spark. We'll map your tiers, model your rebilling so the margins are real, and give you a straight answer on how fast you can be live. If it's a fit, we build it, test it end to end, and hand you a SaaS you can sell, not a project you have to babysit. If it's not, you'll leave the call with a clearer plan than you walked in with.

Stop configuring. Start selling. Launch your GHL SaaS in days, not months.

Sources and further reading

HighLevel changes SaaS Mode regularly, and pricing and rebilling behaviour in particular move. Check the primary documentation before you model margins for a client:

Northbeam Collective is a composite drawn from agencies with this profile, not a single named client; the figures illustrate the mechanics rather than report one company's books.

Frequently asked questions

I already started configuring SaaS Mode myself and it's half-broken. Do I have to start over?
No. A half-finished or broken configuration is one of the most common starting points, and it's usually faster to fix than to rebuild from scratch, because the decisions you've already made, your niche, your rough pricing, the workflows you've built, are all salvageable inputs. The typical process is to audit what you have, keep what's clean, correct what's misconfigured (the greyed-out rebilling toggle, the wrong Stripe connection, the snapshot that won't deploy), and finish the pieces you haven't reached yet. Northbeam had a half-connected Stripe, a broken snapshot, and no domain, and it was still a days-long build, not a from-zero project. Bring what you have.
How is the rebilling markup actually set, and how do I know I won't lose money on heavy users?
Rebilling is a markup multiplier applied to GHL's cost for usage-based services, primarily Twilio for SMS and calls and Mailgun for email. The key is that it's modeled before it's configured. You decide an included-usage allotment per plan tier, so light users never touch their wallet, and a markup on consumption beyond that, so heavy users fund their own usage at a margin. The one-page margin model built during setup shows your gross margin at each tier under realistic usage, including a stress test for your heaviest expected customer. That's specifically how you avoid the classic mistake of a markup that looks fine until your busiest client texts 4,000 times a month and eats your margin. You launch with numbers you can defend, not a guess.
What exactly is the wallet, and what happens if a customer's card fails?
Each SaaS sub-account has a wallet, a prepaid balance that funds that account's usage. When the account sends an SMS or email, the marked-up cost is deducted from the wallet. When the balance drops below a threshold you set, it auto-recharges by charging the card on file through Stripe by a preset top-up amount. If the card fails, usage-based features like texting and email pause until it's resolved, which is why the top-up amount and threshold are tuned during setup to minimize failures and tiny nuisance charges, and why the ongoing retainer includes monitoring so a failed recharge gets caught before your customer's appointment reminders stop going out. The wallet is the single most important piece to configure thoughtfully, because it directly controls both your margin and your customers' uptime.
Why does the snapshot matter so much, and why do mine keep breaking when I deploy them?
Your snapshot is your actual product. It's the working system, pipelines, automations, funnels, that turns on when a customer signs up, and it's the reason they pay you a monthly fee instead of going direct to GHL. Snapshots break on deployment for predictable reasons: workflows that reference specific users, calendars, or integrations that don't exist in the new account, custom fields that don't map, and trigger links or funnel-to-form connections that point at dead IDs. The fix is building the snapshot with deployment hygiene from the start, keeping references generic so they re-link cleanly, then testing it by loading into throwaway accounts and confirming every automation fires and every calendar and form works. A snapshot built for a single client and a snapshot built to deploy across many sub-accounts are genuinely different disciplines, which is why yours keep breaking.
Can I really launch in days? My last attempt took two months.
Yes, and the reason your last attempt took two months is almost certainly not the actual work, it's that the work competed with running your agency and lost every time a client deadline came up, plus the trial-and-error of learning failure modes on a live payment system. The hands-on configuration for someone who's done it many times is a matter of days. The calendar time is mostly DNS propagation for your domain and email authentication, plus waiting on your pricing decisions, neither of which is hands-on labor. Northbeam went from nine weeks stalled to live in a handful of working days once it stopped competing with their client work for attention and got handled by a team that does only this. The two months wasn't the difficulty. It was the divided attention.
Should I launch to new prospects or my existing clients first?
Existing clients, almost always, because it's the fastest MRR available to you. Your current clients are already using GoHighLevel inside your service, they trust you, and in many cases you've been providing the CRM for free. Repositioning it as your own branded product and moving them onto a paid plan is the shortest path from launch to revenue, often converting within a couple of weeks, as Northbeam's first three signups did. It also lets you validate the full signup, provisioning, and billing flow with friendly customers before you point cold traffic at it. Once that's humming and your existing base is converted, you turn to net-new prospects with a product that's already proven and generating MRR.
What does the ongoing retainer actually cover, and do I need it?
The retainer, typically $300 to $1,500 a month depending on activity, covers everything after launch: new automations and snapshot updates as your offer evolves, onboarding new sub-accounts as you sign clients, rolling out GHL's new features (AI, communities, courses) into your product as they ship, bug fixes, and a priority support SLA so your SaaS doesn't go dark while you're busy. You don't strictly need it, but consider what it protects. If your SaaS is doing even a few thousand a month and growing, a retainer that keeps it live, current, and expanding is a rounding error against the MRR it protects, and it's the reason a small agency can run a SaaS without hiring a technical operator. Most agencies who launch without it end up wanting it the first time GHL ships a feature they want to offer or a wallet recharge fails on a Friday.
I'm on Agency Pro but haven't picked a niche for my SaaS. Can you still help?
Yes, and the strategy call is partly for exactly this. Your niche should usually come from where you already have strength, the industries your current clients are in, because that's where you understand the workflows, can build a snapshot that genuinely fits, and have warm prospects to launch to. Northbeam picked home services and med spas because that's who they already served, which made the snapshot obvious and the first customers easy. If you're undecided, the call works through your client base, your expertise, and the market to land on a niche narrow enough that your product feels purpose-built and broad enough to scale. You don't need the niche fully decided before you reach out; you need it decided before the snapshot gets built, and that's part of what the process figures out with you.

About the author

Farhad, founder of GHL Spark

Farhad

Founder, GHL Spark

Farhad is the founder of GHL Spark, where he builds and white-labels GoHighLevel SaaS platforms for agencies and SaaS operators. He writes about the parts of GoHighLevel that actually break in production — A2P registration, onboarding, support load and automation.

Want this handled for you?

We set up, configure and white-label your GoHighLevel SaaS — so you can sell it instead of building it.

Fixed quote · No lock-in · Launch-ready in ~7 days