Use when building telephony, messaging, or video applications; implementing voice AI agents; working with SWML call flows; debugging webhook callbacks or call state issues; setting up real-time WebSocket communication; encountering authentication 401/403 errors; or troubleshooting SWAIG function errors - provides REST API patterns, SDK examples, and production-tested workflows for modern SignalWire communication systems
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
reference/deployment/environment-variables.mdreference/deployment/serverless.mdreference/deployment/signalwire-integration.mdreference/examples/datamap-agent.pyreference/examples/faq-bot.pyreference/examples/multi-agent-server.pyreference/examples/serverless-agent.pyreference/examples/simple-agent.pyreference/examples/webrtc-enabled-agent.pyreference/sdk/agent-base.mdreference/sdk/agent-server.mdreference/sdk/bedrock-agent.mdreference/sdk/contexts-steps.mdreference/sdk/datamap-advanced.mdreference/sdk/dynamic-configuration.mdreference/sdk/function-result.mdreference/sdk/prefabs.mdreference/sdk/sip-routing.mdreference/sdk/skills-complete.mdreference/sdk/swaig-functions.mdSignalWire maintains compatibility APIs (LAML/CXML) that should NOT be used for new development:
/laml/) → Use REST API (/api/calling/, /api/video/)This skill documents ONLY modern APIs: REST with JSON, SWML, Relay SDK, AI Agents SDK.
| Technology | Use When | Format/Protocol |
|---|---|---|
| REST APIs | Trigger actions from backend, query state | HTTP + JSON |
| SWML | Define call flows, IVR, AI interactions | YAML/JSON documents |
| Relay SDK | Real-time WebSocket control | JavaScript/Python |
| AI Agents SDK | Build voice AI agents | Python decorators |
| Call Fabric | Route between subscribers/resources | WebSocket framework |
| SWAIG | AI agent calls server-side functions | HTTP POST to your endpoint |
This skill combines technical API documentation with practical implementation guidance from real-world SignalWire deployments. Each workflow file includes:
These insights come from analysis of 89 SignalWire training videos, LiveWire sessions, and production deployments.
Getting Started:
Voice Calls:
AI Voice Agents: Start with Voice AI overview
Other:
Authentication: HTTP Basic Auth with Project ID (username) + API Token (password)
Space URL: All API requests go to https://{space-name}.signalwire.com
SWML Variables: %{call.from}, %{call.to}, %{params.custom_field}, %{args.user_input}
Webhooks: HTTP POST with JSON (call_id, call_state, from, to, direction)
Errors: REST returns HTTP status + JSON with error/message. SWML logs to Dashboard.
Call States: queued → created → ringing → answered → ended
SWML Sections: main (required entry point) | execute (call + return) | transfer (goto)
Resources: Subscribers, AI Agents, SWML Scripts, Video Rooms, SIP Gateways, Relay Apps (created via Dashboard or REST API)
SWML gather/prompt nodes can infinite loop. Always add counters:
- set:
loop_counter: "{{loop_counter | default(0) | int + 1}}"
- condition:
if: "{{loop_counter}} > 3"
then: hangup # Prevent caller stuck in loop
For complete patterns, see Inbound Call Handling.
IMPORTANT: For AI agent tasks, start with Voice AI - it covers 90% of use cases with examples and best practices.
Only load reference docs for: Complete API parameters, advanced features (Contexts/Steps, Prefabs), platform-specific deployment (Lambda/GCF/Azure), or debugging production issues.
See Voice AI workflow "When to Pull Additional Documentation" section for detailed guidance on when to use each reference document.
New to SignalWire? → Authentication & Setup
Building AI voice agent? → Voice AI
Making/receiving calls? → Outbound Calling or Inbound Handling
Debugging webhooks/callbacks? → Webhooks & Events
Need real-time control? → Fabric & Relay
https://{your-space-name}.signalwire.com