Skip to main content

Single-agent examples

Getting Started
Get started with a basic voice bot using pipecat init quickstart.View Quickstart Guide →
Web & Mobile
A full client-server example, showing how to connect different clients with a Pipecat bot. Client SDK examples include JavaScript, React, React Native, iOS, and Android.View Example →
Telephony
Twilio websocket + Media streams. Inbound and outbound calling.View Example →
Telephony
Telnyx websocket + Media streams. Inbound and outbound calling.View Example →
Telephony
Plivo websocket + Media streams. Inbound and outbound calling.View Example →
Telephony
Exotel websocket + Media streams. Inbound and outbound calling.View Example →
Telephony
Add PSTN & SIP calling to your Pipecat bot. Examples include Daily PSTN and Daily + Twilio SIP. Learn how to place inbound and outbound calls, as well as how to cold transfer a call.View Example →
Telephony
Warm transfer a PSTN call to a human agent using Daily PSTN.View Example →
Telephony
Add WhatsApp WebRTC calling to your Pipecat bot.View Example →
Logging & Analytics
Add OpenTelemetry to your Pipecat bot. Examples include Langfuse and Jaeger.View Example →
Telephony
Automatically navigate an IVR call tree by providing Pipecat with a goal.View Example →
Telephony
Detect voicemail in a phone call and leave a message.View Example →
Video Avatar
Use Tavus to create a video avatar for your Pipecat bot.View Example →
Video Avatar
Use HeyGen to create a video avatar for your Pipecat bot.View Example →
Video Avatar
Use Simli to create a video avatar for your Pipecat bot.View Example →
Web & Mobile
A push-to-talk client interface, allowing users to press a button to start talking to the bot.View Example →
Web & Mobile
Learn how to deploy the SmallWebRTCTransport in a Docker container.View Example →
Flows
Learn how to use Pipecat Flows to create a structured navigation flow. This example shows a simple restaurant reservation flow.View Example →
Logging & Analytics
Learn how to use Sentry to track metrics and errors in your Pipecat bot.View Example →
WebSocket Audio
Stream real-time audio from an active Vonage Video API session into a Pipecat pipeline using the Vonage Audio Connector.View Example →
Web & Mobile
Have the bot talking the moment the user presses connect, using a warm pool of rooms on the server and client-side connection optimizations.View Example →
Web & Mobile
A SpeculativeUserAggregator that starts the LLM response before the user’s turn is confirmed complete, cutting roughly half a second of latency.View Example →
Telephony
Send a 6-digit code by SMS and confirm it back, spoken or entered on the keypad as DTMF.View Example →
Telephony
Run Pipecat PhoneLLM, an open-weights 30B model fine-tuned for phone agents, on Modal with Deepgram Flux for STT and TTS.View Example →
Agents
Delegate multi-step, tool-using tasks to an AWS Strands agent from inside a voice pipeline.View Example →
Agents
Put an AgentCore-hosted agent in the LLM’s place in the pipeline, streaming its responses back as speech.View Example →
Multilingual
Translate one incoming English stream into Spanish, French, and German simultaneously, each on its own Daily custom track.View Example →
Logging & Analytics
Upload recordings to S3 with AudioBufferProcessor and multipart uploads, so long calls don’t grow the buffer until the process runs out of memory.View Example →

Multi-agent examples

These build coordinated multi-agent systems. All of them live in the pipecat repository.
Local
A greeter and a support agent that transfer control between each other. Demonstrates agent handoff with activate_worker() and the @tool decorator.View Example →
Local
Same as above, but each agent has its own TTS with a distinct voice. The main agent has no TTS — audio comes from the active LLM agent through the bus.View Example →
Local
A moderator dispatches a topic to three agents in parallel using job_group(). Each one argues from a different perspective. Demonstrates job coordination.View Example →
Local
A voice agent backed by a code agent that uses Claude Agent SDK with tools (Read, Bash, Glob, Grep) to answer coding questions. Demonstrates job-based agent integration.View Example →
Local
A voice agent forwards questions to a sidecar PipelineWorker that owns a simulated sensor, keeping hardware state out of the conversation.View Example →
Local
The voice loop stays responsive while an OpenClaw agent works in the background, so the user can steer or stop it mid-task.View Example →
Distributed
The two-agent handoff split across separate processes using RedisBus. The main transport agent runs independently from the LLM agents.View Example →
Distributed
The same distributed handoff on a PgmqBus (Postgres / Supabase), for ops-friendly infrastructure.View Example →
Distributed
A main agent connects to a remote LLM server over WebSocket using proxy agents. Demonstrates point-to-point distributed deployment.View Example →

UI workers

A UIWorker bridges the bus to a web client: page snapshots, state updates, job progress, and user actions all flow through it.
UI
The smallest UIWorker example: a voice agent grounded in whatever is currently on the page.View Example →
UI
Every voice turn drives the UI. Speech is the input modality and the screen is the source of truth.View Example →
UI
An accessibility-first, voice-guided walkthrough of a web form.View Example →
UI
The worker reads the user’s current selection out of the snapshot, so “explain this” resolves to what they have highlighted.View Example →
UI
A BaseUIWorker dispatcher fans out long-running work and streams progress and cancellation to the UI — no second LLM involved.View Example →
UI
A synthesis demo: snapshots, deixis, form-fill actions, and async job groups in one application.View Example →

💡 Need Help Getting Started?

More Examples

Browse all examples on GitHub

Recipes

Browse code snippets & techniques

Discord Community

Get help from the community