Skip to main content

Managing Your SignalWire Resources

Resources Overview

Resources are the primary entities for communication within the Call Fabric ecosystem. They are the building blocks of the system, representing the various communication elements that can be used to interact with subscribers. The different types of Resources can be found in the Resource Types section.


Creating Resources

To create a Resource in your SignalWire Space, you will need to click on the Resources tab in the left-hand navigation menu. From there, you can select the type of Resource you would like to create by clicking on the + Add button.

Resources Page on the SignalWire Dashboard. Two arrows points at the 'Resource' and 'Add New' option.
Resources Page

For example, if you would like to create a new Subscribers Resource, you would click on the Subscribers option.

Screenshot of the Resource selector screen.
Selecting a new Resource type.

After selecting the type of Resource you would like to create, you will be prompted to enter the details for the Resource on a new page. Upon completion, you can click on the Create button to create the Resource.


Editing Resources

To modify a Resource within your SignalWire Space, navigate to the Resources page and select the desired Resource. This action directs you to the details page of that Resource. Here, by selecting the Edit button, you can alter the specifics of the Resource.

Resource details page with the option to edit the Resource.
Editing Resources

Deleting Resources

From your Resources page, you can delete a Resource by clicking on the trashcan icon next to the Resource you would like to delete. This will prompt you to confirm the deletion of the Resource. Once you have confirmed the deletion, the Resource will be removed from your SignalWire Space.

Resources page and the option to delete the Resource.
Deleting Resources

Additionally, you can delete a Resource from the Resource's details page by clicking on the Delete button.

Resource details page and the option to delete the Resource.
Deleting Resources in Details Page

Resource Addresses

Each Resource is uniquely identified by its Address, allowing for precise targeting and interaction within the Call Fabric ecosystem. This simplifies the development process by providing a standardized way to handle different communication elements, and enhances flexibility, as developers can interact with a wide range of communication tools using a unified approach.

info

Resources can have multiple addresses, and addresses are mutable. For instance, you can map a SWML script and a Video Room to the same Resource Address. These addresses can be changed or deleted later as needed.

Each Resource Address has two components:

  • Context: A identifier that indicates in which context the resource is located.
  • Name: The name is the unique identifier for the resource.

For example, the address for an AI Agent resource named Alice-AI in the public context would be /public/Alice-AI.

tip

If you are interacting with a resource from within the same context, you can omit the context from the address. For example, if you are interacting with a Subscribers resource named Bob from within the private context, you can use the address /Bob instead of /private/Bob.

Once you have created a Resource, you can use the address to interact with it within the Call Fabric ecosystem. Additionally, you can view the created resource in the Resources tab of the SignalWire Dashboard. Here, you can view the address, type, and other details of the resource.

