VoiceDock Docs
Platform

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

FeatureDescription
Custom BrandingYour logo, colors, and company name
Your PricingSet your own credit packages and margins
Your PaymentsConnect your Stripe account
Custom DomainUse your own portal URL
User ManagementManage clients and allocate credits
Full ControlEnable/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:

  1. You purchase minutes from HMS Sovereign (€0.07/minute)
  2. Your clients purchase credits from your portal (your price)
  3. When clients make calls, minutes are deducted from your HMS account
  4. 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

ConfigurationDescription
Custom AssistantsCreate unique AI assistants tailored to each client's business
WebhooksConfigure separate endpoints for each client
IntegrationsConnect client-specific CRMs, calendars, and tools
Knowledge BasesUpload client-specific documents and data
Voice SettingsCustomize voice, language, and personality per client

Webhook Configuration

Set up dedicated webhooks for each client organization to receive real-time events:

EventDescription
assistant-requestTriggered when the assistant needs external data or actions
status-updatesCall status changes (ringing, answered, ended, etc.)
tool-callsWhen the AI assistant invokes a configured tool
end-of-call-reportDetailed 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 StreamExample
Credit MarginSell credits at €0.40, cost €0.07 = €0.33 profit per minute
Setup FeeCharge €500-2000 for initial assistant configuration
Monthly ServiceCharge €200-500/month for managed assistant services
Custom IntegrationsCharge €1000+ for CRM/calendar/email integrations

Managing Client Organizations

To manage a client's organization:

  1. Navigate to the organization switcher in your HMS dashboard
  2. Select the client's organization from the dropdown
  3. Configure assistants, webhooks, and integrations as needed
  4. 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:

FieldDescription
Company NameYour brand name displayed throughout the portal
Logo URLURL to your company logo
Primary ColorMain brand color (hex, e.g., #3B82F6)
Accent ColorSecondary color for highlights

Step 3: Set Your Portal URL

Choose how clients access your portal:

Option A: Subdomain (Automatic)

{your-slug}.portal.hmsovereign.com

Option B: Custom Domain (Optional)

portal.yourdomain.com

Tip: 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:

FieldDescriptionExample
Credits in PackageNumber of credits (1 credit = 1 minute)100
Package PricePrice in cents4000 (= €40.00)
CurrencyEUR, USD, or GBPEUR

Create Product in Stripe

  1. Go to Stripe Dashboard → Products → Add Product
  2. Name it (e.g., "100 AI Calling Credits")
  3. Set as one-time payment
  4. Set price to match your configured amount
  5. Copy the Product ID (prod_...) and Price ID (price_...)

Enter Stripe Credentials

FieldDescription
Publishable KeyYour Stripe publishable key (pk_live_... or pk_test_...)
Secret KeyYour Stripe secret key (stored securely)
Product IDFrom previous step (prod_...)
Price IDFrom previous step (price_...)

Configure Webhook

Your webhook URL will be displayed in the settings:

https://portal.hmsovereign.com/api/webhooks/stripe/{your-slug}
  1. Go to Stripe Dashboard → Webhooks → Add endpoint
  2. Enter the webhook URL shown in HMS settings
  3. Select the checkout.session.completed event
  4. 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:

MetricExample
Package Price€40.00 (100 credits)
Your Cost€7.00 (100 × €0.07)
Your Profit€33.00
Margin82.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.

  1. In Portal URL settings, enter your custom domain (e.g., portal.yourdomain.com)
  2. Click "Add Domain" — the system will register your domain and display DNS records
  3. Add the CNAME record at your DNS provider:
TypeNameValue
CNAMEportalcname.vercel-dns.com
  1. 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

ColumnDescription
EmailClient's email address
Credits BalanceAvailable credits
ActionsAllocate credits

Allocating Credits Manually

You can add credits to users without a purchase (e.g., promotional credits, refunds):

  1. Locate the user in the Users table
  2. Click the "Allocate" button
  3. Enter the Credits Amount and a Description (e.g., "Invoice #INV-2024-001")
  4. 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

  1. You maintain a minutes balance in HMS Sovereign
  2. Your clients have virtual credits in your portal
  3. When a client makes a call:
    • Their credits are deducted in real-time
    • Your HMS minutes are deducted equally
  4. Monitor your balance to ensure uninterrupted service

Purchase Flow

When your client buys credits:

  1. Client clicks "Buy Credits" on your portal
  2. Portal creates a Stripe Checkout session
  3. Client completes payment on Stripe
  4. Stripe sends webhook (checkout.session.completed) to your portal
  5. Portal adds credits to the user's account
  6. Client sees confirmation

Usage Flow

When your client makes a call:

  1. Client initiates AI call via HMS API
  2. HMS logs the call duration
  3. Minutes are deducted from your (parent) HMS account
  4. Portal syncs the credit deduction
  5. Client's balance is updated

Portal Requirements

Your portal activates when all required fields are complete:

RequirementStatus
Company NameRequired
Portal SlugRequired
Stripe Publishable KeyRequired
Stripe Secret KeyRequired
Stripe Product IDRequired
Stripe Price IDRequired
Logo URLOptional
Custom DomainOptional

Tip: Test your Stripe integration in test mode before going live. Use pk_test_... and sk_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

  1. Verify DNS records are correctly configured
  2. Wait for DNS propagation (up to 48 hours)
  3. Click "Refresh Status" to recheck
  4. Ensure no conflicting A or AAAA records exist

Payments not crediting users

  1. Verify webhook URL is correctly configured in Stripe
  2. Check webhook signing secret matches
  3. Ensure checkout.session.completed event is selected
  4. Check Stripe webhook logs for delivery errors

Client credits not deducting

  1. Ensure your HMS account has sufficient minutes
  2. Check that the client's organization is linked to your parent org
  3. 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

On this page