OmniDesk
CapabilitiesArchitectureDocs
Try Demos
Want to create an AI voice agent that works 24/7 for your business?

Speaks naturally with callers, checks live practice calendars, and books confirmed slots directly into your database.

Explore Demo Dashboard →
Live Client Website Showcase (Real-World Embedded Widget)
UNIVERSAL <SCRIPT> EMBED● Live on Vercel

AURA Hair & Beauty Studio

Vanilla HTML/JS luxury salon site. Embeds the voice receptionist using a single published CDN script tag without any framework build tools.

Visit Script Demo (AURA)↗
REACT • NPM COMPONENT● Live on Vercel

Lumière Studio

Modern React 19 + Vite + TypeScript application installing omnidesk-voice@0.1.17 from npm with typed props and direct AssemblyAI streaming.

Visit React Demo (Lumière)↗
OmniDesk Hair Salon & Studio
Idle · Ready
Start a call to talk to our receptionist
0:00
NPM PACKAGE ARCHITECTURE & DEEP DIVE

How Each Step Works Under the Hood

The omnidesk-voice package is built for modular adoption. Click through each step below to inspect its execution pipeline, code location, and an interactive live sandbox.

$npm i omnidesk-voice COPY

Step 1: React / Next.js (<OmniDeskWidget />)

Code location:packages/widget/src/widget.tsx
Script Demo (AURA)React Demo (Lumière)

How It Works Under the Hood:

  • Floating Pill Button: Renders a floating pill button in the screen corner with custom inline styles (no Tailwind or external CSS needed).
  • Session Token Handshake: When clicked, it fetches a real session token from https://your-domain.com/api/token?businessId=....
  • Direct 24kHz Web Audio Stream: Opens a Web Audio API 24kHz mic stream directly to AssemblyAI's voice agent WebSocket (wss://agents.assemblyai.com/v1/ws).
  • Live Visualizer & Speech Bubbles: Renders the animated frequency waveform visualizer and live transcript speech bubbles in real time.
Interactive React Widget Sandbox (Test Inline Customization)
Click the floating button in the simulated preview frame to test!
Theme:
Position:
Accent:
Label:
https://your-business-website.com
Simulated Next.js Page View
PREVIEW CLIENT SITE

Autonomous 24/7 Scheduling for Growing Practices

The OmniDesk widget floats unobtrusively in the screen corner. Visitors click to talk with the AI voice receptionist immediately.

Step 1 React / Next.js Embed Snippet:Works with Next.js App Router, Vite, & CRA
import { OmniDeskWidget } from "omnidesk-voice";

export default function Layout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        {children}

        {/* Floating AI Voice Receptionist Widget */}
        <OmniDeskWidget
          host="https://omni-desk-rho.vercel.app"
          businessId="biz_demo_dental"
          agentId="copy-from-the-dashboard"
          theme="dark"
          position="bottom-right"
          accentColor="#10b981"
          label="Talk to Receptionist"
          onCallStart={() => console.log("Call started")}
          onCallEnd={(seconds) => console.log("Call duration:", seconds)}
        />
      </body>
    </html>
  );
}