{"id":88339,"plugin_id":"plugin_asdk_app_6ae23b8ac7948191a7c2375c5a8d708f","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-10T00:10:00.131Z","digest":"fae5389bf57e7df046c8ecea1cbe4b68bb91279989bf865c33f6730941955141","against":null,"payload":{"description":"Choose a Phonic voice integration and find the relevant implementation skill. Use when starting a Phonic integration or deciding between phone calls, browser voice, and server audio.","included_files":[],"name":"phonic","skill_md_contents":"---\nname: phonic\ndescription: Choose a Phonic voice integration and find the relevant implementation skill. Use when starting a Phonic integration or deciding between phone calls, browser voice, and server audio.\nlicense: MIT\n---\n\n# Build voice agents on Phonic\n\nSDKs: `npm install phonic` / `pip install phonic`. Entry points: `new PhonicClient({ apiKey })` (Node), `Phonic(api_key=...)` / `AsyncPhonic(...)` (Python). REST base: `https://api.phonic.ai/v1` with `Authorization: Bearer $PHONIC_API_KEY`. Always use the `.ai` domain for API and docs URLs — `phonic.co` addresses still resolve for backward compatibility, but all new code should use `phonic.ai`.\n\nFetch live docs rather than from memory: use the index at [llms.txt](https://docs.phonic.ai/llms.txt). For the REST API, see [openapi.json](https://docs.phonic.ai/openapi.json). For the WebSocket protocol, see [asyncapi.json](https://docs.phonic.ai/asyncapi.json). If an endpoint does not appear in these docs, it doesn't exist, do not invent one.\n\n## Choosing a conversation surface\n\n- **Outbound phone call**: `client.conversations.outboundCall({ to_phone_number, config })`\n- **Inbound phone number**: create/update the agent with `phone_number: \"assign-automatically\"`\n- **Voice in a browser or mobile app**: direct STS WebSocket `wss://api.phonic.ai/v1/sts/ws?session_token=...`\n- **Bridge your own telephony/audio server-side**: `client.conversations.connect()`\n- **Watch a live conversation (read-only)**: `wss://api.phonic.ai/v1/conversations/{id}/live/ws`\n\nMistakes to avoid when picking:\n\n- Don't open the browser STS socket to place a phone call — phone calls are one API call (`outboundCall`); the STS socket streams a user's microphone.\n- Don't relay browser audio through your own server on the way to Phonic — it works, but adds a network hop of latency to every utterance; browsers connect directly using a session token. The session-token flow exists because an API key can't live in a browser; your own server holds the key, so server-side code uses `conversations.connect()` directly and never needs session tokens.\n- Don't confuse the two WebSockets: `sts/ws` is the live voice conversation; `conversations/{id}/live/ws` is a read-only monitoring feed (`conversation-updated` / `conversation-ended` events only) — it cannot send audio or speak.\n\n## Continue with the relevant skill\n\nUse the matching skill when installed. If it is unavailable, follow the live documentation links above.\n\n| Task | Skill |\n| --- | --- |\n| Agents, phone calls, prompts, and project operations | [phonic-agents](../phonic-agents/SKILL.md) |\n| Browser voice, STS configuration, audio, and reconnects | [phonic-websockets](../phonic-websockets/SKILL.md) |\n| Agent tools and human transfers | [phonic-tools](../phonic-tools/SKILL.md) |\n| Webhooks, extractions, and conversation evaluations | [phonic-post-call](../phonic-post-call/SKILL.md) |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}