> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pipecat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Recipes

> Code snippets and techniques to enhance your Pipecat applications

<Update label={<><Icon icon="code" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Function Calling</span></>} tags={["LLM"]}>
  Add function calling to your Pipecat bot. Examples exist for each LLM provider supported in Pipecat.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/getting-started/07-function-calling.py)
</Update>

<Update label={<><Icon icon="microphone" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Record Audio</span></>} tags={["Recording & Logging"]}>
  Collect audio frames from the user and bot for later processing or storage.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/audio/audio-recording.py)
</Update>

<Update label={<><Icon icon="file-lines" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Capture Transcripts</span></>} tags={["Recording & Logging"]}>
  Capture user and bot transcripts for later processing or storage.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/turn-management/turn-management-user-assistant-turns.py)
</Update>

<Update label={<><Icon icon="volume-high" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Play Background Sound</span></>} tags={["Audio"]}>
  Play a background sound in your Pipecat bot. The audio is mixed with the transport audio to create a single integrated audio stream.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/audio/audio-bot-background-sound.py)
</Update>

<Update label={<><Icon icon="microphone-slash" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Mute User Input</span></>} tags={["User Interaction"]}>
  Specify a strategy for mute to mute user input, allowing the bot to continue without interruption.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/turn-management/turn-management-user-mute-strategy.py)
</Update>

<Update label={<><Icon icon="bell" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Wake Phrase</span></>} tags={["User Interaction"]}>
  Use a wake phrase to wake up your Pipecat bot.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/features/features-wake-phrase.py)
</Update>

<Update label={<><Icon icon="music" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Play Sound Effects</span></>} tags={["Audio"]}>
  Play sound effects in your Pipecat bot.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/audio/audio-sound-effects.py)
</Update>

<Update label={<><Icon icon="language" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Switch Languages</span></>} tags={["Multilingual"]}>
  A ParallelPipeline example showing how to dynamically switch languages.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/features/features-switch-languages.py)
</Update>

<Update label={<><Icon icon="hourglass" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Detect an Idle User</span></>} tags={["User Interaction"]}>
  Detect when a user is idle and automatically respond.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/turn-management/turn-management-detect-user-idle.py)
</Update>

<Update label={<><Icon icon="bug" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Debug with an Observer</span></>} tags={["Debugging"]}>
  Learn how to debug your Pipecat bot with an Observer by observing frames flowing through the pipeline.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/observability/observability-observer.py)
</Update>

<Update label={<><Icon icon="monitor-waveform" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Live Debugger (Whisker)</span></>} tags={["Debugging"]}>
  A live graphical debugger for the Pipecat voice and multimodal conversational AI framework. It lets you visualize pipelines and debug frames in real time — so you can see exactly what your bot is thinking and doing.

  [View Recipe →](https://github.com/pipecat-ai/whisker)
</Update>

<Update label={<><Icon icon="envelope" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Collect Emails</span></>} tags={["Recording & Logging"]}>
  Parse user email from the LLM response.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/features/features-user-email-gathering.py)
</Update>

<Update label={<><Icon icon="brain" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Smart Turn Detection</span></>} tags={["User Interaction"]}>
  Detect when a user has finished speaking and automatically respond. Learn more about [smart-turn model](https://github.com/pipecat-ai/smart-turn).

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/turn-management/turn-management-smart-turn-local.py)
</Update>

<Update label={<><Icon icon="screwdriver-wrench" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>MCP Tools</span></>} tags={["Integration"]}>
  Use MCP tools to interact with external services.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/mcp/mcp-stdio.py)
</Update>

<Update label={<><Icon icon="screwdriver-wrench" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>MCP Tools (Streamable HTTP)</span></>} tags={["Integration"]}>
  Use MCP tools over Streamable HTTP transport for remote MCP servers.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/mcp/mcp-streamable-http.py)
</Update>

<Update label={<><Icon icon="screwdriver-wrench" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Multiple MCP Servers</span></>} tags={["Integration"]}>
  Combine tools from multiple MCP servers (stdio and HTTP) in a single bot.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/mcp/mcp-multiple-mcp.py)
</Update>

<Update label={<><Icon icon="hand" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Interruption Strategies</span></>} tags={["User Interaction"]}>
  Learn how to configure interruption strategies for your Pipecat bot.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/turn-management/turn-management-interruption-config.py)
</Update>

<Update label={<><Icon icon="video" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>Describe Video</span></>} tags={["Vision"]}>
  Pass a video frame from a live video stream to a model and get a description.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/vision/vision-openai.py)
</Update>

<Update label={<><Icon icon="users" size={16} color="currentColor" /><span style={{marginLeft: '8px'}}>User and Bot Turn Events</span></>} tags={["Events"]}>
  Handle user and bot end of turn events to add custom logic after a turn.

  [View Recipe →](https://github.com/pipecat-ai/pipecat/blob/main/examples/turn-management/turn-management-turn-tracking-observer.py)
</Update>

***

## 💡 Need Help Getting Started?

<CardGroup cols={3}>
  <Card title="More Recipes" icon="github" href="https://github.com/pipecat-ai/pipecat/tree/main/examples">
    Browse all recipes on GitHub
  </Card>

  <Card title="Examples" icon="folder" href="/pipecat/examples/overview">
    Browse complete applications
  </Card>

  <Card title="Discord Community" icon="discord" href="https://discord.gg/pipecat">
    Get help from the community
  </Card>
</CardGroup>
