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.
For example, if you would like to create a new Subscribers
Resource, you would click on the Subscribers
option.
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.
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.
Additionally, you can delete a Resource from the Resource's details page by clicking on the Delete
button.
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.
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 a Subscribers
resource named Alice
in the public
context would be /public/Alice
.
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.
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:
Detail | Value |
---|---|
The email address of the subscriber. | |
Password | The password for the subscriber. |
First Name | The First name of the subscriber. |
Last Name | The Last name of the subscriber. |
Display Name | The display name of the subscriber. |
Job Title | The job title of the subscriber. |
Company Name | The company name of the subscriber. |
Time Zone | The timezone of the subscriber, in TZ database name format. |
Country | The country of the subscriber. |
Region | The region of the subscriber. |
Address | The Resource Address of the subscriber. The format of the Address is as follows: /<Context>/<Name> (E.g. /private/Lenny ) |
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:
Detail | Value |
---|---|
SWML Content | The configuration of the SWML script. |
ID | The alphanumeric ID assigned to the Resource on creation. |
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
Detail | Value |
---|---|
Name | The name of the AI agent. |
Introduction | The introduction of the AI agent. |
Personality | The personality of the AI agent. |
Languages | The languages the AI agent can speak. This section also includes voice selections from a number of TTS voice providers. |
Skills and Behaviors Tab
Detail | Value |
---|---|
Skills | User defined skills for the AI agent, such as the ability to transfer calls. |
Behaviors and Knowledge | User defined behaviors or knowledge for the AI agent, such as hours of operation. |
Conversation Flow Tab
Detail | Value |
---|---|
Conversation Flow Step | The description of a certain step in a conversation flow. |
Relay Application
A Relay Application Resource will have the following details:
Detail | Value |
---|---|
Name | The name of the Relay application. |
Reference | The 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. |
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.
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
Tab | Detail | Value |
---|---|---|
Settings | Between | The Starting time and date of the video room. |
Until | The Ending time and date of the video room. | |
Name | The name of the video room. | |
Video Quality | Select 1080p or 720p video quality. | |
Layout | The layout of the video room, including grid-responsive, highlight-1-responsive, 1x1, 2x1, 2x2, 5up, 3x3, 4x4, 5x5, 6x6, 8x8, and 10x10. | |
Audience Size | Small (max 10), Medium (max 50), and Large (max 300) audience size limits. | |
Automatic Options | Toggles to enable Room Previews, Record on Start, and Chat for the room. | |
Appearance | All options | All settings in this section include a color selector for both light and dark themes, as well as a live theme preview. |
Background | Main background color of the video room for light and dark themes. | |
Foreground | Main foreground color of the video room. | |
Primary | Color for CTA buttons and selected items. | |
Success | Color for success messages and notifications. | |
Negative | Color for error messages and notifications. | |
Streaming | Stream URL | The streaming interface, in which a URL to send the stream can be set using the RTMP and RTMPS protocols. |
Built From Scratch Option
Tab | Detail | Value |
---|---|---|
Settings | Name | The name of the video room. |
Between | The Starting time and date of the video room. | |
Until | The Ending time and date of the video room. | |
Video Quality | Select 1080p or 720p video quality. | |
Layout | The layout of the video room, including grid-responsive, highlight-1-responsive, 1x1, 2x1, 2x2, 5up, 3x3, 4x4, 5x5, 6x6, 8x8, and 10x10. | |
Automatic Options | Toggle Room Previews and Record on Start. |
FreeSWITCH Connector
The FreeSWITCH Connector Resource type is used to create and manage FreeSWITCH Connectors.
A FreeSWITCH Connector Resource will have the following details:
Detail | Value |
---|---|
Name | The name of the FreeSWITCH Connector. |
Token | The token of the FreeSWITCH Connector. |
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.
For more information on Compatibility XML, please refer to the Compatibility API Documentation.
Dialogflow Agent
The Dialogflow Agent Resource type is used to create and manage Dialogflow Agents.
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.