Whitelabel
Build your own branded AI calling business with custom portals where clients sign up, purchase credits, and make AI calls under your brand.
The whitelabel feature lets you build your own branded AI calling business. Create a custom portal where your clients sign up, purchase credits, and make AI calls — all under your brand.
Whitelabel enables agencies and resellers to offer HMS Sovereign's AI calling technology under their own brand, with custom pricing, payment processing, and user management.
What You Can Do
| Feature | Description |
|---|---|
| Custom Branding | Your logo, colors, and company name |
| Your Pricing | Set your own credit packages and margins |
| Your Payments | Connect your Stripe account |
| Custom Domain | Use your own portal URL |
| User Management | Manage clients and allocate credits |
| Full Control | Enable/disable portal anytime |
How It Works
When a user signs up on your whitelabel portal, a dedicated child organization is automatically created in your HMS Sovereign account. This gives you full control over each client's AI assistant configuration directly from your dashboard.
The billing flow:
- You purchase minutes from HMS Sovereign (€0.07/minute)
- Your clients purchase credits from your portal (your price)
- When clients make calls, minutes are deducted from your HMS account
- You keep the margin between your price and HMS cost
Per-Client Assistant Management
Each whitelabel user gets their own organization in your HMS Sovereign dashboard. This enables you to build complete, customized agentic systems for every client.
What You Can Configure Per Client
| Configuration | Description |
|---|---|
| Custom Assistants | Create unique AI assistants tailored to each client's business |
| Webhooks | Configure separate endpoints for each client |
| Integrations | Connect client-specific CRMs, calendars, and tools |
| Knowledge Bases | Upload client-specific documents and data |
| Voice Settings | Customize voice, language, and personality per client |
Webhook Configuration
Set up dedicated webhooks for each client organization to receive real-time events:
| Event | Description |
|---|---|
assistant-request | Triggered when the assistant needs external data or actions |
status-updates | Call status changes (ringing, answered, ended, etc.) |
tool-calls | When the AI assistant invokes a configured tool |
end-of-call-report | Detailed summary after each call completes |
This allows you to route events to client-specific backend systems, enabling deep integrations with their existing infrastructure.
Building Custom Services
The per-client organization model opens up additional revenue streams beyond credit margins:
Integration Services
- Connect each client's CRM (Salesforce, HubSpot, Pipedrive, etc.)
- Sync with their calendar systems (Google Calendar, Outlook)
- Integrate with email platforms for follow-ups
- Connect to their helpdesk or ticketing system
Custom Assistant Development
- Build specialized assistants for each client's industry
- Create unique conversation flows and scripts
- Configure client-specific tools and functions
- Train assistants on client knowledge bases
Revenue Model Example
| Revenue Stream | Example |
|---|---|
| Credit Margin | Sell credits at €0.40, cost €0.07 = €0.33 profit per minute |
| Setup Fee | Charge €500-2000 for initial assistant configuration |
| Monthly Service | Charge €200-500/month for managed assistant services |
| Custom Integrations | Charge €1000+ for CRM/calendar/email integrations |
Managing Client Organizations
To manage a client's organization:
- Navigate to the organization switcher in your HMS dashboard
- Select the client's organization from the dropdown
- Configure assistants, webhooks, and integrations as needed
- Switch back to your parent organization when done
Note: Child organizations inherit your minute balance. All usage is billed to your parent account, and you handle billing to your clients through your whitelabel portal.
Quick Start
Step 1: Access Whitelabel Settings
Navigate to Whitelabel in your HMS Sovereign dashboard sidebar.
Note: Only parent organizations can access whitelabel. If you signed up through another agency's portal, you won't see this option.
Step 2: Configure Branding
Set up your portal's appearance:
| Field | Description |
|---|---|
| Company Name | Your brand name displayed throughout the portal |
| Logo URL | URL to your company logo |
| Primary Color | Main brand color (hex, e.g., #3B82F6) |
| Accent Color | Secondary color for highlights |
Step 3: Set Your Portal URL
Choose how clients access your portal:
Option A: Subdomain (Automatic)
{your-slug}.portal.hmsovereign.comOption B: Custom Domain (Optional)
portal.yourdomain.comTip: Slugs must be 3-50 characters, lowercase letters, numbers, and hyphens only.
Step 4: Connect Stripe
Set up payment processing — see the detailed Stripe setup section below.
Step 5: Activate Portal
Toggle "Portal Active" to make your portal live. All required fields must be complete.
Stripe Configuration
Connect your own Stripe account to accept payments from your clients.
Define Your Credits Package
Decide your pricing strategy:
| Field | Description | Example |
|---|---|---|
| Credits in Package | Number of credits (1 credit = 1 minute) | 100 |
| Package Price | Price in cents | 4000 (= €40.00) |
| Currency | EUR, USD, or GBP | EUR |
Create Product in Stripe
- Go to Stripe Dashboard → Products → Add Product
- Name it (e.g., "100 AI Calling Credits")
- Set as one-time payment
- Set price to match your configured amount
- Copy the Product ID (
prod_...) and Price ID (price_...)
Enter Stripe Credentials
| Field | Description |
|---|---|
| Publishable Key | Your Stripe publishable key (pk_live_... or pk_test_...) |
| Secret Key | Your Stripe secret key (stored securely) |
| Product ID | From previous step (prod_...) |
| Price ID | From previous step (price_...) |
Configure Webhook
Your webhook URL will be displayed in the settings:
https://portal.hmsovereign.com/api/webhooks/stripe/{your-slug}- Go to Stripe Dashboard → Webhooks → Add endpoint
- Enter the webhook URL shown in HMS settings
- Select the
checkout.session.completedevent - Copy the webhook signing secret and paste it in HMS settings
Important: Keep your Stripe secret key and webhook secret secure. They are stored encrypted and never exposed in API responses.
Margin Calculator
The dashboard includes a built-in margin calculator:
| Metric | Example |
|---|---|
| Package Price | €40.00 (100 credits) |
| Your Cost | €7.00 (100 × €0.07) |
| Your Profit | €33.00 |
| Margin | 82.5% |
Tip: Price your credits to balance competitiveness with profitability. Most agencies charge €0.20-0.50 per credit.
Custom Domain Setup
Use your own domain for a fully branded experience.
- In Portal URL settings, enter your custom domain (e.g.,
portal.yourdomain.com) - Click "Add Domain" — the system will register your domain and display DNS records
- Add the CNAME record at your DNS provider:
| Type | Name | Value |
|---|---|---|
| CNAME | portal | cname.vercel-dns.com |
- Click "Refresh Status" to check verification. DNS changes can take up to 48 hours.
User Management
View and manage your portal users from the HMS dashboard.
User Table
| Column | Description |
|---|---|
| Client's email address | |
| Credits Balance | Available credits |
| Actions | Allocate credits |
Allocating Credits Manually
You can add credits to users without a purchase (e.g., promotional credits, refunds):
- Locate the user in the Users table
- Click the "Allocate" button
- Enter the Credits Amount and a Description (e.g., "Invoice #INV-2024-001")
- Click "Allocate" to add credits immediately
Note: Users appear in the table after they sign up on your portal. They're automatically linked to your agency.
Billing Details
Credit Flow
- You maintain a minutes balance in HMS Sovereign
- Your clients have virtual credits in your portal
- When a client makes a call:
- Their credits are deducted in real-time
- Your HMS minutes are deducted equally
- Monitor your balance to ensure uninterrupted service
Purchase Flow
When your client buys credits:
- Client clicks "Buy Credits" on your portal
- Portal creates a Stripe Checkout session
- Client completes payment on Stripe
- Stripe sends webhook (
checkout.session.completed) to your portal - Portal adds credits to the user's account
- Client sees confirmation
Usage Flow
When your client makes a call:
- Client initiates AI call via HMS API
- HMS logs the call duration
- Minutes are deducted from your (parent) HMS account
- Portal syncs the credit deduction
- Client's balance is updated
Portal Requirements
Your portal activates when all required fields are complete:
| Requirement | Status |
|---|---|
| Company Name | Required |
| Portal Slug | Required |
| Stripe Publishable Key | Required |
| Stripe Secret Key | Required |
| Stripe Product ID | Required |
| Stripe Price ID | Required |
| Logo URL | Optional |
| Custom Domain | Optional |
Tip: Test your Stripe integration in test mode before going live. Use
pk_test_...andsk_test_...keys.
Troubleshooting
Portal won't activate
Ensure all required fields are filled:
- Company name
- Portal slug
- All four Stripe fields (publishable key, secret key, product ID, price ID)
Check for validation errors highlighted in red.
Custom domain not verifying
- Verify DNS records are correctly configured
- Wait for DNS propagation (up to 48 hours)
- Click "Refresh Status" to recheck
- Ensure no conflicting A or AAAA records exist
Payments not crediting users
- Verify webhook URL is correctly configured in Stripe
- Check webhook signing secret matches
- Ensure
checkout.session.completedevent is selected - Check Stripe webhook logs for delivery errors
Client credits not deducting
- Ensure your HMS account has sufficient minutes
- Check that the client's organization is linked to your parent org
- Contact support if the issue persists
Users not appearing in table
Users only appear after signing up on your portal. They must complete registration to be linked to your agency.
Best Practices
Pricing Strategy
- Research competitor pricing
- Consider volume discounts
- Factor in support costs
- Leave room for promotions
- Don't price below your cost
- Don't change prices too frequently
Branding
- Use a high-quality logo (PNG or SVG)
- Choose accessible color contrast
- Keep branding consistent across all materials
- Use a custom domain for increased trust
User Management
- Respond to support requests quickly
- Document all manual credit allocations
- Monitor user activity regularly
- Set up alerts for low balances
Payments
- Test in Stripe test mode before going live
- Monitor webhook deliveries in Stripe dashboard
- Keep Stripe keys secure — never share them
- Enable Stripe email receipts for your customers
Related
- Billing & Credits - How HMS billing works
- Account API - Check your balance
- Usage API - Track usage details