GoHighLevel Premium Actions: Costs & Setup (2026) — HL Growth Partner, Dr Priya Jaganathan

GoHighLevel Premium Actions: Costs & Setup (2026)

August 15, 2026

GoHighLevel Premium Actions: Costs & Setup (2026)

By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 15 August 2026 · 8 min read

GoHighLevel premium actions are workflow steps that draw down credits from your sub-account wallet each time they execute, rather than being covered by your monthly plan fee. They sit alongside the free native actions in the same workflow builder, and they look almost identical in the action picker — the only visual cue is a small premium label and, in most sub-accounts, a note about credit consumption when you open the action settings. Custom Code, Custom Webhook, Google Sheets, Slack, Inbound Webhook, the Array, Text and Number formatters, and the AI-powered actions all fall into this bucket, along with a handful of premium triggers.

The practical consequence is that a workflow can quietly become a recurring line item. A build that seemed harmless during testing can, once it is running against a live contact database, execute thousands of times a month. I have audited sub-accounts where a single Custom Webhook inside a re-entry-enabled workflow accounted for more wallet spend than the entire SMS and email usage combined. This article covers what the premium actions are, how the wallet and credit model works, how to estimate your monthly cost before you build, how to rebill usage in SaaS Mode, and how to stop a runaway loop from draining a client's wallet overnight.

What GoHighLevel premium actions actually are

Every GoHighLevel plan includes an unlimited allowance of the standard workflow actions: send an email, send an SMS, add or remove a tag, update a custom field, create or move an opportunity, assign a user, add a wait step, branch on an if/else condition, and so on. Those cost you nothing beyond the LeadConnector pass-through charges for the messages themselves through Twilio and Mailgun.

HighLevel premium workflow actions are a separate class. They are the steps that call out to infrastructure GoHighLevel does not own, or that consume compute the platform has to pay for. Each execution is metered and billed against the wallet attached to that sub-account.

The premium actions you will meet most often

Custom Code. Runs a JavaScript snippet inside the workflow with access to the contact payload. Enormously useful for reshaping data, doing date maths, or building a request body. Billed per execution.

Custom Webhook. Sends an outbound HTTP request to an external endpoint and, unlike the older fire-and-forget webhook, waits for and parses the response so you can map values back into custom fields. That response handling is what makes it premium.

Inbound Webhook (premium trigger). Gives you a URL that external systems POST to in order to start a workflow, with the payload available as mappable variables. Charged per inbound event received.

Google Sheets and Slack actions. Native connectors that read or write a row, or post a message to a channel, without you having to build the API call yourself. Convenient, and metered per run.

Array, Text and Number formatters. Small utility actions that split, join, trim, replace, round or calculate. Individually cheap, but they are the ones people chain three or four deep in a single workflow and then wonder why the credit burn is higher than expected.

AI-powered workflow actions. The GPT-style actions that summarise a conversation, classify an inbound enquiry, or draft a reply inside the workflow. These sit apart from Conversation AI, which is billed under its own model, and are typically the most expensive per run because they consume model tokens. If you are weighing these up, read our breakdown of GoHighLevel AI Employee setup and pricing before committing to an AI-heavy build.

Everything else — the workhorse steps covered in our guide to GoHighLevel workflows, triggers and actions — remains included in your plan.

The wallet and credit model, explained

Each sub-account has its own wallet. Premium action executions, along with messaging and phone charges, are deducted from that balance as they occur. Under an agency plan the wallet is typically funded by the agency card; under SaaS Mode the sub-account funds its own.

How charges accrue

Charging is per action run, not per contact and not per workflow. If one contact passes through a workflow containing a Custom Code step, a Custom Webhook and a Text formatter, that is three separate premium executions for that one contact. If the contact re-enters the workflow next week, that is three more.

Failed executions are the awkward case. An action that errors because your endpoint returned a 500 may still count as an attempted execution, and any retry counts again. This matters most for Custom Webhook steps pointed at flaky third-party endpoints.

Finding the charges in the ledger

