> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.
# Resources
> Learn about Resources on the SignalWire platform - what they are, how they work, and how to manage them in the Dashboard.
Resources are the core building blocks of the SignalWire ecosystem.
They are container objects that represent your choice of communication entity.
This can be anything from a SignalWire AI Agent or a SWML script, to a Subscriber that can be created, addressed and called within your SignalWire Space.
Every Resource has a **Type** and one or more **Addresses** that make it reachable, and all Resources share the same addressing and management model.
No matter what Resource you need you can create, configure, and call them all in the same consistent way.
## Resource types
SignalWire supports several Resource types. Some of the most common are:
#### [Subscribers](/docs/platform/subscribers)
Users in your communication system, with built-in authentication and communication endpoints.
#### [SWML Scripts](/docs/swml)
Programmable call logic written in SWML (JSON or YAML).
#### [cXML Scripts](/docs/compatibility-api/cxml)
Twilio-compatible call logic for migrating existing applications.
#### [SIP Credentials](/docs/platform/voice/sip/sip-credentials)
Register SIP devices and softphones to your Space.
#### [Video Rooms](/docs/platform/video)
Programmable multi-party video rooms.
Each of these Resource types use the same addressing and management patterns described below.
## Resource Addresses
Callers never dial a Resource directly. They dial one of its **Addresses**: a phone number, a SIP
Address, or an alias such as `/private/john-doe`, and SignalWire hands the call to the Resource.
SignalWire creates one alias from the Resource's name when you create it, and you can add more
Addresses of any type. The [Addresses guide](/docs/platform/addresses) covers each type,
contexts, and how to add and assign Addresses in the Dashboard and the REST API.
## Manage Resources
### With the REST API
Use the Resources endpoints to work with any Resource programmatically, regardless of type.
The generic Resources endpoint lets you [list](/docs/apis/rest/resources/list-resources) all Resources,
[retrieve](/docs/apis/rest/resources/get-resource) or [delete](/docs/apis/rest/resources/delete-resource) a Resource by
ID, and [list a Resource's Addresses](/docs/apis/rest/addresses/list-resource-addresses).
To **create** or **update** a Resource, use the endpoint for its specific type.
For example, if you wanted to create a new SWML Script you would utilize the [Create SWML Script](/docs/apis/rest/swml-scripts/create-swml-script) endpoint.
### In the Dashboard
The [SignalWire Dashboard](https://my.signalwire.com/resources) can also be used as your unified command center for your SignalWire Resources.
You can create, manage, edit, delete, and test your Space's Resources all from your web browser.
#### Create
#### Navigate to Resources
To create a Resource in your SignalWire Space, click on the **My 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.
#### Configure the Resource
Choose the type, fill in its form, and select **Create**. The fields depend on the type.
Open **My Resources** in the Dashboard's left sidebar. Resources are grouped as **AI Agents**, **Call Flows**, **FreeSWITCH Connectors**, **Relay Applications**, **Scripts**, **SIP**, **Subscribers**, and **Video Rooms**; select **+ Add** to create one.
Click the **Add** button to select from the grid of available Resource types.
The Resource picker offers **Script**, **AI Agent**, **Video Room**, **Relay Application**, **Subscriber**, **FreeSWITCH Connector**, **Call Flow**, and **SIP**. **Script** asks for a SWML or cXML Script, **AI Agent** for a Custom or Google DialogFlow Agent, and **SIP** for a SIP Credential or SIP Gateway.
Alternatively, you can create new Resources from their subpages in the sidebar menu, or using the shortcuts on the Dashboard homepage.
After selecting a Resource, enter the details for the Resource on a new page, and select Create to confirm.
#### Give it an Address
A new Resource is reachable at the alias SignalWire creates from its name. To take calls from the
phone network, assign it as a phone number's call handler, or add a SIP Address or another alias
from the Resource's **Addresses & Phone Numbers** tab. The [Addresses guide](/docs/platform/addresses#manage-addresses)
walks through each.
> **No Resources tab?**
>
> If you don't see the **My Resources** tab, your SignalWire Space is on the **Legacy Dashboard**,
> which does not support the Resources experience. [Contact Support](https://support.signalwire.com/)
> to upgrade your Space to the new UI.
#### Modify or delete
From the Resources page in your SignalWire Dashboard, select the desired Resource to open a detailed view.
Here, by selecting the `Edit` button, you can alter the specifics of the Resource.
The **My Resources** page lists each Resource's name, type, and last update time. Use its search and type filters to find a Resource, then select it to modify or delete it.
## Next steps
#### [Subscribers](/docs/platform/subscribers)
Manage the users in your communication system via subscribers.
#### [Addresses](/docs/platform/addresses)
Phone numbers, SIP Addresses, and aliases: how a Resource is reached and how to assign them.
#### [Resources REST API](/docs/apis/rest/resources/list-resources)
List, retrieve, and delete Resources programmatically.
> Learn about Resources on the SignalWire platform - what they are, how they work, and how to manage them in the Dashboard.