> 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. # Agents > Core framework for building AI-powered voice agents. [swml]: /docs/swml/reference/calling/ai [agent-base]: /docs/server-sdks/reference/typescript/agents/agent-base [swml-service]: /docs/server-sdks/reference/typescript/agents/swml-service [swml-builder]: /docs/server-sdks/reference/typescript/agents/swml-builder [swaig-function]: /docs/server-sdks/reference/typescript/agents/swaig-function [function-result]: /docs/server-sdks/reference/typescript/agents/function-result [context-builder]: /docs/server-sdks/reference/typescript/agents/context-builder [data-map]: /docs/server-sdks/reference/typescript/agents/data-map [skill-base]: /docs/server-sdks/reference/typescript/agents/skill-base [pom-builder]: /docs/server-sdks/reference/typescript/agents/pom-builder [agent-server]: /docs/server-sdks/reference/typescript/agents/agent-server [bedrock-agent]: /docs/server-sdks/reference/typescript/agents/bedrock-agent [ai-chat-client]: /docs/server-sdks/reference/typescript/agents/ai-chat-client [parameter-schema]: /docs/server-sdks/reference/typescript/agents/parameter-schema [prefabs]: /docs/server-sdks/reference/typescript/agents/prefabs [skills]: /docs/server-sdks/reference/typescript/agents/skills [cli]: /docs/server-sdks/reference/typescript/agents/cli [configuration]: /docs/server-sdks/reference/typescript/agents/configuration [livewire]: /docs/server-sdks/reference/typescript/agents/livewire [helpers]: /docs/server-sdks/reference/typescript/agents/helpers [ref-agentbase]: /docs/server-sdks/reference/typescript/agents/agent-base The Agents namespace provides the core framework for building AI-powered voice agents with SignalWire. It includes the central [`AgentBase`][ref-agentbase] class, SWML document generation, tool/function definitions, skills, multi-agent hosting, CLI tools for local testing and deployment, and configuration management for security and environment settings. > **Info** > > The Server SDK generates [SWML][swml] documents under the hood. > Each agent produces a SWML document with the `ai` verb that the SignalWire platform executes. ## Example A complete agent that answers calls, uses an AI prompt, and exposes a custom tool: ```typescript {3} import { AgentBase, FunctionResult } from '@signalwire/sdk'; const agent = new AgentBase({ name: 'support-agent', route: '/support' }); agent.setPromptText( 'You are a friendly support agent for Acme Corp. ' + 'Help customers check their order status. ' + 'Be concise and professional.' ); agent.setParams({ temperature: 0.5, end_of_speech_timeout: 800 }); agent.defineTool({ name: 'check_order', description: 'Check an order status by ID', parameters: { order_id: { type: 'string', description: 'The order ID to check' }, }, handler: (args, rawData) => { const orderId = (args.order_id as string) || 'unknown'; return new FunctionResult(`Order ${orderId} shipped on March 28 and arrives tomorrow.`); }, }); await agent.addSkillByName('datetime'); await agent.run(); ``` ## Classes #### [AgentBase](/docs/server-sdks/reference/typescript/agents/agent-base) The central class for building AI agents. Manages prompts, tools, skills, and serving. #### [SWMLService](/docs/server-sdks/reference/typescript/agents/swml-service) SWML document generation and Hono service for non-AI call flows. #### [SWMLBuilder](/docs/server-sdks/reference/typescript/agents/swml-builder) Fluent builder for constructing SWML documents programmatically. #### [SwaigFunction](/docs/server-sdks/reference/typescript/agents/swaig-function) Wraps TypeScript functions as callable SWAIG tools with validation and metadata. #### [FunctionResult](/docs/server-sdks/reference/typescript/agents/function-result) Fluent interface for returning actions and responses from tool functions. #### [ContextBuilder](/docs/server-sdks/reference/typescript/agents/context-builder) Multi-step agent workflows with context and step navigation. #### [DataMap](/docs/server-sdks/reference/typescript/agents/data-map) Server-side API tools that execute REST calls without agent webhooks. #### [SkillBase](/docs/server-sdks/reference/typescript/agents/skill-base) Base class for building reusable skill plugins. #### [PomBuilder](/docs/server-sdks/reference/typescript/agents/pom-builder) Prompt Object Model builder for structured prompt composition. #### [AgentServer](/docs/server-sdks/reference/typescript/agents/agent-server) Host multiple agents on a single Hono process with route-based dispatch. #### [BedrockAgent](/docs/server-sdks/reference/typescript/agents/bedrock-agent) Agent backed by the Amazon Bedrock voice-to-voice model. #### [AIChatClient](/docs/server-sdks/reference/typescript/agents/ai-chat-client) Hold a text conversation with an AI agent from your own server. #### [ParameterSchema](/docs/server-sdks/reference/typescript/agents/parameter-schema) Fluent builder for typed SWAIG tool parameter schemas. #### [Prefabs](/docs/server-sdks/reference/typescript/agents/prefabs) Pre-built agent templates for common conversational patterns. #### [Skills](/docs/server-sdks/reference/typescript/agents/skills) Built-in skills catalog with 19 pluggable capabilities. #### [CLI](/docs/server-sdks/reference/typescript/agents/cli) Test SWAIG functions and render SWML locally with swaig-test. #### [Configuration](/docs/server-sdks/reference/typescript/agents/configuration) Environment variables, config files, security settings, and authentication. #### [LiveWire](/docs/server-sdks/reference/typescript/agents/livewire) LiveKit-compatible API layer — use familiar livekit-agents classes on SignalWire infrastructure. #### [SkillManager](/docs/server-sdks/reference/typescript/agents/skill-manager) Manages the lifecycle of skills loaded on an agent. #### [SkillRegistry](/docs/server-sdks/reference/typescript/agents/skill-registry) Global singleton for registering and discovering skills by name. #### [Helpers & Utilities](/docs/server-sdks/reference/typescript/agents/helpers) Context creation, API tools, security utilities, type inference, and standalone functions. > TypeScript API reference for AgentBase, SWMLService, SWAIG functions, skills, contexts, LiveWire, and more