Go to Settings → Billing → Wallet inside the sub-account. You will see the current balance, the auto-recharge configuration, and a transaction ledger. Filter the ledger by premium action or workflow usage and you get a dated list of deductions. Cross-reference a spike against the workflow's own execution history (open the workflow, then the Execution Logs tab) to identify which build is responsible. The logs show contact name, timestamp, and the status of each step, which is how you find the loop.

Auto-recharge

On the same Wallet screen you set a threshold and a top-up amount — for instance, recharge by 50 when the balance drops below 20. Auto-recharge prevents workflows from silently failing mid-run when the balance hits zero, which is the worse failure mode: a contact stuck between steps with a half-written custom field. Set it, but set the top-up amount modestly. A generous auto-recharge combined with a looping workflow is how a client ends up with a large unexplained charge.

Estimating the monthly cost of premium actions

Rates change. Do not treat any number in this section as current pricing — check the live figures in Billing → Wallet in the sub-account and on GoHighLevel's official pricing page. The numbers below are deliberately round and illustrative so the arithmetic is easy to follow with your own rate substituted in.

The worked example

Assume a sub-account with 2,000 contacts entering a nurture workflow each month, and each contact triggering three premium executions: one Custom Webhook to push the lead into the client's practice management system, one Text formatter to normalise the phone number, and one Custom Code step to calculate a follow-up date.

2,000 contacts × 3 premium executions = 6,000 executions per month.

At an illustrative rate of $0.01 per execution, that is $60 per month. At an illustrative $0.005, it is $30. At an illustrative $0.02 for the heavier AI actions, it is $120. The rate matters enormously at volume, which is why you check it before you build rather than after the first invoice.

Illustrative monthly cost by volume

Contacts per monthPremium actions per contactExecutions per monthIllustrative cost at $0.01/execution
2502500$5
50031,500$15
2,00036,000$60
2,000612,000$120
5,000420,000$200
10,000440,000$400

Read the fourth row carefully. Doubling the number of premium steps per contact doubles the bill without adding a single contact. Most of the savings I find in audits come from collapsing three formatter steps into one Custom Code step, or removing formatters entirely because the same result was achievable with a native custom field update.

When a premium action is worth it — and when it is not

Rebuild it natively

A surprising share of premium usage is avoidable. Text formatters used to uppercase a first name can be replaced by leaving the field alone. Number formatters used to compare a value can usually be replaced by an if/else branch — our guide to GoHighLevel workflow if/else conditions walks through the comparison operators available for free. Anything that amounts to counting or thresholding is often better handled as a scored value, which is the approach in our GoHighLevel lead scoring workflow setup.

Move it outside the workflow

If the integration is high-volume and simple, a private integration token calling the API from your own script or an external automation platform can be cheaper than paying per execution inside the workflow. Our notes on GoHighLevel API private integrations cover the token setup and scopes. The trade-off is maintenance: an external script is another thing to monitor, and it will not appear in the workflow execution logs when it breaks.

Pay for it without hesitation

Premium actions earn their keep when the alternative is manual labour or a broken client experience. A Custom Webhook that writes a booking straight into a clinic's practice software, at 300 executions a month, costs a few dollars and saves hours of admin. An AI classification action that routes 2,000 inbound enquiries correctly is cheap next to the cost of a mis-routed enquiry. Judge each action on what it replaces, not on whether it is free.

Agency-level considerations and rebilling

Rebilling in SaaS Mode

In SaaS Mode you can rebill premium action usage to the sub-account with a markup, in the same way you rebill SMS, email and phone numbers. Enable it under the agency-level SaaS configuration, set the markup multiplier, and the sub-account's wallet is charged at your rate rather than the wholesale rate. Two things to get right: tell the client that automation usage is metered, in writing, before you switch it on; and make sure the sub-account has a payment method attached and auto-recharge configured, or their workflows will stall. The mechanics of the wider setup are covered in our article on GoHighLevel SaaS Mode pricing.

Wallet limits and monitoring

Set a sensible auto-recharge ceiling per sub-account rather than one generous default across the portfolio. Review the wallet ledger on the same day each month, ideally two or three days before the billing date, so a spike is caught while there is still time to disable the offending workflow. If you deploy the same snapshot across many sub-accounts, remember that a costly premium step in that snapshot is now multiplied by the number of installs — audit snapshots for premium actions before you roll them out.

