--- id: pages title: Pages --- Pages allows you to have multiple pages in a single application, making your ToolJet applications more robust and user-friendly.
Multi-page app
## Pages Panel You can open the **Pages Panel** by clicking on the **Pages** icon on the left sidebar of the app-builder.
Pages Panel
## Panel Options - **[Add Page](#add-page)** - **[Settings](#settings)** - **[Pin](#pin)** - **[Search](#search)** ### Add Page On the header of the Pages Manager, the **+** button that allows you to add more pages to your application
Pages Panel
On clicking the **+** button, a new page will be added, enter the name for the page and press enter.
Pages Panel
### Settings From **Settings**, you can hide the **page navigation sidebar** in viewer mode, by enabling the **Disable Menu** option.
Pages Panel
### Pin You can pin the pages panel from the **Pin** button and the panel won't close until you **unpin** it.
Pages Panel
### Search If there are many pages on the panel then you can use the **Search bar** to look for specific page.
Pages Panel
## Page options There are several options available for a Page. To use these options, click on the kebab menu on the right of the page card. - **[Page Handle](#page-handle)** - **[Rename](#rename)** - **[Mark Home](#mark-home)** - **[Hide Page on app menu](#hide-page-on-app-menu)** - **[Duplicate](#duplicate)** - **[Event Handlers](#event-handlers)** - **[Disable Page](#disable-page)** - **[Delete Page](#delete-page)**
Pages Panel
### Page Handle Page Handle is the slug that is added at the end of the application URL. Page Handle get its default value when the page name is entered on the creation of the page. You can change the Page Handle from this option.
Pages Panel
### Rename Rename option will allow you to rename the page.
Pages Panel
### Mark Home Mark home option can be used to make a page the default landing page of the application, so whenever the app will be loaded the page that is marked home will be loaded.
Pages Panel
:::info The page which is marked home will have a **Home** icon on the left of the Page Card.
Pages Panel
::: ### Hide Page on app menu Hide Page option can be used to hide a page from the **page navigation sidebar** in viewer mode.
Pages Panel
:::info If a page is hidden then you'll see an **eye** icon on the right of the card.
Pages Panel
::: You can go to the options again and **unhide** the app from the **page navigation sidebar**
Pages Panel
:::info After hiding a page, although the page may not appear in the pages navigation sidebar, it can still be accessed by utilizing either the **switch page action** or the **page URL**.
Pages Panel
::: ### Duplicate The duplicate page option allows you to create and add a copy of the page in the pages list. The duplicated page will be an exact replica of the original page.
Pages Panel
### Event Handlers Just like other Event Handlers on ToolJet, you can add event handlers too pages too. Currently, there is **On page load** event available. You can use all the available actions for this event along with the new actions added specifically for the pages: - **[switch page](/docs/actions/switch-page)** - **[set page variable](/docs/actions/set-page-variable)** - **[unset page variable](/docs/actions/unset-page-variable)**
Pages Panel
### Disable Page Disable page option can be used to disable a page. A disabled page won't be accessible in the viewer mode. **Note:** Page marked as **home** can't be disabled.
Pages Panel
### Delete Page You can **delete** a page from an application using this option.
Pages Panel
:::info If a page is **Marked Home** then you won't be able to delete and the delete page option will be disabled.
Pages Panel
::: ## Exposed variables | Variable | Description | | ----------- | ----------- | | `handle` | The `handle` represents the slug of the `page` within an app. In the URL `https://app.tooljet.com/applications/crm2/home`, `crm2` refers to the app name, and `home` corresponds to the handle. The handle is automatically set when a page is added, and you can also [rename](/docs/tutorial/pages#page-handle) the `handle` from the Page options. To access the value of the `handle` variable dynamically, use **`{{page.handle}}`**| | `name` | The `name` indicates the name of the page set during its creation. To access the value of the `name` variable dynamically, use **`{{page.name}}`** | | `id` | Each page in the ToolJet app receives a unique identifier upon creation. To access the value of the `id` dynamically, use **`{{page.id}}`** | | `variables` | `variables` is an object that contains all the variables created for a specific page using the **[Set Page variable](/docs/actions/set-page-variable)** action. The value of a specific variable can be accessed dynamically using **`{{page.variables.}}`**, where `` refers to the variable created for that page using the Set Page variable action. |