Web Chat Widget Shipped: CallSphere vs Vapi Voice-Only Limitation
CallSphere ships an embeddable web chat widget that shares tools and data with the voice agent. Vapi customers buy a separate chatbot and stitch it together.
TL;DR
CallSphere ships an embeddable web chat widget out of the box. Drop two lines of script tags into your site, and the chat agent is live with the same tools, knowledge base, and database as your voice agent. Vapi is voice-only — every CallSphere customer who wants a chat surface on their website on Vapi must license, integrate, and maintain a separate chatbot platform (Intercom Fin, Drift, Ada, or a custom build). This post walks through the widget architecture, integration steps, and total cost of ownership over a year.
The Web Chat Reality
Visit any modern healthcare practice, salon, SaaS landing page, or e-commerce site and the bottom-right corner has a chat bubble. Web chat is now table stakes. Customers expect to be able to type a question and get an immediate, intelligent answer.
For a voice-first business deploying AI, the choice is binary:
- Add chat from a single platform — same prompts, same tools, same database.
- Bolt on a second product — different prompts, different tools, different database.
Option 2 is what Vapi customers face by default. Option 1 is what CallSphere ships.
The Widget in Practice
CallSphere's chat widget is a pair of script tags:
<script src="https://chat.callsphere.ai/widget.js" defer></script>
<script>
window.CallSphereChat = {
tenant: 'your-tenant-id',
theme: 'light',
position: 'bottom-right',
};
</script>
That's it. The widget loads asynchronously, uses the same tenant configuration as your voice agent, and the chat agent is immediately available with full tool access. No separate dashboard, no separate billing, no separate prompts to maintain.
Vapi's Chat Gap
Vapi's product surface is voice. The official integrations are with Twilio and Telnyx phone numbers, plus call automation features (transfer, recording, real-time function calling). There is no embeddable chat SDK and no chat agent runtime.
A Vapi customer who wants chat must:
- Choose a chat platform (Intercom Fin, Ada, Drift, Tidio, custom build)
- Set up an account, billing, and admin dashboard
- Re-author prompts in the new platform's syntax
- Re-implement tool calls (because tool definitions are not portable)
- Configure a separate analytics pipeline
- Maintain two prompt libraries forever
The cheapest credible path is Intercom Fin at $0.99 per resolution plus seat fees. The more flexible path is a custom Next.js + OpenAI chat surface, which costs roughly four to six engineering weeks to ship and is on you to maintain.
Side-by-Side Comparison
| Capability | Vapi | CallSphere |
|---|---|---|
| Web chat widget | No | Yes |
| Embed time | N/A | < 5 minutes |
| Shared tools with voice agent | N/A | Yes |
| Shared knowledge base | N/A | Yes |
| Shared customer DB | N/A | Yes |
| Custom theming | N/A | Yes |
| Mobile responsive | N/A | Yes |
| Vendor count for voice + chat | 2-3 | 1 |
| Marginal cost of adding chat to voice | $$ | $0 |
Mermaid: Widget Integration
graph LR
A[Customer Browser] -->|loads page| B[Your Website]
B -->|widget.js| C[CallSphere Chat Runtime]
C -->|websocket| D[Chat Agent]
D --> E[Shared Tool Registry]
E --> F[book_appointment]
E --> G[lookup_customer]
E --> H[escalate_to_human]
F --> I[(Postgres)]
G --> I
H --> J[Twilio SMS]
D --> K[(call_logs unified)]
L[Voice Agent] --> E
L --> K
style C fill:#dbeafe
style L fill:#dbeafe
style E fill:#fef3c7
The diagram shows the chat runtime and voice agent both pulling from the same tool registry and writing to the same log store. Adding chat is a configuration change, not a new system.
See AI Voice Agents Handle Real Calls
Book a free demo or calculate how much you can save with AI voice automation.
Real Example: A Salon's First Week with Chat
A salon that has been running CallSphere voice for six months enables the chat widget. In week one:
- 312 chat sessions opened.
- 198 of those were availability questions answered without escalation.
- 67 became bookings (same
book_appointmenttool the voice agent uses). - 12 escalated to a human stylist via the same handoff path the voice agent uses.
- 35 came in after hours and were answered by the chat agent before the salon opened.
Every booking, every escalation, every transcript landed in the same database the salon already used for voice. There was no new BI dashboard to set up, no new identity system, no new prompt versioning. The marketing manager added chat to the website on Tuesday morning. By Friday, chat was driving bookings on its own.
What Vapi Customers Build Instead
A typical Vapi-plus-chatbot stack looks like:
- Vapi for voice (one bill, one prompt library, one dashboard)
- Intercom Fin for chat at $0.99 per resolution (separate bill, separate prompt library, separate dashboard)
- A glue service to copy resolved chat conversations into the CRM
- Manual reconciliation in BI to compare voice vs chat conversion rates
The first month, that stack works. The third month, the prompts have drifted and the analytics no longer compare apples to apples. The sixth month, an engineer is asked to reconcile, and a new project gets scoped. None of this work creates customer value — it is pure integration tax.
When the Vapi-Only Approach Wins
If your business literally has no website chat motion (some pure outbound SDR shops, some call-only legacy operations), Vapi alone is fine. For everyone else, the embedded widget is a meaningful productivity multiplier.
Try the chat widget on the demo page.
FAQ
Does the widget work with my CMS?
Yes. WordPress, Webflow, Shopify, Squarespace, custom Next.js — anywhere you can paste two script tags.
Can I customize the widget theme?
Yes. Light/dark, primary color, position, greeting message, and avatar are all configurable via the embed snippet.
Does the chat agent work on mobile?
Yes. The widget is responsive and uses native mobile gestures.
How are conversations stored?
In the same call_logs table as voice. Every chat session has a session ID and a transcript with timestamps.
Can I disable chat for some pages?
Yes via the embed config. You can also limit the widget to certain hours.
Does chat handoff to voice?
Yes. The escalate tool can route to a phone callback (the voice agent will dial the customer) or to a human agent.
Try CallSphere AI Voice Agents
See how AI voice agents work for your industry. Live demo available -- no signup required.