Contact Sales

All fields are required

Introducing a New Document-Based Call Flow Markup: SWML | SignalWire

Introducing a New Document-Based Call Flow Markup: SWML

SWML brings the power of FreeSWITCH to the world of CPaaS


Anthony Minessale

Real-time communication technologies, such as PSTN, SIP, and WebRTC have revolutionized the way we connect with each other. However, managing and customizing these communication channels can be a complex task.

That's where SignalWire Markup Language (SWML) comes in. SWML is a JSON representation of a call flow that instructs servers how to behave during real-time communications. It is similar to traditional CPaaS solutions, but offers more flexibility and power thanks to the underlying technology stack.

In this post, we will explore the features and benefits of SignalWire SWML, discuss its advantages over older CPaaS solutions, and provide some use case examples to demonstrate its capabilities.

Understanding SignalWire SWML

SWML is a powerful tool that allows businesses to define their call flows and customize their Interactive Voice Response (IVR) systems. It provides a set of instructions for various IVR functions, enabling businesses to create AI-powered virtual assistants, gather information from callers, and execute remote procedure calls for instant processing.

One of the key advantages of SWML is its integration with FreeSWITCH, which offers a wide range of features and flexibility. With SWML, businesses can build AI-powered IVRs that can understand natural language, interact with callers, and perform complex tasks. This opens up a world of possibilities for businesses to create personalized and efficient communication systems.

Key Features of SignalWire SWML

Visual Editor: Call Flow Builder

SignalWire provides a visual editor called the Call Flow Builder, which allows users to create and customize their call flows using SWML. The Call Flow Builder simplifies the process of designing complex call flows by providing a drag-and-drop interface. Users can easily add and configure various IVR functions, define AI behaviors, and create seamless communication experiences.

AI-Powered IVRs

SWML enables businesses to build AI-powered IVRs that can understand and respond to natural language. By configuring a language model, businesses can create virtual assistants that can gather information from callers, execute remote procedure calls, and provide instant responses. This opens up new possibilities for businesses to automate processes, improve customer service, and enhance overall communication experiences.

Spaces and Resources

SignalWire is divided into spaces, where each organization can create their own space and define API users and subscribers. Subscribers and public callers can connect to a SignalWire space through mapped addresses, similar to extensions in a PBX. These addresses lead to resources created by the space owner and represent various entities that can be called.

Resources can include scripts powered by SWML, multiparty conferences (rooms), authenticated users using mobile apps or SIP registration (subscribers), AI agents defined in the space, call queues, and more. SWML can route calls to different resources, allowing businesses to create complex call flows and provide a seamless communication experience.

REST APIs and Provisioning

SignalWire implements everything as REST APIs, allowing businesses to provision and manage their communication resources programmatically. Users can create, update, and delete resources using REST calls, either directly or through a remote service. This provides businesses with the flexibility to integrate SignalWire into their existing systems and automate various communication processes.

Advantages of SignalWire SWML over older CPaaS solutions

While older CPaaS solutions have been a popular choice for building IVRs and managing call flows, SignalWire SWML offers several advantages that make it a more modern and powerful solution.

JSON-Based Format

SWML is based on JSON (JavaScript Object Notation), a lightweight data-interchange format. Unlike older CPaaS solutions, which use XML, SWML's JSON-based format is more modern and aligns with the industry's shift towards using JSON for data exchange. Programming languages widely support JSON, and JSON provides a more flexible and readable format for defining call flows.

Complete Call Flow in a Single Document

SWML allows users to express a complete call flow as a single document. This means that all the instructions and configurations for a call flow can be contained within a single SWML document, eliminating the need to fetch additional information from external sources. This makes it easier to manage and transfer call flows between different sections within the document. This also allows more low-code no-code possibilities for simple call flows.

Powered by FreeSWITCH

Like much of SignalWire, SWML is powered by FreeSWITCH, an open-source communication platform built by the founders of SignalWire and known for its flexibility and extensive feature set. This power is harnessed and made available to everyone in a secure, easy-to-understand cloud interface.

Unified Audio and Video Support

SignalWire provides support for both audio and video calls and APIs over a single media service. This means that businesses can seamlessly transition between audio and video communication channels without needing separate services or configurations. This unified support for audio and video sets SignalWire SWML apart from traditional CPaaS solutions and makes it a more versatile solution.

Use Case Examples

To better understand the capabilities of SignalWire SWML, let's explore some use case examples:

AI-Powered Virtual Assistant

Imagine a business that receives a high volume of customer calls and wants to automate the process of gathering information from callers. With SignalWire SWML, the business can create an AI-powered virtual assistant that can understand natural language and interact with callers. The virtual assistant can ask questions, collect information, and execute remote procedure calls to retrieve relevant data. This not only improves efficiency, but also enhances the overall customer experience.

Call Queues and Routing

A customer support center often receives a large number of incoming calls, and it's crucial to handle them efficiently. SignalWire SWML allows businesses to create call queues where callers can get in line to talk to a support representative.

SWML can be used to route calls to the appropriate queue based on various criteria, such as caller preferences, agent availability, or the nature of the inquiry. This ensures that callers are connected to the right person and reduces wait times.

Multiparty Conferences

SignalWire SWML enables businesses to create multiparty conferences, also known as rooms. These conferences can be used for various purposes, such as team meetings, webinars, or virtual events.

SWML allows businesses to define the behavior of the conference, such as who can join, how participants are muted or unmuted, and what actions can be performed during the conference. This provides businesses with the flexibility to create customized conference experiences tailored to their specific needs.

Secure Data Collection

In certain scenarios, businesses may need to collect sensitive information from callers, such as personal identification numbers or credit card details. SignalWire SWML provides a secure way to handle such data by allowing businesses to create secure subroutines within the call flow. These subroutines can be used to collect and verify sensitive information without involving the AI-powered virtual assistant. This ensures that sensitive data remains private and secure.

Security and Privacy

SignalWire takes security and privacy seriously. All APIs use encryption, ensuring that data is transmitted securely between the client and the server. In telephony signaling, callers can only interact via voice or by dialing digits, limiting the potential for unauthorized access. In web applications, data is sent over a secure connection to the server, protecting it from interception or tampering.

When it comes to AI-powered interactions, SignalWire SWML provides a mechanism called SWAIG (SignalWire AI Gateway) to handle sensitive data collection. SWAIG allows businesses to section off any sensitive data collection, ensuring that it happens in a secure and isolated environment.

For example, businesses can define a SWAIG function to authenticate callers, which can be executed using SWML. This approach keeps sensitive data separate from the conversation and minimizes the risk of data breaches.


SignalWire SWML is a powerful tool that empowers businesses to create customized and efficient communication systems. With its JSON-based format, integration with FreeSWITCH, and support for AI-powered virtual assistants, SWML offers a modern and flexible solution for managing call flows.

Whether it's building AI-powered IVRs, creating multiparty conferences, or routing calls to different resources, SWML provides businesses with the tools they need to deliver exceptional communication experiences.

SignalWire SWML is poised to become the go-to choice for building robust and scalable communication systems. Its ease of use, extensive feature set, and focus on security make it an ideal solution for businesses of all sizes.

So, if you're looking to take your communication systems to the next level, consider SignalWire SWML. With its powerful capabilities and seamless integration with FreeSWITCH, SWML is the future of real-time communications.

To learn more about SignalWire SWML and how it can benefit your business, sign up for a free test account, and bring any questions you have to our community Slack or forum.

Related Articles