> For the complete documentation index, see [llms.txt](https://docs.adastacks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adastacks.com/stacks/shorten-a-url.md).

# Shorten a URL

## Walkthrough

**1.** Login to [Adastacks.com](https://adastacks.com) and navigate to your dashboard (we'll need this for your API Key in a minute)

**2.** Open a new tab in your browser and open up your Adalo app in the Adalo editor

**3.** Once open, place a test button on a screen of your choosing

**4.** Under the "Click Actions" for the button, select **Custom Action**

**5.** Give your action a name, such as "Shorten a URL"

**6.** Select the **Create** option from the dropdown below the Title field, then click **Next**

**7.** Copy the following URL and paste it into the Base URL field of the Custom Action

```
https://adastacks.app.n8n.cloud/webhook/shortenURL?url=LONGURL
```

**8.** Set the "Method" dropdown to **POST**

**9.** Add a query parameter called **Content-Type** with the value **application/json**

![](/files/-MaZ7zEwCloG89ck9zcf)

**10.** Add another query parameter called **api\_key** with your Adastacks API Key as the value

![](/files/-MaZwnVzXtyllh_lmNuA)

**11.** Add an **Input** to hold your data for the new Custom Action (*You can name this whatever you like, but below is a suggestion*)

| Suggested Input Name    | Input Type | Suggested Input Test Data |
| ----------------------- | ---------- | ------------------------- |
| **URL to be Shortened** | Text       | *Should be any valid URL* |

**12.** Replace the **capitalized text** in the URL with the **Inputs** you just made using the **Magic Text** button in the top right of the URL field.

![](/files/-MjMcWJTq0PJxWjO71op)

**13.** Run the test request. (See the success screenshot below)

{% hint style="info" %}
Even test actions that fail return a "Test Successful" message so be sure to click **Show Full Response** to ensure the action succeeded. This is by design so that you can still save the action and return to continue setting it up later if you wish.
{% endhint %}

![](/files/-MjMclgcXx9xAxe-TBkJ)

**14.** Save the Custom Action and add it where you need it throughout your app.
