White-Labeling a Voice AI Platform in 3 Days
You have a software product for dental practices. Your customers have been asking about AI phone answering for six months. Your options: build a voice AI platform from scratch (12–18 months, $400k+), resell an existing product (limited margin, competitor branding), or build your branded product on WFW's infrastructure.
This post covers the third option. Here's what three days of actual work looks like.
Day 1: Partner Setup and First Agent
Morning: Partner configuration.
Log in to the WFW admin portal and create a partner account under Settings → Partners. You'll configure:
partner_slug: a short identifier for your brand ("ridgeline-software")- Brand config: your product name, logo URL, support email, primary color
- Custom domain: if you want
ai.ridglinesoftware.comrather thanapp.workforcewave.com - Vertical: select
dental— your agents will be pre-loaded with dental intelligence
WFW provisions a partner-scoped service account automatically. Download the credentials.
Afternoon: Deploy your marketing site.
WFW's marketing site template is a Next.js project that accepts a PARTNER_SLUG environment variable. Fork the repo, set your slug, deploy to Vercel:
# In your forked repo
vercel env add PARTNER_SLUG production
# → ridgeline-software
vercel --prod
Your marketing site at ai.ridglinesoft.com now shows your branding, your product name, and your pricing — no WFW branding visible to your customers.
Evening: Connect your first test agent.
Using your service account credentials, provision an agent for a test practice:
curl -X POST https://api.workforcewave.com/v2/agents \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"payload": {
"name": "Test Practice AI",
"business_url": "https://your-test-practice.com",
"template_id": "dental_receptionist",
"white_label": {
"product_name": "Ridgeline AI Receptionist",
"partner_slug": "ridgeline-software"
}
}
}'
Call the provisioned phone number. You should hear your product name, not WFW's.
Day 1 complete: you have a branded marketing site and a live test agent.
Day 2: Build Your Onboarding Flow
Day 2 is software development. The integration surface is three endpoints; the UX work is yours.
Step 1: Customer signs up on your platform.
Your existing auth and billing flow. At the end of signup, trigger agent provisioning:
// Called after customer completes signup + billing
async function provisionAgentForCustomer(customer) {
const token = await getServiceAccountToken();
const { data: { operation_id } } = await fetch('https://api.workforcewave.com/v2/agents', {
method: 'POST',
headers: {
Authorization: `Bearer ${token}`,
'Content-Type': 'application/json',
'Idempotency-Key': `provision-${customer.id}-v1`
},
body: JSON.stringify({
payload: {
name: `${customer.practiceName} AI`,
business_url: customer.websiteUrl,
template_id: 'dental_receptionist',
white_label: {
product_name: 'Ridgeline AI Receptionist',
partner_slug: 'ridgeline-software'
}
}
})
}).then(r => r.json());
// Store operation_id; resolve to agent_id via webhook
await db.update(customers).set({ wfw_operation_id: operation_id }).where(eq(customers.id, customer.id));
}
Step 2: Webhook resolves provisioning to agent_id.
Subscribe your webhook endpoint to agent.activated. When it fires:
// POST /webhooks/wfw
async function handleWfwWebhook(req) {
verifySignature(req); // HMAC-SHA256 check
const { event_type, data } = req.body;
if (event_type === 'agent.activated') {
const { operation_id, agent_id, phone_number } = data;
// Find the customer who triggered this operation
const customer = await db.query.customers.findFirst({
where: eq(customers.wfw_operation_id, operation_id)
});
await db.update(customers).set({
wfw_agent_id: agent_id,
ai_phone_number: phone_number,
ai_status: 'active'
}).where(eq(customers.id, customer.id));
// Send "Your AI receptionist is live" email to customer
await sendActivationEmail(customer, phone_number);
}
}
Step 3: Customer dashboard.
Build a dashboard that shows the customer their agent status, call history, and call extractions. Use the WFW API on behalf of the customer using your service account. The customer never needs their own WFW credentials.
Subscribe to call.transcript_ready to update the dashboard in real time after each call.
Day 2 complete: customers can sign up, their agent provisions automatically, and they see a live dashboard.
Day 3: Polish and Compliance
HIPAA BAA (if healthcare vertical).
If any of your customers are healthcare providers (dental practices are), you need a Business Associate Agreement with WFW before processing PHI. Request one through the partner portal. WFW countersigns within one business day. Store it.
Your customers also need a BAA with you. If you don't have one already, this is not optional for healthcare data — get a lawyer to draft it or use a standard BAA template reviewed by healthcare counsel.
Terms of service.
Your customers are entering a contract with you, not WFW. Your ToS should cover:
- What data you store and for how long
- How call transcripts are used and who can access them
- The AI nature of the service (disclosure requirements vary by state)
- Your SLA for agent availability
Review queue setup.
WFW's human oversight queue lets you (or your customers) flag calls for review. Configure it to auto-flag:
- Calls where the agent triggered an escalation
- Calls longer than 8 minutes (often indicates the agent struggled)
- Calls with confidence scores below 0.7 in more than 3 turns
The review queue isn't just a quality control mechanism — it's a compliance tool. For healthcare operators, having documented evidence that AI-handled calls are reviewed creates an audit trail that's useful if questions arise.
Day 3 complete: you have a HIPAA BAA in place, your customers have appropriate terms, and high-risk calls are flagged for human review.
What WFW Handles
Voice infrastructure (ElevenLabs, Twilio), automatic provisioning, knowledge base building and sync, dental VIL (vertical intelligence layer), PHI redaction in transcripts, compliance rule enforcement, call analytics and extraction, billing metering by call minute.
What You Build
Your marketing site, your signup/billing flow, your customer dashboard, your pricing, your customer relationships. The product is yours. WFW is the infrastructure underneath it.
Next in this series: HIPAA Compliance for Voice AI: What WFW Handles, What You Handle — practical compliance guidance for healthcare operators.
Ready to put AI voice agents to work in your business?
Get a Live Demo — It's FreeContinue Reading
Related Articles
What Artera Got Right (And What's Still Missing)
An honest look at the existing patient communications market and what it tells us about where voice AI is going.
Workforce Wave AI: The Engine Behind Auto-Provisioning
What happens inside the 5-step Workforce Wave pipeline when a partner enters a business URL, why partners get an operationId instead of a 30-second wait, and how ww_operations powers the fleet dashboard progress bar.
The Bot Creation Matrix: Four Ways to Deploy AI, Now All Live on WFW
Dual-mode agent support just shipped, completing the Bot Creation Matrix. WFW is now the only platform where a bot can be the creator and the consumer — entirely human-free.