Avoiding accidental spend

Test mode and small test lists

Use the workflow test feature with a single dummy contact before publishing. Test executions of premium actions may still be charged, so test once, read the logs, and fix rather than repeatedly firing tests. When you first publish, restrict the trigger with a filter — a specific tag, or a source value — so only a handful of real contacts enter on day one.

Execution limits and re-entry

Three settings in the workflow's own configuration do most of the protective work. First, Allow Re-Entry: leave this off unless you genuinely need a contact to run through twice. It is the single most common cause of duplicated premium charges. Second, Allow Multiple Opportunities: if the workflow creates opportunities, this can multiply runs per contact. Third, the execution or enrolment limits in workflow settings, which cap how many contacts can enter within a window — a crude but effective circuit breaker on a new build.

Wait steps and loops

Wait steps are where loops hide. A workflow that waits, then updates a field, where that same field update is the workflow's own trigger, will cycle indefinitely and charge every premium action on every cycle. Before publishing, trace each action backwards and ask whether anything it changes could re-trigger the workflow. The same applies to trigger links and tag-based triggers — if you are using link clicks as entry points, our guide to GoHighLevel trigger links setup and tracking explains how to scope them tightly. For the authoritative behaviour of each setting, GoHighLevel's official help documentation is the reference to check when a setting changes.

Common mistakes to avoid

  • Leaving Allow Re-Entry switched on by default, so every contact runs the premium steps multiple times without anyone noticing until the wallet is empty.
  • Chaining four formatter actions where one Custom Code step, or one native custom field update, would produce the same result at a fraction of the cost.
  • Setting auto-recharge to a high top-up amount with no monitoring, which turns a looping workflow into a large charge rather than a visible failure.
  • Deploying a snapshot containing premium actions across a portfolio of sub-accounts without first auditing what those actions will cost per install.
  • Enabling rebilling in SaaS Mode without telling the client that automation usage is metered, which turns a technical detail into a billing dispute.
  • Pointing a Custom Webhook at an unreliable endpoint and letting failed attempts and retries accrue charges for requests that never succeed.

If you want your GoHighLevel workflows audited for premium action spend before the next billing cycle, book a strategy call with the HL Growth Partner team.

Book Your Strategy Call →

Frequently asked questions

Which GoHighLevel premium actions cost the most per execution?

As a general rule the AI-powered workflow actions are the most expensive, because they consume model tokens, followed by Custom Code and Custom Webhook, with the Array, Text and Number formatters at the lower end. Exact rates change and vary by action, so confirm them in Settings, Billing, Wallet inside the sub-account rather than relying on any published figure.

Do premium actions charge when the workflow step fails?

Often yes. An attempted execution that errors, and any automatic retry, can still be metered. This is why a Custom Webhook pointed at an unstable endpoint can accrue charges without ever delivering a successful result. Check the execution logs for repeated failures on the same step and either fix the endpoint or remove the action.

Can I see exactly which workflow is draining the wallet?

Yes. Open Settings, Billing, Wallet and review the transaction ledger for premium action deductions with timestamps. Then open the suspected workflow and check its Execution Logs tab, which lists each contact, each step and its status. Matching the timestamps between the two identifies the responsible build quickly.

Does rebilling premium actions in SaaS Mode work the same as SMS rebilling?

The mechanism is similar. You enable rebilling at the agency level, apply a markup, and the charge is drawn from the sub-account wallet at your rate. The difference is that clients understand SMS charges intuitively and rarely understand automation charges, so disclose the arrangement in writing before enabling it.

Is there a way to cap how much a sub-account can spend?

There is no hard spend cap in the way a prepaid card works, but the practical equivalent is a modest auto-recharge amount combined with workflow-level enrolment limits and re-entry switched off. Together these bound how many executions can occur before someone has to intervene, which is the outcome you actually want.

Dr PriyaJaganathan

Dr PriyaJaganathan

Dr Priya Jaganathan is a Go High Level Certified Admin, trusted CRM consultant based in Australia, and a keynote speaker at SaaSpreneur Sydney and Level Up 2025 in Dallas.

Back to Blog