> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # Guides ## Docs - [SignalWire SDKs](https://signalwire.com/docs/server-sdks.md): Everything you need to install the SignalWire SDK, create your first voice AI agent, and connect it to the SignalWire platform. - [Development Environment Setup](https://signalwire.com/docs/server-sdks/guides/dev-environment.md): Configure a professional development environment for building SignalWire agents with proper project structure, environment variables, and debugging tools. - [Exposing Your Agent to the Internet](https://signalwire.com/docs/server-sdks/guides/exposing-agents.md): Use ngrok to create a public URL for your local agent so SignalWire can send webhook requests to it. - [Installation](https://signalwire.com/docs/server-sdks/guides/installation.md): Install the SignalWire SDK for your language and verify everything works correctly. - [Quick Start: Your First Agent](https://signalwire.com/docs/server-sdks/guides/quickstart.md): Build a working voice AI agent in under 5 minutes with a single file. - [Adding Skills](https://signalwire.com/docs/server-sdks/guides/adding-skills.md): Add skills to your agents with add_skill() and pass configuration parameters to customize behavior. - [AgentBase](https://signalwire.com/docs/server-sdks/guides/agent-base.md): Learn how to build voice AI agents using AgentBase, from basic configuration to advanced prompt engineering and voice customization. - [AI Parameters](https://signalwire.com/docs/server-sdks/guides/ai-parameters.md): Tune conversation behavior with parameters for speech detection, timeouts, barge control, and AI model settings. - [Architecture](https://signalwire.com/docs/server-sdks/guides/architecture.md): Understand the fundamental architecture, protocols, and patterns that power the SignalWire Server SDK. - [Build AI Agents](https://signalwire.com/docs/server-sdks/guides/build-ai-agents.md): Learn how to build voice AI agents with the SignalWire SDK, from basic configuration to advanced multi-agent architectures. - [Built-in Skills](https://signalwire.com/docs/server-sdks/guides/builtin-skills.md): The SDK includes ready-to-use skills for common tasks like datetime, math, web search, and more. - [Call Flow Customization](https://signalwire.com/docs/server-sdks/guides/call-flow.md): Control call flow with verb insertion points for pre-answer, post-answer, and post-AI actions. - [Call Transfer](https://signalwire.com/docs/server-sdks/guides/call-transfer.md): Transfer calls to other destinations using connect() for phone numbers/SIP and swml_transfer() for SWML endpoints, with support for both permanent and temporary transfers. - [Concierge](https://signalwire.com/docs/server-sdks/guides/concierge.md): Provide venue information, answer questions about amenities and services, help with bookings, and give directions using the Concierge prefab agent. - [Contexts and Workflows](https://signalwire.com/docs/server-sdks/guides/contexts-workflows.md): Build multi-step conversation flows with branching logic, context switching, and step validation using the SDK's ContextBuilder. - [Custom Skills](https://signalwire.com/docs/server-sdks/guides/custom.md): Create your own skills by inheriting from SkillBase for reuse across agents and sharing with others. - [DataMap](https://signalwire.com/docs/server-sdks/guides/data-map.md): DataMap provides serverless API integration, letting you define functions that call REST APIs directly from SignalWire's infrastructure without running code on your server. - [FAQBot](https://signalwire.com/docs/server-sdks/guides/faq-bot.md): Answer frequently asked questions from a provided knowledge base using the FAQBot prefab agent, with optional category filtering and related question suggestions. - [Hints](https://signalwire.com/docs/server-sdks/guides/hints.md): Speech hints improve recognition accuracy for domain-specific vocabulary, brand names, technical terms, and other words the STT engine might misinterpret. - [InfoGatherer](https://signalwire.com/docs/server-sdks/guides/info-gatherer.md): Collect answers to a series of questions with confirmation support, dynamic question callbacks, and structured data output using the InfoGatherer prefab agent. - [MCP Gateway](https://signalwire.com/docs/server-sdks/guides/mcp-gateway.md): Bridge Model Context Protocol (MCP) servers with SignalWire AI agents, enabling your agents to use any MCP-compatible tool through a managed gateway service. - [Multi-Agent Servers](https://signalwire.com/docs/server-sdks/guides/multi-agent.md): Run multiple agents on a single server using AgentServer with path-based routing and SIP username mapping. - [Native Functions](https://signalwire.com/docs/server-sdks/guides/native-functions.md): Native functions are built-in SignalWire capabilities that can be enabled without writing code, providing common operations like web search and debugging. - [Parameters](https://signalwire.com/docs/server-sdks/guides/parameters.md): Define function parameters using JSON Schema to specify what arguments your functions accept. - [Prompts & POM](https://signalwire.com/docs/server-sdks/guides/prompts-pom.md): The Prompt Object Model (POM) provides a structured way to build AI prompts using sections, subsections, and bullets rather than raw text. - [Receptionist](https://signalwire.com/docs/server-sdks/guides/receptionist.md): Greet callers, collect their information, and transfer them to the appropriate department using the Receptionist prefab agent. - [Request Lifecycle](https://signalwire.com/docs/server-sdks/guides/lifecycle.md): Trace the complete journey of a call through the SignalWire Server SDK, from incoming call to conversation end. - [Results & Actions](https://signalwire.com/docs/server-sdks/guides/result-actions.md): FunctionResult is the return type for all SWAIG functions, containing response text and optional actions like transfers, SMS, or context changes. - [Search and Knowledge](https://signalwire.com/docs/server-sdks/guides/search-knowledge.md): Add RAG-style knowledge search to your agents using local vector indexes or PostgreSQL with pgvector, built with the sw-search CLI. - [Security](https://signalwire.com/docs/server-sdks/guides/security.md): The SDK provides layered security through HTTP Basic Authentication for all requests and optional per-function token validation for sensitive operations. - [Skill Configuration](https://signalwire.com/docs/server-sdks/guides/skill-config.md): Configure skills with parameters, environment variables, and SWAIG field overrides. - [Skills](https://signalwire.com/docs/server-sdks/guides/understanding-skills.md): Skills are modular, reusable capabilities that add functions, prompts, and integrations to your agents without custom code. - [State Management](https://signalwire.com/docs/server-sdks/guides/state-management.md): Manage data throughout call sessions using global_data for persistent state, metadata for function-scoped data, and post_prompt for call summaries. - [Static vs Dynamic Agents](https://signalwire.com/docs/server-sdks/guides/static-vs-dynamic.md): Choose between static agents with fixed configuration and dynamic agents that customize behavior per-call based on caller data. - [Survey](https://signalwire.com/docs/server-sdks/guides/survey.md): Conduct automated surveys with different question types including rating, multiple choice, yes/no, and open-ended, with validation and response logging. - [SWAIG (SignalWire AI Gateway)](https://signalwire.com/docs/server-sdks/guides/swaig.md): SWAIG connects the AI conversation to your backend logic, letting the AI call functions you define via webhooks. - [SWAIG Functions](https://signalwire.com/docs/server-sdks/guides/defining-functions.md): SWAIG (SignalWire AI Gateway) functions let your AI agent call custom code to look up data, make API calls, and take actions during conversations. - [SWML (SignalWire Markup Language)](https://signalwire.com/docs/server-sdks/guides/swml.md): SWML is the JSON format that tells SignalWire how to handle calls, generated automatically by your agent configuration. - [Voice & Language](https://signalwire.com/docs/server-sdks/guides/voice-language.md): Configure Text-to-Speech voices, languages, and pronunciation to create natural-sounding agents. - [Relay Client](https://signalwire.com/docs/server-sdks/guides/relay-client.md): Use the Relay client to make and receive phone calls with the SignalWire SDK. - [Account Setup](https://signalwire.com/docs/server-sdks/guides/account-setup.md): Create and configure your SignalWire account to connect agents to phone numbers. - [Mapping Numbers](https://signalwire.com/docs/server-sdks/guides/mapping-numbers.md): Connect phone numbers to your agent using SignalWire's SWML Script resources. - [Phone Numbers](https://signalwire.com/docs/server-sdks/guides/phone-numbers.md): Purchase and configure phone numbers to receive calls for your agents. - [REST Client](https://signalwire.com/docs/server-sdks/guides/rest-client.md): Use the REST client to manage SignalWire resources programmatically. - [Testing](https://signalwire.com/docs/server-sdks/guides/testing.md): Test your agent thoroughly before production using local testing, swaig-test CLI, and test calls. - [Troubleshooting](https://signalwire.com/docs/server-sdks/guides/troubleshooting.md): Common issues and solutions when integrating agents with SignalWire. - [CGI Mode](https://signalwire.com/docs/server-sdks/guides/cgi-mode.md): Deploy agents as CGI scripts on traditional web servers like Apache or nginx with automatic environment detection. - [Deploy](https://signalwire.com/docs/server-sdks/guides/deploy.md): Deploy your agents as local servers, production services, or serverless functions. - [Docker & Kubernetes](https://signalwire.com/docs/server-sdks/guides/docker-kubernetes.md): Containerize your agents with Docker and deploy to Kubernetes for scalable, manageable production deployments. - [Local Development](https://signalwire.com/docs/server-sdks/guides/local-development.md): Run and test SignalWire SDK agents locally during development with hot reloading, tunneling, and debug tools. - [Production Deployment](https://signalwire.com/docs/server-sdks/guides/production.md): Deploy agents to production with SSL, authentication, monitoring, and scaling using uvicorn workers, nginx reverse proxy, and systemd. - [Serverless Deployment](https://signalwire.com/docs/server-sdks/guides/serverless.md): Deploy agents to AWS Lambda, Google Cloud Functions, or Azure Functions with automatic environment detection.