# `CustomPage`

An interface that provides the ability to add custom pages to the [<UserProfile />](/content/docs/nextjs/reference/components/user/user-profile/index.html) or [<OrganizationProfile />](/content/docs/nextjs/reference/components/organization/organization-profile/index.html) components.

## [Attributes](/content/docs/nextjs/reference/types/custom-page#attributes/index.html)

- **Name** `label`  
  **Type** `string`  
  **Description**  
  The label of the custom page. It is a required property.

- **Name** `url`  
  **Type** `string | undefined`  
  **Description**  
  The path segment that will be used to navigate to the custom page. It should be relative when providing a custom page and absolute when providing a custom link.

- **Name** `mountIcon`  
  **Type** `((el: HTMLDivElement) => void) | undefined`  
  **Description**  
  This function is called to mount the icon of the label. The `el` argument is the element where the icon should be mounted.

- **Name** `unmountIcon`  
  **Type** `((el?: HTMLDivElement) => void) | undefined`  
  **Description**  
  This function is called to unmount the icon of the label. The `el` argument is the same element that was passed to the `mountIcon` function.

- **Name** `mount`  
  **Type** `((el: HTMLDivElement) => void) | undefined`  
  **Description**  
  This function is called to mount the content of the custom page. The `el` argument is the element where the content should be mounted.

- **Name** `unmount`  
  **Type** `((el?: HTMLDivElement) => void) | undefined`  
  **Description**  
  This function is called to unmount the content of the custom page. The `el` argument is the same element that was passed to the `mount` function.
