# Chamade > Voice and chat gateway for AI agents. Chamade joins meetings, phone calls, and DMs across 10 platforms and runs the speech pipeline for you using your own STT/TTS provider key (BYOK) — or hands you raw PCM on a WebSocket if you'd rather run the speech layer yourself. Authenticate with an API key (`chmd_...`), tell Chamade to join on Discord / Teams / Meet / SIP / NC Talk / Zoom / Telegram / WhatsApp / Slack / Matrix, and speech + chat just work. Two key kinds (both `chmd_*`): an **agent key** runs the agent (join calls, send DMs, read the inbox) — it's the bearer you put in the MCP config; a **settings key** configures the account by API (agents, providers, platforms, voice). The runtime key cannot reconfigure the account, and the config key cannot act on the control-plane — see "Authentication" in the full docs. - **Voice — hosted STT/TTS (recommended, BYOK)**: add your ElevenLabs / Deepgram key in /dashboard → Voice providers once; Chamade runs the pipeline server-side (free — you pay your provider, not Chamade). Transcripts arrive as `call_transcript` events, `chamade_call_say` speaks into the meeting. - **Voice — raw PCM WebSocket (alternative)**: if you'd rather run the speech layer in-process (OpenAI Realtime, LiveKit Agents, Pipecat, Deepgram, manual cascade, …), Chamade exposes the call's raw PCM audio bidirectionally. Useful when you have a voice pipeline you want to keep. - **Text conversations** (DMs, group chats, in-call chat): fully plug-and-play via the REST API or MCP tools. Send and receive text, handle typing indicators, read the inbox — zero audio plumbing needed. - **File attachments**: send + receive on Discord, Telegram, Slack, Matrix, WhatsApp (incl. voice notes), NC Talk. Pass `attachments: [{file_id} | {url} | {bytes_b64, name, mime}]` on `chamade_dm_chat` / `chamade_call_chat`; agents get upload URLs via `chamade_file_upload_url` or `POST /api/files`. 25 MB cap per file. Teams + Meet code-ready, waiting on cert / OAuth verification. **Chamade is currently in early access: free and open to everyone.** Pricing to be announced once feature surface stabilizes. Account management (agents, providers, bot tokens, platform connections, voice, SIP) is fully programmatic with a settings key. Two caveats: a few account-owner actions (delete account, change email/password, manage settings keys) stay dashboard-only, and OAuth platform connects (Microsoft / Google / Discord / NC Talk) always need a one-time browser consent. ## Documentation - [Setup guide](https://chamade.io/llms-setup.txt): Step-by-step setup for agents — MCP config, platform connections. Start here if you have an API key. - [Full documentation](https://chamade.io/llms-full.txt): Complete API reference, all platforms, MCP server, WebSocket audio protocol, BYO-audio integration, inbox, account management, errors — everything in one file. - [API Reference](https://chamade.io/docs/api): REST API endpoints (HTML) - [Quick Start](https://chamade.io/docs/quickstart): Get started in minutes - [Claude Code](https://chamade.io/docs/claude-code): Native real-time push — `?stateful` + the channel launch flag; DMs and calls land in the agent's context, no polling - [Codex](https://chamade.io/docs/codex): Headless autonomous Codex agent that answers your DMs and calls (`chamade-mcp agent run --runtime codex`); model/sandbox come from your own `~/.codex/config.toml` - [MCP Server (other clients)](https://chamade.io/docs/mcp): Hosted MCP endpoint for Claude Desktop, Cursor, Windsurf, claude.ai, and stdio-only clients — plus the shared tools reference and the polling loop - [Agents](https://chamade.io/docs/agents): Each agent key (and each MCP OAuth client) belongs to an agent — a scope tied to specific platform accounts. The default agent auto-receives every new platform; create more to give different agents different reach. (Settings keys belong to no agent — they administer, they don't act.) Each agent answers events one of two ways: **your own MCP client/runtime**, or an **inline hosted LLM provider** (OpenAI / Anthropic / Mistral / Bedrock / Gemini / Foundry) that Chamade calls for you — configurable by API (`PATCH /api/agents/{id}/provider`) with a settings key. ## Platforms - [Discord](https://chamade.io/docs/discord): Voice (audio_in + audio_out) + text + files. Shared bot or bring your own. - [Microsoft Teams](https://chamade.io/docs/teams): Voice (audio_in + audio_out) + text. Files code-ready, gated until AppSource cert clears. Install Teams app + connect Microsoft account. - [Google Meet](https://chamade.io/docs/meet): audio_in only + text. Files code-ready, gated until OAuth verification clears. Connect Google account. Media API in Developer Preview. - [Zoom](https://chamade.io/docs/zoom): Voice (audio_in + audio_out) + text, no files. Connect Zoom account (pending Zoom Marketplace approval — tester access on request). - [Telegram](https://chamade.io/docs/telegram): Text + files. Shared bot or bring your own. - [WhatsApp](https://chamade.io/docs/whatsapp): Text + files incl. voice notes. Invite link, no setup. - [Slack](https://chamade.io/docs/slack): Text + files. Install Slack app or bring your own. - [Matrix](https://chamade.io/docs/matrix): Text + typing + files, unencrypted rooms only. Bring your own bot account (any homeserver). - [Nextcloud Talk](https://chamade.io/docs/nctalk): Voice (audio_in + audio_out) + text + files (inbound needs addon ≥ 2.4.0). Install addon + connect. - [SIP / Phone](https://chamade.io/docs/sip): Voice only (audio_in + audio_out), no files. Answering machine or bring your own trunk. ## Other - [Error Codes](https://chamade.io/docs/errors): HTTP errors, platform errors, recovery