# Documentation - [Documentation](/docs): Build powerful AI voice agents with OmniDimension. Guides, API reference, and integration recipes for the entire platform. - **Get started** - [Quickstart](/docs/get-started/quickstart): Build with OmniDimension from an AI client, your backend, or the dashboard. - [Authentication](/docs/get-started/authentication): How to obtain an OmniDimension API key and configure it for the SDK. - **Build your agent** - [Configure your agent](/docs/dashboard-guides/configure-your-agent): Configure the conversational flow for your agent. Sections, instructions, welcome message, and best practices. - [Voices and languages](/docs/dashboard-guides/voices-and-languages): Build globally-aware AI agents with native-level fluency across 90+ languages and 1000+ realistic voices. - [Knowledge base](/docs/dashboard-guides/knowledge-base): Provide your agent with domain-specific knowledge using document-based references. - [Voice cloning](/docs/dashboard-guides/voice-cloning): Clone your voice and use it with your AI agents for a personalized experience. - [Web search tool](/docs/dashboard-guides/web-search-tool): Enable real-time internet access for your agent using the Web Search integration. - **Phone numbers** - [Numbers Shop](/docs/dashboard-guides/numbers-shop): Purchase dedicated phone numbers and connect them to your Voice AI agents. - Telephony - [Telephony](/docs/telephony): Bring your own phone numbers to OmniDimension. Any SIP-enabled carrier works, with fast-path guides for the most common ones. - [SIP Trunking](/docs/telephony/sip): Connect your existing phone numbers to OmniDimension using SIP trunking. - [Twilio SIP Configuration](/docs/telephony/sip-twilio): Complete guide to configure your Twilio Elastic SIP Trunking with credential lists or IP ACL authentication. - [RingCentral SIP Configuration](/docs/telephony/sip-ringcentral): Complete guide to configure your RingCentral SIP trunking, including SIP credentials and optional outbound proxy. - [Vonage SIP Setup](/docs/telephony/sip-vonage): Complete guide to configure your Vonage SIP trunking with UserKey and Secret authentication. - [Import Exotel Phone Numbers](/docs/telephony/exotel-import): Seamlessly integrate your Exotel phone numbers with OmniDimension and set up intelligent call flows for your AI agents. - **Run campaigns** - Bulk calls - [Bulk calls](/docs/bulk-calls): Run AI-powered outbound campaigns with retry logic, dynamic queues, and best practices for production deployment. - [Bulk Call Campaign Guide](/docs/bulk-calls/overview): Complete step-by-step guide to create and manage AI-powered bulk call campaigns to reach multiple contacts efficiently. - [Dynamic Campaign Guide](/docs/bulk-calls/dynamic): Create a Dynamic Campaign that accepts contacts in real time via a webhook API. Ideal for CRM integrations and continuous outreach. - [Bulk Outbound Call Best Practices](/docs/bulk-calls/best-practices): Complete guide for optimizing bulk call campaigns, from agent configuration to post-call analysis. - **Chat channels** - [Web chat widget](/docs/dashboard-guides/web-chat-widget): Deploy your voice AI agent as a chat widget on your website with a no-code embed script. - WhatsApp - [WhatsApp Integration](/docs/whatsapp): Connect your WhatsApp Business account to send and receive messages, automate responses with bots, and manage campaigns. - [Inbound replies on WhatsApp](/docs/whatsapp/inbound-replies): Let your AI agent reply automatically to messages customers send to your WhatsApp number. - **Calls and analytics** - [Recent calls](/docs/dashboard-guides/recent-calls): Access, analyze, and make use of recent call logs to improve your agent's performance. - [Post-call actions](/docs/dashboard-guides/post-call): Configure post-call delivery to Email, Salesforce, Slack, Webhooks, HubSpot, and WhatsApp Cloud. - **Integrate** - Integrations - [Integrations](/docs/integrations): Connect OmniDimension to anything. Custom API turns any REST endpoint into an agent action, plus prebuilt connectors for the platforms you already use. - [Make, Zapier, n8n, GHL](/docs/integrations/zapier-make-n8n): Integrate Make, Zapier, n8n, and GHL with your OmniDimension agent for powerful automation. - [HubSpot](/docs/integrations/hubspot): Integrate HubSpot with your voice AI agent to automatically manage contacts, deals, and more. - [Salesforce](/docs/integrations/salesforce): Connect your Salesforce CRM with your voice AI agent to manage contacts, leads, and opportunities. - [Google Calendar](/docs/integrations/google-calendar): Integrate Google Calendar with your agent to schedule and manage meetings automatically. - [Cal.com](/docs/integrations/cal-com): Integrate Cal.com with your voice AI agent for seamless meeting scheduling. - [Slack](/docs/integrations/slack): Send automated messages and notifications from your voice AI agent into your Slack workspace. - [Custom API](/docs/integrations/custom-api): Connect your agent to any external service using custom API integration. - **Examples and tutorials** - Examples - [Examples](/docs/examples): Real-world voice agent builds you can learn from and adapt. Healthcare, real estate, support, recruiting, and more. - [SaaS OmniSupport agent](/docs/examples/omnisupport-agent): Build a voice AI agent for SaaS support with Cal.com, Slack, and Make.com integrations. - [Healthcare appointment booking](/docs/examples/health-appointment): Build a voice agent for healthcare appointment scheduling, doctor availability, and clinic info. - [Real estate agent (API)](/docs/examples/real-estate): Build a voice agent that handles property inquiries, schedules viewings, and manages client interactions via the API. - [Recruitment screening bot](/docs/examples/recruit-bot): Build an outbound voice agent for initial job applicant screening calls, with bulk call campaigns. - [Restaurant agent (API)](/docs/examples/restaurant): Build a voice agent that handles restaurant orders, reservations, and outbound marketing campaigns. - [Insurance claim status and filing](/docs/examples/insurance-claim-status): Build a voice agent that handles insurance claim status checks, new claim filing, and customer inquiries. - [Utility bill payment agent (API)](/docs/examples/utility-bill-payment): Build an outbound voice agent that handles utility bill payments, sends payment reminders, and manages customer interactions. - [Travel planning and lead generation](/docs/examples/travel-planning-agent): Build an engaging voice agent that helps users plan trips while collecting lead information for your travel business. - Tutorials - [Tutorials](/docs/tutorials): Video walkthroughs for building, configuring, and integrating OmniDimension voice agents. - **Reference** - API reference - [API reference](/docs/api-reference): REST + Python SDK reference for the OmniDimension platform with an interactive try-it-out playground. - **Build** - Agents: Create, retrieve, update, and delete AI voice agents. Configure transcriber, model, voice, integrations, and post-call actions. - [List agents](/docs/api-reference/agents/listAgents): Retrieve all agents for the authenticated user with pagination support. - [Create agent](/docs/api-reference/agents/createAgent): Create a new agent with the provided configuration. The full config supports transcriber, model, voice, web search, transfer, end-call conditions, post-call actions (email + webhook), ambient background track, initial ringing sound, and multilingual support. - [Get agent](/docs/api-reference/agents/getAgent): Get details of a specific agent by ID. - [Delete agent](/docs/api-reference/agents/deleteAgent): Permanently delete an agent. - [Update agent](/docs/api-reference/agents/updateAgent): Update an existing agent. Send only the fields you want to change. - Knowledge base: Upload, manage, and attach PDF documents to agents. - [List knowledge base files](/docs/api-reference/knowledge-base/listKnowledgeBaseFiles): List all knowledge-base files for the authenticated user. - [Check file upload capability](/docs/api-reference/knowledge-base/canUploadFile): Check whether a file can be uploaded based on size and type. - [Upload file to knowledge base](/docs/api-reference/knowledge-base/uploadKnowledgeBaseFile): Upload a PDF file. The file content must be Base64 encoded. - [Attach files to agent](/docs/api-reference/knowledge-base/attachKnowledgeBaseFiles): Attach multiple knowledge-base files to an agent. - [Detach files from agent](/docs/api-reference/knowledge-base/detachKnowledgeBaseFiles): Detach multiple knowledge-base files from an agent. - [Delete file from knowledge base](/docs/api-reference/knowledge-base/deleteKnowledgeBaseFile): Permanently delete a file. Removes it from any attached agents. Cannot be undone. - **Setup** - Providers: Discover available LLM, voice, STT, and TTS providers, with advanced filtering for ElevenLabs voices. - [List LLM providers](/docs/api-reference/providers/listLLMProviders): Retrieve all available Large Language Model providers. - [List voices](/docs/api-reference/providers/listVoices): Retrieve voices with filtering and pagination support. ElevenLabs supports advanced filtering by name, language, accent, and gender. Other providers support basic pagination only. - [List STT providers](/docs/api-reference/providers/listSTTProviders): Retrieve all Speech-to-Text providers. - [List TTS providers](/docs/api-reference/providers/listTTSProviders): Retrieve all Text-to-Speech providers. - [List all providers](/docs/api-reference/providers/listAllProviders): Comprehensive response with services and voices in one payload. - [Get voice details](/docs/api-reference/providers/getVoice): Detailed metadata for a specific voice. - Phone numbers: Manage phone numbers, attach and detach from agents, import from Twilio, Exotel, or your own SIP trunk. - [List phone numbers](/docs/api-reference/phone-numbers/listPhoneNumbers): Retrieve all phone numbers associated with your account. - [Attach phone number to agent](/docs/api-reference/phone-numbers/attachPhoneNumber): Attach an account-owned phone number to an existing agent. - [Detach phone number](/docs/api-reference/phone-numbers/detachPhoneNumber): Detach a phone number from its associated agent. - [Import Twilio number](/docs/api-reference/phone-numbers/importTwilioNumber): Import an existing Twilio number by providing your Twilio credentials. - [Import Exotel number](/docs/api-reference/phone-numbers/importExotelNumber): Import an Exotel number by providing your Exotel credentials. - [Import SIP trunk](/docs/api-reference/phone-numbers/importSipTrunk): Import a phone number associated with a SIP trunk. - **Run calls** - Calls: Dispatch calls to phone numbers, retrieve call logs, and inspect individual call sessions. - [Dispatch call](/docs/api-reference/calls/dispatchCall): Initiate a call to a phone number using a specified agent. The phone number must include a country code with a leading plus. - [List call logs](/docs/api-reference/calls/listCallLogs): Retrieve call logs with pagination and optional filtering. - [Get call log](/docs/api-reference/calls/getCallLog): Detailed information about a specific call (duration, status, transcript, sentiment, extracted variables). - Bulk calls: Run outbound campaigns against a contact list. Schedule, retry, pause, resume, and monitor live status. - [Fetch bulk calls](/docs/api-reference/bulk-calls/fetchBulkCalls): List bulk-call campaigns with pagination and optional status filter. - [Create bulk call](/docs/api-reference/bulk-calls/createBulkCall): Create a new bulk-call campaign. Supports immediate, scheduled, and auto-retry modes. - [Bulk call details](/docs/api-reference/bulk-calls/getBulkCall): Get detailed information about a bulk-call campaign. - [Cancel bulk call](/docs/api-reference/bulk-calls/cancelBulkCall): Cancel a bulk-call campaign. - [Bulk call actions](/docs/api-reference/bulk-calls/bulkCallActions): Pause, resume, or reschedule a running campaign. - [Bulk call live status](/docs/api-reference/bulk-calls/getBulkCallLiveStatus): Real-time status of a running bulk-call campaign. - **Test** - Simulation: Run automated agent test simulations with scenarios and quick-test workflows. - [List simulations](/docs/api-reference/simulation/listSimulations): Retrieve simulations with pagination. - [Create simulation](/docs/api-reference/simulation/createSimulation): Create a new test simulation with scenarios. - [Get simulation](/docs/api-reference/simulation/getSimulation): Detailed simulation information. - [Delete simulation](/docs/api-reference/simulation/deleteSimulation): Permanently delete a simulation. - [Update simulation](/docs/api-reference/simulation/updateSimulation): Update an existing simulation. Pass the full `scenarios` array (existing entries you want to keep plus any changes). - [Start simulation](/docs/api-reference/simulation/startSimulation): Begin running a simulation. Optionally update scenarios at start time (same shape as Update simulation). - [Stop simulation](/docs/api-reference/simulation/stopSimulation): Stop a running simulation. - [Enhance prompt](/docs/api-reference/simulation/enhancePrompt): Generate prompt-improvement suggestions for a completed simulation. - **Admin** - Reseller: Manage child organizations, add users, transfer credits, and control dashboard access flags. Reseller accounts only. [Request access](https://omnidim.io/contact-us?reason=partnership&lock=1). - [List child organizations](/docs/api-reference/reseller/listChildOrganizations): List all child organizations and their users under the reseller account. Returns each organization's balance, cost-per-minute rate, and concurrency limit, plus the dashboard menu access flags scoped to your reseller's permissions for every user. - [Add user](/docs/api-reference/reseller/addUser): Create a new child user and organization under the reseller. The new organization is linked to your reseller account automatically. - [Update user access control](/docs/api-reference/reseller/setUserAccessControl): Enable or disable dashboard menu access flags for a child user. Only the flags you pass are changed. Flags outside your reseller's permissions are silently ignored. - [Update user expiry](/docs/api-reference/reseller/setUserExpiry): Set or remove the expiry date on a child user. The user must belong to a child organization of your reseller. - [Set child concurrency limit](/docs/api-reference/reseller/setChildConcurrency): Set the maximum number of simultaneous calls a child organization can run. Slots come from the reseller's shared pool. Increasing the limit deducts the delta from your pool and fails if you don't have enough slots. Decreasing the limit returns the delta to your pool immediately. - [Calculate credit operation](/docs/api-reference/reseller/calculateCreditOperation): Preview the cost of a transfer or revert without moving any credits. Use this to confirm amounts before calling the transfer or revert endpoints. The response shape differs between forward transfers and reverts. See the examples. - [Transfer credits to a child](/docs/api-reference/reseller/transferCreditsToChild): Transfer minutes from the reseller balance to a child organization. Credits are deducted from your balance immediately on success. The target organization must be a direct child of your reseller. Use the calculate endpoint first to preview the cost. - [Revert credits](/docs/api-reference/reseller/revertCreditsFromChild): Take back unused minutes from a child organization to the reseller balance. The refund is calculated at the child's current rate, so you don't pass one. This matches exactly what was originally charged. Use the calculate endpoint first to preview the refund. - [Credit transfer logs](/docs/api-reference/reseller/getResellerCreditLogs): Paginated history of all credit transfers and reverts for the reseller account. Returns reverse-chronological order by default. Date filters are inclusive. - SDKs - [SDKs](/docs/sdks): Official OmniDimension SDKs for the backend and the browser. - **Server SDKs** - [Python SDK](/docs/sdks/python): The omnidimension Python package. Install with pip and start calling the API. - [TypeScript SDK](/docs/sdks/typescript): The @omnidim-ai/sdk package. A typed, server-side SDK for the OmniDimension API. - **Client SDKs** - [Web widget](/docs/sdks/web-widget): Embed your agent in the browser with a no-code script. - MCP - [Overview](/docs/mcp): Connect Claude, ChatGPT, Cursor, and any MCP-compatible client to your OmniDimension account. Hosted OAuth at mcp.omnidim.io, or local stdio via the npm package. - **Connect via cloud** - [Overview](/docs/mcp/connect): One connector for every MCP client. Add OmniDimension as a custom server in Claude Desktop, Claude Code, Cursor, VS Code, or Windsurf. Browser sign-in on the first call. - [Claude Code](/docs/mcp/connect/claude-code): Connect OmniDimension to Claude Code in one terminal command. OAuth sign-in via the browser, then use OmniDimension tools from any Claude Code session. - [Claude Desktop](/docs/mcp/connect/claude-desktop): Add OmniDimension as a custom connector in Claude Desktop or Claude.ai web. Paste one URL, sign in, and Claude can drive your voice agents directly. - [Cursor](/docs/mcp/connect/cursor): Add OmniDimension to Cursor by editing ~/.cursor/mcp.json. OAuth sign-in on first tool call, no API key handling. - [VS Code](/docs/mcp/connect/vscode): Add OmniDimension to VS Code via user settings. HTTP MCP transport, OAuth sign-in handled in the browser. - [Windsurf](/docs/mcp/connect/windsurf): Add OmniDimension to Windsurf via ~/.codeium/windsurf/mcp_config.json. OAuth sign-in in the browser, no API key handling. - **Local server** - [Local MCP server](/docs/mcp/local-server): Run the OmniDimension MCP server locally as a stdio child process. Distributed as @omnidim-ai/mcp-server on npm. One command auto-configures every detected MCP client. - **Reference** - [Privacy and telemetry](/docs/mcp/privacy): What data the MCP servers see, what we log, what we never store. Covers both the hosted cloud server at mcp.omnidim.io and the local npm package. - [Agent timezone](/docs/dashboard-guides/update-timezone): Set and update your agent's timezone for accurate scheduling and time-based operations.