When you enable AI Employees or Conversation AI in a GoHighLevel sub-account, HighLevel bills your agency Stripe card directly for every token, message, and voice minute consumed. If you don’t turn on rebilling and permission guards immediately, a single client running an aggressive database reactivation workflow can drain hundreds of dollars from your agency bank balance overnight.
Setting this up properly means connecting your Stripe bridge, dialing in your markup multipliers, forcing wallet auto-recharges on the sub-account, and locking down permissions so clients can’t tamper with your prompt configurations or disable billing.

Agency Wallet vs Sub-Account Rebilling Architecture
HighLevel handles AI features (Conversation AI, Workflow AI actions, Content AI, and Voice AI) through a two-tier billing system. At the top level is your Agency Wallet, funded by your primary agency credit card. Whenever an AI request executes inside any sub-account, HighLevel deducts the wholesale cost from your balance in real time.
To avoid eating client usage costs yourself, you have to enable client rebilling via the SaaS Configurator or the Reselling tab. When rebilling is active, GoHighLevel charges your sub-account’s attached payment method at a markup multiplier you set (like 1.5x or 2.0x wholesale cost). The markup profit lands straight in your connected Stripe account.
If a sub-account runs out of credits and doesn’t have auto-recharge turned on, HighLevel simply kills execution for that specific account while keeping your agency-wide services running. If you run into silent drops when balances hit zero, check out my breakdown on how to fix GoHighLevel AI Employee not responding in conversations.
Connecting Stripe and Enabling SaaS Mode
You cannot rebill AI features on standard Starter agency plans without SaaS Mode enabled. You need an active Agency Pro (SaaS) plan and a connected Stripe account. HighLevel relies on Stripe Connect to capture charges, process auto-recharges, and handle failed invoice retries.
To verify your billing bridge is healthy:
- Head to your HighLevel Agency View.
- Go to Settings > Stripe Integration.
- Make sure your primary Stripe account shows Connected with live transaction permissions enabled.
- Open Reselling from the agency sidebar.
If your Stripe connection drops or loses OAuth permissions, HighLevel fails to charge client cards silently. When that happens, rebilling pauses and your agency card ends up absorbing the wholesale charges. You can monitor your webhook delivery logs in the Stripe Billing documentation.
Setting AI Employee Markup Multipliers and Default Credits
HighLevel gives you global control over AI markups, plus per-sub-account overrides. I recommend setting baseline pricing across your standard agency templates first, then tweaking individual high-volume sub-accounts manually as needed.
Go to Agency View > Reselling > Conversation AI / AI Employee. You’ll see pricing sliders for text generation, message responses, and voice agent execution minutes.
- Base Wholesale Cost: Roughly $0.02 per Conversation AI response (varies slightly depending on the underlying OpenAI model).
- Standard Markup: 1.5x to 2.5x ($0.03 to $0.05 per execution) is usually the sweet spot for agency margins.
- Complimentary Monthly Credits: Set a small buffer (like $5.00/month included in their base retainer) so new sub-accounts get some runway without instant micro-charges hitting their statement.
Once saved globally, these multipliers apply to any new sub-account created under a SaaS plan. To push them to older legacy sub-accounts, open Agency View > Sub-Accounts, click the target location, and toggle Resell Conversation AI on.
Configuring Sub-Account Wallet Auto-Recharge Rules
Rebilling fails the second a client wallet hits $0 if auto-charge is disabled. When this happens, conversation bots stop replying to incoming leads mid-thread. You need to set auto-recharge rules inside the client sub-account from day one.
Switch to the target Sub-Account and run through these steps:
- Go to Settings > Company Billing (or manage it from Agency View > Sub-Accounts > Manage Client).
- Find the Wallet & Credits section.
- Click Modify Auto-Recharge.
- Set “When balance drops below” to $10.00.
- Set “Recharge with” to $25.00 or $50.00.
- Save the changes and confirm they have a valid credit card set as primary.
Here is the underlying billing state configuration object returned when you query the account via the HighLevel API:
{ "locationId": "loc_98a7bc6d5e4f3a21", "billing": { "rebillingEnabled": true, "services": { "conversationAi": { "enabled": true, "markupMultiplier": 2, "monthlyIncludedCredits": 5 }, "workflowAi": { "enabled": true, "markupMultiplier": 1.75 } }, "wallet": { "autoRecharge": true, "threshold": 10, "rechargeAmount": 25, "currency": "USD" } }
}If you’re auditing these settings programmatically across dozens of accounts, look up each account ID using our guide on how to find sub-account location IDs in GoHighLevel.
Locking Down Sub-Account User Permissions and AI Menus
Clients shouldn’t be poking around rebilling toggles, changing trained system prompts, or tweaking bot behavior without your team knowing. HighLevel allows you to hide sensitive AI menus using User Roles and Custom Menu permissions.
To lock down sub-account permissions:
- In Agency View, go to Settings > My Staff.
- Select the client user profile and click Edit.
- Expand User Permissions.
- Turn off Conversation AI if your agency manages bot training and prompts exclusively.
- Turn off Company Billing access unless the specific user is the billing owner who pays the invoices.
If you want clients to see conversation logs in their inbox without giving them access to modify the AI Employee knowledge base, go to Settings > Custom Menu Link in agency view and hide the Conversation AI tab entirely for standard location admins.
Validating Stripe Webhook Payloads for AI Charges
Whenever an auto-recharge triggers, HighLevel generates an invoice item in Stripe and runs an asynchronous payment intent. You can hook into this event with external automations or verify it in your agency Stripe dashboard.
Here is what the webhook payload looks like when HighLevel charges a client sub-account for an AI Employee wallet top-up:
{ "id": "evt_3Nxy8ABC123Def456", "object": "event", "type": "invoice.payment_succeeded", "data": { "object": { "id": "in_1Nxy8ABC123Def456", "customer": "cus_P987xyz654", "amount_paid": 2500, "currency": "usd", "description": "HighLevel Wallet Recharge - Location loc_98a7bc6d5e4f3a21", "lines": { "data": [ { "description": "Sub-Account Balance Auto-Recharge (AI Services)", "amount": 2500 } ] } } }
}If you want to push these recharge alerts to Slack or sync them with your bookkeeping app, check out our tutorial on sending authenticated webhooks with custom headers in GoHighLevel workflows.
Handling Snapshot Deployments Without Overwriting Rebilling Config
A common trap is deploying updated account snapshots over active client sub-accounts. If your snapshot includes workflow-level AI actions with hardcoded prompt overrides, it will wipe out custom prompt tweaks or reset sub-account-specific triggers.
Before pushing an agency snapshot:
- Review the snapshot asset conflict resolution options carefully.
- Skip custom conversation settings if you have customized prompts for that specific client.
- Follow our walkthrough on how to update GoHighLevel snapshots without overwriting sub-account assets to keep your custom bot settings safe.
Troubleshooting Rebilling Failures and Token Drops
When AI Employee rebilling breaks or bots go silent, here is where to look first:
1. Failed Payment Intent in Stripe
If a client’s card gets declined during an auto-recharge trigger, HighLevel marks the sub-account wallet as insolvent and pauses AI execution instantly. Check Agency View > Billing > Transactions to see the exact Stripe error code (usually card_declined or insufficient_funds).
2. Sub-Account Not Converted to SaaS Mode
If a sub-account was created manually outside your SaaS onboarding pipeline, it defaults to standard agency billing. The rebilling toggles will stay grayed out until you convert the sub-account to a SaaS location from your Agency Sub-Accounts list.
3. Rate Limits on Underlying OpenAI API Endpoints
During massive platform-wide traffic spikes, HighLevel balances AI requests across shared infrastructure. If a bot skips replies even with a well-funded wallet, check Sub-Account > Settings > Conversation AI > Bot Execution Logs to verify whether tokens were dropped due to upstream API timeouts.
For system-wide outages and status updates, check the official GoHighLevel Help Center.
Frequently Asked Questions
What happens if my agency Stripe card declines for wholesale AI charges?
HighLevel will attempt to charge your card multiple times. If your agency balance stays past due, HighLevel pauses AI execution across all your managed sub-accounts until your primary payment method clears.
Can I set different markup multipliers for different sub-accounts?
Yes. In Agency View, go to Sub-Accounts, click the three dots next to the client account, pick Manage Client, and adjust the Conversation AI or Workflow AI multipliers specifically for that location.
Does Workflow AI use the same rebilling pool as Conversation AI?
Yes. Both consume funds from the sub-account wallet balance. However, you can configure independent markup multipliers for Workflow AI actions (like sentiment analysis or text formatting) and Conversation AI bots inside your Reselling tab.
Can clients see the exact wholesale cost of their AI usage?
No. Sub-account users only see their current wallet balance, their recharge threshold, and the final price per execution based on the markup multiplier you configured.
Next Steps
Once you’ve configured rebilling and locked down permissions, run a test lead through an SMS or web chat channel inside the sub-account. Verify that the bot fires, tokens deduct from the client wallet, and your markup shows up in your connected Stripe dashboard.

