# Recipes (/en/api-reference/recipes)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<RecipesGallery
  allCategoriesLabel="All recipe types"
  allProductsLabel="All products"
  allStacksLabel="All stacks"
  categoryFilterLabel="Recipe type"
  clearFiltersLabel="Clear filters"
  emptyMessage="No recipes match the current filters."
  items="[
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;A Kotlin and Jetpack Compose voice-agent client for Agora Conversational AI. The app owns the RTC/RTM lifecycle and renders live transcript via Agora's official Android ConversationalAI toolkit, talking to a bundled keyless Python backend.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-client-android-quickstart/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Android&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Android&#x22;],
    title: &#x22;Android Quickstart&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;Set up the Flutter quickstart, configure the required environment, and run a cross-platform voice AI workflow.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/agent-quickstart-flutter/blob/main/docs/ai/RECIPE.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Flutter&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Flutter&#x22;],
    title: &#x22;Flutter Quickstart&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;Set up the Go quickstart agent, configure credentials, and run a minimal voice AI workflow.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/agent-quickstart-go/blob/main/docs/ai/RECIPE.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Go&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Go&#x22;],
    title: &#x22;Golang Quickstart&#x22;,
    tone: &#x22;purple&#x22;,
  },
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;Set up the Next.js quickstart, configure the required environment, and run a browser-based voice AI workflow.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/agent-quickstart-nextjs/blob/main/docs/ai/RECIPE.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;TypeScript&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Next.js&#x22;],
    title: &#x22;NextJS Quickstart&#x22;,
    tone: &#x22;sand&#x22;,
  },
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;Set up the Python quickstart agent, configure credentials, and run a minimal voice AI workflow.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/agent-quickstart-python/blob/main/docs/ai/RECIPE.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Python&#x22;],
    title: &#x22;Python Quickstart&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;A bare React Native (TypeScript) voice-agent client for Agora Conversational AI. It reuses the engine-agnostic web toolkit over thin RTC/RTM engine adapters and renders live transcript, talking to a bundled keyless Python backend.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-client-rn-quickstart/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;React Native, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;React Native&#x22;],
    title: &#x22;React Native Quickstart&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Quickstart&#x22;,
    description: &#x22;A SwiftUI voice-agent client for Agora Conversational AI. The app owns the RTC/RTM lifecycle and renders live transcript via Agora's official iOS ConversationalAI toolkit, talking to a bundled keyless Python backend.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-client-swiftui-quickstart/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;iOS&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;iOS&#x22;],
    title: &#x22;SwiftUI Quickstart&#x22;,
    tone: &#x22;purple&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Filter and redact the agent's output through a custom LLM endpoint before it reaches the user.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-content-filter/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Content Moderation&#x22;],
    title: &#x22;Content Filtering&#x22;,
    tone: &#x22;sand&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Capture conversation history before the agent stops and re-inject it next time so it remembers a returning user.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-memory/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Memory&#x22;],
    title: &#x22;Cross-Session Memory&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Drive the voice agent with a custom OpenAI-compatible LLM you host, keeping the full voice flow intact.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-custom-llm/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Custom LLM&#x22;],
    title: &#x22;Custom LLM&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Customize both the reasoning (LLM) and the spoken output (TTS) of the voice agent with your own providers.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-custom-llm-tts/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Custom LLM&#x22;],
    title: &#x22;Custom Modalities&#x22;,
    tone: &#x22;purple&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Use template variables and a live update endpoint to change the agent's instructions without restarting.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-instructions/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Prompt Management&#x22;],
    title: &#x22;Dynamic Instructions&#x22;,
    tone: &#x22;sand&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;A smart-home agent whose available device tools change with the active room mode, plus keyword-triggered scenes.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-tools-plus/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Advanced&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Dynamic Tools&#x22;],
    title: &#x22;Dynamic Tool Sets&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Consume the built-in RTM event surface (state, metrics, errors, transcript) into a unified web timeline.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-events/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Observability&#x22;],
    title: &#x22;Event Observability&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Configure static filler words to cover thinking latency and a graceful farewell before the agent leaves.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-filler-words/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Latency Smoothing&#x22;],
    title: &#x22;Filler Words & Graceful Exit&#x22;,
    tone: &#x22;purple&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Configure VAD-based interruption handling so the agent stops and listens when the user speaks over it.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-interruptions/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Beginner&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Turn Detection&#x22;],
    title: &#x22;Interruption Handling&#x22;,
    tone: &#x22;sand&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Expose tools over a streamable-HTTP MCP server that Agora's managed LLM invokes during the conversation.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-mcp/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;MCP&#x22;],
    title: &#x22;MCP Tools&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Retrieve from an in-app corpus and inject context so the voice agent answers from your documents.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-rag/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;RAG&#x22;],
    title: &#x22;Retrieval-Augmented Generation&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;A receiver for Agora's server-side notification callbacks with a live SSE timeline of agent lifecycle events.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-webhooks/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Webhooks&#x22;],
    title: &#x22;Server-side Webhooks&#x22;,
    tone: &#x22;purple&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;Use Agora Speaker Lock so the agent focuses on the first clear speaker and suppresses background voices.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-voiceprint/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Speaker Lock&#x22;],
    title: &#x22;Speaker Lock&#x22;,
    tone: &#x22;sand&#x22;,
  },
  {
    category: &#x22;Integration pattern&#x22;,
    description: &#x22;A voice agent that invokes internal function tools and persists results to SQLite, then recalls them in later turns.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-tool-calling/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Function Calling&#x22;],
    title: &#x22;Tool Calling&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;A travel concierge that hands off between triage, booking, and trip-support personas driven by intent and itinerary state.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-handoff/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Advanced&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Agent Handoff&#x22;],
    title: &#x22;Agent Handoff&#x22;,
    tone: &#x22;pink&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;A speech-to-speech translator that transcribes the source language and synthesizes the target language.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-translator/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Speech Translation&#x22;],
    title: &#x22;Real-time Translator&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;A real-time multimodal model with voice and camera input so you can ask it what it sees (bring your own OpenAI key).&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-realtime-vision/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Advanced&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Real-time&#x22;],
    title: &#x22;Real-time Vision (MLLM)&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;Replace the STT to LLM to TTS pipeline with a single real-time speech model (bring your own OpenAI key).&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-realtime/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Real-time&#x22;],
    title: &#x22;Real-time Voice (MLLM)&#x22;,
    tone: &#x22;purple&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;Integrate an advanced biomarker workflow with an Agora conversational agent sample.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/agent-samples/blob/main/recipes/thymia.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python&#x22;,
    tags: [&#x22;Advanced&#x22;, &#x22;Conversational AI&#x22;, &#x22;Biomarkers&#x22;, &#x22;Integrations&#x22;],
    title: &#x22;Thymia Biomarkers&#x22;,
    tone: &#x22;pink&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;Publish camera frames so a managed multimodal LLM can answer questions about what it sees.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-vision/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Intermediate&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;Vision&#x22;],
    title: &#x22;Vision (Camera Input)&#x22;,
    tone: &#x22;green&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;A managed-LLM dungeon master backed by a stateful MCP game server with character, combat, and dice tools.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/recipe-agent-rpg/blob/main/README.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python, TypeScript&#x22;,
    tags: [&#x22;Advanced&#x22;, &#x22;Conversational AI&#x22;, &#x22;Voice Agent&#x22;, &#x22;MCP&#x22;],
    title: &#x22;Voice RPG&#x22;,
    tone: &#x22;blue&#x22;,
  },
  {
    category: &#x22;Use case&#x22;,
    description: &#x22;Use the therapist sample recipe as a starting point for a guided wellness coach experience.&#x22;,
    href: &#x22;https://github.com/AgoraIO-Conversational-AI/agent-samples/blob/main/recipes/therapist.md&#x22;,
    product: &#x22;Voice AI&#x22;,
    stack: &#x22;Python&#x22;,
    tags: [&#x22;Advanced&#x22;, &#x22;Conversational AI&#x22;, &#x22;Coaching&#x22;, &#x22;Python&#x22;],
    title: &#x22;Wellness Coach&#x22;,
    tone: &#x22;purple&#x22;,
  },
]"
  productFilterLabel="Product"
  searchPlaceholder="Search recipes by name, stack, or use case"
  stackFilterLabel="Stack"
/>
