> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# Quickstart

> Deploy your first SWML script in minutes with this step-by-step guide

This guide will walk you through deploying your first SWML script to handle incoming calls. By the end of this quickstart, you'll have a working phone number that runs your SWML application.

## Prerequisites

Before you begin, make sure you have:

* A [SignalWire account](https://signalwire.com/signups/new)
* A SWML script ready for deployment

## Deploy your SWML script

<Steps>
  ### Create new script

  From your [SignalWire Dashboard](https://my.signalwire.com),
  click **Script**, then **SWML script**.
  This will open the New SWML Script dialog box.

  Paste your SWML Script into the Primary Script field, then select **Create**.

  If necessary, copy and paste the below example script:

  <CodeBlocks>
    <CodeBlock title="YAML">
      ```yaml
      version: 1.0.0
      sections:
        main:
          - answer: {}
          - play:
              url: "say:Hello World!"
          - play:
              url: "say:Congratulations on successfully deploying your script!"
          - hangup: {}
      ```
    </CodeBlock>

    <CodeBlock title="JSON">
      ```json
      {
        "version": "1.0.0",
        "sections": {
          "main": [
            {
              "answer": {}
            },
            {
              "play": {
                "url": "say:Hello World!"
              }
            },
            {
              "play": {
                "url": "say:Congratulations on successfully deploying your script!"
              }
            },
            {
              "hangup": {}
            }
          ]
        }
      }
      ```
    </CodeBlock>
  </CodeBlocks>

  Your script will be saved in the "My Resources" section under "Scripts".

  It will remain housed here under the name you provide for easy reference.

  ### Assign a phone number

  * Navigate to **Phone Numbers** in your Dashboard.
  * Purchase a phone number if needed by clicking the "+ New" button in the top right hand corner of the page.
  * Click on your phone number, then click "Edit Settings".
  * Click on "+ Assign Resource", then assign your SWML Script.

  ### Test your application

  Call your assigned phone number to test your SWML application.
</Steps>

<AccordionGroup>
  <Accordion title="In the Legacy Dashboard">
    You can write and save new SWML scripts from the "RELAY/SWML" section of your Dashboard.
    In that section, switch to the tab named [SWML Scripts](https://my.signalwire.com/relay-bins).
    Once there, you can create a new SWML script:

    ![Image](https://files.buildwithfern.com/signalwire.docs.buildwithfern.com/docs/88ea754c90d94c8d1ba326ee4eafe81244ba183d3d4f2639fa6f9b5c3b10aa0f/assets/images/swml/new-swml-2.png)

    After you save the SWML, navigate to the [Phone Numbers](https://my.signalwire.com/phone_numbers) page.
    Open the settings for a phone number you own (you may have to buy a new one),
    and configure it to handle incoming calls using the SWML script you just saved.

    ![Image](https://files.buildwithfern.com/signalwire.docs.buildwithfern.com/docs/84445dcd8d71f2b55fb4c9dcbd167f427db4672db9b07520f129e621b5aef8db/assets/images/swml/add-phone-number.png)
  </Accordion>

  <Accordion title="Learn about the Legacy Dashboard migration">
    For SignalWire Spaces created before January 2025

    Identify your Dashboard and select between Legacy and New UIs using the tabs below.

    <Tabs>
      <Tab title="New Dashboard">
        ![The redesigned main menu.](https://files.buildwithfern.com/signalwire.docs.buildwithfern.com/docs/6678866f5b7ddb6c8ae8144cd856fe7d58ceec89cdb47390b85c713e6bc77564/assets/images/dashboard/home/new-dashboard-tall.webp)

        The new SignalWire Dashboard features a streamlined sidebar menu. Many items are now located in the unified My Resources menu.

        Resources that were previously accessible in the sidebar of the legacy UI are now located in the unified **My Resources** menu.
      </Tab>

      <Tab title="Legacy Dashboard">
        ![The legacy main menu.](https://files.buildwithfern.com/signalwire.docs.buildwithfern.com/docs/fb8eb3b3dd0b6abb9b05faa3ad7861ce355231e20568b5ff3bc0c825adff20da/assets/images/dashboard/legacy/sidebar.webp)

        In the Legacy Dashboard, there is no **My Resources** tab.

        Instead, Resources are accessible as individual tabs in the main navigational sidebar.

        To upgrade your Space to the New UI, [contact Support](https://support.signalwire.com/).
      </Tab>
    </Tabs>
  </Accordion>
</AccordionGroup>

## Next steps

Now that you've deployed your first SWML script, explore these resources:

<Cards>
  <Card title="Methods reference" href="/docs/swml/reference">
    Explore all available SWML methods
  </Card>

  <Card title="SWML AI guides" href="/docs/swml/guides">
    Learn how AI methods are used in SWML
  </Card>

  <Card title="Deployment" href="/docs/swml/guides/deployment">
    Learn about deploying SWML via your own web server
  </Card>

  <Card title="Agents SDK quickstart" href="/docs/server-sdks/guides/quickstart">
    Get started with the AI Agents SDK
  </Card>
</Cards>