Skip to content
Comparisons
Comparisons11 min read0 views

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:

  1. Add chat from a single platform — same prompts, same tools, same database.
  2. 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_appointment tool 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.

Explore features or book a demo.

Share

Try CallSphere AI Voice Agents

See how AI voice agents work for your industry. Live demo available -- no signup required.