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
/plugin marketplace add signalwire/signalwire-claude/plugin install signalwire-builder@signalwireThis 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