This demo uses Attendee's meeting bot API and Deepgram's Voice Agent API to launch a voice agent that joins meetings (Google Meet, Microsoft Teams, Zoom) and participates in conversations in real-time.
See a quick video of how to install and use the app here.
- 🤖 Launch AI voice agents with a single click
- 📹 Support for Google Meet, Microsoft Teams, and Zoom meetings
- ⚙️ Customizable agent personality and behavior
-
Attendee Instance: You need a running instance of Attendee. This can be the hosted instance at https://app.attendee.dev or an instance hosted on your local machine.
-
Ngrok: Since the voice agent needs bidirectional audio streaming, you'll need ngrok to create a secure WebSocket tunnel to your localhost. Ngrok is free for basic usage.
-
Node.js 22.15+: This demo uses Node.js and requires version 22.15 or higher.
-
API Keys: You'll need:
- An Attendee API key from your Attendee dashboard
- A Deepgram API key from Deepgram Console. Deepgram gives $200 in free credits to get started after you sign up.
git clone https://github.com/attendee-labs/voice-agent-example
cd voice-agent-example
npm install
-
Install ngrok: Download from ngrok.com or install via package manager:
# On macOS with Homebrew brew install ngrok # On Ubuntu/Debian snap install ngrok
-
Start ngrok tunnel: In a separate terminal, run:
ngrok http 5005
-
Copy the WebSocket URL: Ngrok will display something like:
Forwarding https://123abcd.ngrok-free.app -> http://localhost:5005
Copy the HTTPS URL and replace
https://
withwss://
to get your WebSocket URL (e.g.,wss://123abcd.ngrok-free.app
). You'll need this WebSocket URL to launch the voice agent.
Create a .env
file in the root directory:
ATTENDEE_API_KEY="your-attendee-api-key"
DEEPGRAM_API_KEY="your-deepgram-api-key"
node index.js
The server will start on http://localhost:5005
.
-
Open the Web Interface: Navigate to
http://localhost:5005
in your browser -
Configure Your Voice Agent:
- Meeting URL: Paste a meeting URL from Google Meet, Microsoft Teams, or Zoom
- WebSocket Tunnel URL: Enter your ngrok WebSocket URL (e.g.,
wss://123abcd.ngrok-free.app
) - Agent Prompt: Customize the AI assistant's personality and instructions
- Greeting Message: Set what the agent says when it first joins
- Voice Model: Choose from 50+ Deepgram Aura voice options
-
Launch Agent: Click "Join Meeting"
- The bot will join the meeting (may take up to 30 seconds)
- The agent will start speaking after another 30 seconds
- The agent will listen and respond to conversation in real-time
-
Monitor Activity: Check the console logs to see:
- Agent connection status
- Real-time conversation transcripts
- Audio processing events