Picture showing the Resources Page on the SignalWire Dashboard. Two resources are created and shown in the list: 'Subscriber' and a `SWML Script'.
List of Resources

Contexts

Contexts in Call Fabric define the operational environment or 'scenario' under which resources operate. They determine how resources are routed and interact with each other.

Every Space has two contexts:

  • The public context exposes the Resource to anyone.
  • The private context exposes the Resource to Subscribers.

Benefits

Ensures structured and secure communication flows. Provides granular control over how different elements within the Call Fabric interact, enhancing customization and efficiency.


Resource Types

Subscribers

Subscribers represent registered end-users within the Call Fabric paradigm. In other words, subscribers are internal account-holders. As such, they always use the private context.

Subscribers are the focal points of communication, capable of receiving or initiating calls, messages, and other forms of interaction. The system facilitates smooth transitions between different communication modes, such as switching from a voice call to a video conference, or from a text chat to a voice call.

This offers a seamless user experience by allowing easy switching between different communication channels, and improves accessibility and convenience by catering to the preferences and needs of different users.

A subscriber Resource will have the following details:

DetailValue
EmailThe email address of the subscriber.
PasswordThe password for the subscriber.
First NameThe First name of the subscriber.
Last NameThe Last name of the subscriber.
Display NameThe display name of the subscriber.
Job TitleThe job title of the subscriber.
Company NameThe company name of the subscriber.
Time ZoneThe timezone of the subscriber, in TZ database name format.
CountryThe country of the subscriber.
RegionThe region of the subscriber.
AddressThe Resource Address of the subscriber.
The format of the Address is as follows: /<Context>/<Name>
(E.g. /private/Lenny)
Picture showing the details of a Subscriber on the SignalWire Dashboard.
Subscriber Details

Create a Subscriber from the Resources pane of your SignalWire Space using these instructions.


SWML Scripts

The SWML Resource type is used to create and manage SWML scripts. SWML allows you to write Relay applications using simple statements in a YAML or JSON document.

A SWML Resource will have the following details:

DetailValue
SWML ContentThe configuration of the SWML script.
IDThe alphanumeric ID assigned to the Resource on creation.
Details of a SWML Script on the SignalWire Dashboard.
SWML Script Details

For more information on SWML, please refer to the SWML documentation.


AI Agents

The AI Agent Resource type is used to create and manage AI agents.

For more information on AI Agents, please refer to the AI Agent Documentation.

An AI Agent Resource will have the following details:

Name and Personality Tab

DetailValue
NameThe name of the AI agent.
IntroductionThe introduction of the AI agent.
PersonalityThe personality of the AI agent.
LanguagesThe languages the AI agent can speak.
This section also includes voice selections from a number of TTS voice providers.

Skills and Behaviors Tab

DetailValue
SkillsUser defined skills for the AI agent, such as the ability to transfer calls.
Behaviors and KnowledgeUser defined behaviors or knowledge for the AI agent, such as hours of operation.

Conversation Flow Tab

DetailValue
Conversation Flow StepThe description of a certain step in a conversation flow.
Details of a SWML Script on the SignalWire Dashboard.
SWML Script Details

Relay Application

A Relay Application Resource will have the following details:

DetailValue
NameThe name of the Relay application.
ReferenceThe reference (previously known as Context) of the Relay application.
A given phone number can be configured with the desired Reference (E.g., "office").
That then assigns incoming calls to that number to be forwarded to the matching Relay application.
Details of a Relay App on the SignalWire Dashboard.
Relay App Details

For more information on Relay, please refer to the Relay documentation.


Video Room

The Video Room Resource type is used to create and manage Video Rooms.

For more information on Video Rooms, please refer to the Programmable API Video Documentation and Pre-built Video Conferencing Documentation.

The New Video Conference Room popup menu, with options for UI Included and Build From Scratch.
The Video Room creation menu

When creating a new Video Room Resource, select from two options: UI Included and Build From Scratch. A Video Room Resource will have the following details depending upon your selection:

UI Included Option

TabDetailValue
SettingsBetweenThe Starting time and date of the video room.
UntilThe Ending time and date of the video room.
NameThe name of the video room.
Video QualitySelect 1080p or 720p video quality.
LayoutThe layout of the video room, including grid-responsive, highlight-1-responsive, 1x1, 2x1, 2x2, 5up, 3x3, 4x4, 5x5, 6x6, 8x8, and 10x10.
Audience SizeSmall (max 10), Medium (max 50), and Large (max 300) audience size limits.
Automatic OptionsToggles to enable Room Previews, Record on Start, and Chat for the room.
AppearanceAll optionsAll settings in this section include a color selector for both light and dark themes, as well as a live theme preview.
BackgroundMain background color of the video room for light and dark themes.
ForegroundMain foreground color of the video room.
PrimaryColor for CTA buttons and selected items.
SuccessColor for success messages and notifications.
NegativeColor for error messages and notifications.
StreamingStream URLThe streaming interface, in which a URL to send the stream can be set using the RTMP and RTMPS protocols.
Details of a Video Room (UI included) on the SignalWire Dashboard.
Details of a Video Room (UI included)

Built From Scratch Option

TabDetailValue
SettingsNameThe name of the video room.
BetweenThe Starting time and date of the video room.
UntilThe Ending time and date of the video room.
Video QualitySelect 1080p or 720p video quality.
LayoutThe layout of the video room, including grid-responsive, highlight-1-responsive, 1x1, 2x1, 2x2, 5up, 3x3, 4x4, 5x5, 6x6, 8x8, and 10x10.
Automatic OptionsToggle Room Previews and Record on Start.
Details of a Video Room on the SignalWire Dashboard.
Details of a Video Room using the Build From Scratch option

FreeSWITCH Connector

The FreeSWITCH Connector Resource type is used to create and manage FreeSWITCH Connectors.

A FreeSWITCH Connector Resource will have the following details:

DetailValue
NameThe name of the FreeSWITCH Connector.
TokenThe token of the FreeSWITCH Connector.
Details of a FreeSWITCH Connector on the SignalWire Dashboard.
FreeSWITCH Connector Details

For more information on FreeSWITCH Connectors, please refer to the FreeSWITCH Connector Documentation.


Compatibility XML (LaML Webhook/Application)

The Compatibility XML (cXML) Resource type is used to create and manage LaML Webhook/Applications.

A cXML Resource has a single text box where the cXML script should be input.

Details of a cXML Webhook/App on the SignalWire Dashboard.
cXML Details

For more information on Compatibility XML, please refer to the cXML API Documentation.


Dialogflow Agent

The Dialogflow Agent Resource type is used to create and manage Dialogflow Agents.

The Import a Dialogflow Agent menu.
Importing a Dialogflow Agent

For more information on Dialogflow Agents, please refer to the Dialogflow Agent Documentation.

A Dialogflow Agent will be imported from the DialogFlow Console. You can learn more about this process here.