On this page 7 sections
If customers wait on hold, leave your site, or keep asking the same questions, an AI voice agent can help. It answers in real time, books appointments, checks orders and hands tricky cases to a person.
Here's why it's worth it, how to set one up with ElevenLabs, and how to make it match your site's theme.
Why it helps
- Instant answers. Seconds instead of minutes, which means fewer drop-offs and fewer tickets.
- Always on. Nights, weekends and holidays are covered.
- Less repetition for your team. FAQs, order checks and bookings are handled automatically.
- Consistent answers, based on your own approved content.
- Many languages, with natural-sounding voices.
Where it fits
- Customer support: order status, returns, basic troubleshooting
- Bookings for clinics, salons, demos and deliveries
- Sales: collecting details and booking calls
- Staff training through role-play
- Shops: product questions and checkout help
Why ElevenLabs
Natural, low-delay voices in many languages; your own AI model or theirs; answers grounded in your documents and pages; easy embeds for websites, apps and phone lines; and analytics that scale.
Setup, step by step
Before you start: create an ElevenLabs account and add your knowledge base (FAQs, policies, key pages).
1. Create the agent
Pick a voice and language, set the personality and tone, add your knowledge base, and decide what actions it can take, such as booking or sending emails.
2. Test it
Ask real questions. Check the accuracy and tone, and remove any sources that confuse it.
3. Add it to your site
Copy the embed snippet from the ElevenLabs dashboard. It's a script plus an <elevenlabs-convai> element. Paste it near the end of <body>. On WordPress, use a Custom HTML block or your theme's footer area.
4. Connect your tools
Link your calendar, help desk, CRM or payments, and set clear rules for when to hand over to a human.
5. Launch and measure
Track resolution rate, handoffs and satisfaction. Improve the knowledge base based on what people actually ask.
Bonus: match the widget to dark and light mode
If your site has a theme toggle, this script waits for the widget to load, checks your site's data-scheme attribute and recolours the widget to match:
<script>
document.addEventListener("DOMContentLoaded", function () {
const THEME_ROOT = document.querySelector(".cs-offcanvas");
function getIsDark() {
const scheme = THEME_ROOT?.getAttribute("data-scheme");
return scheme === "dark";
}
function paintElevenLabsColors(isDark) {
const convai = document.querySelector("elevenlabs-convai");
const sr = convai?.shadowRoot;
if (!sr) return;
const bgElements = sr.querySelectorAll(".bg-base, .bg-base-border");
bgElements.forEach((el) => {
if (!el.dataset.bgTransition) {
el.style.transition =
(el.style.transition ? el.style.transition + ", " : "") +
"background-color 0.3s ease";
el.dataset.bgTransition = "1";
}
el.style.setProperty(
"background-color",
isDark ? "#262626" : "#ffffff",
"important"
);
});
}
function syncNow() {
paintElevenLabsColors(getIsDark());
}
setTimeout(syncNow, 300);
let tries = 0;
const retry = setInterval(() => {
syncNow();
if (++tries >= 30) clearInterval(retry);
}, 200);
if (THEME_ROOT) {
const obs = new MutationObserver((muts) => {
if (muts.some(m => m.attributeName === "data-scheme")) syncNow();
});
obs.observe(THEME_ROOT, { attributes: true });
}
});
</script>A note on plans
The free plan has limited credits and shows ElevenLabs branding. It's fine for trying things out, but for a business site a paid plan gives you full features and long-term reliability.
Launch tips
- Be upfront that people are talking to an AI, and say when a human will step in
- Respect privacy: don't collect sensitive data without consent and a secure flow
- Plan handoffs clearly
- Keep content fresh whenever policies change
- Review analytics weekly
Want a voice agent designed around your brand, with a theme-matched interface and your tools wired in? I can set it up for you.

Need something like this built?
I build custom WordPress plugins, websites and web apps. Tell me what you need.

