Update Page
Audience:
Low-code EngineersSkill Prerequisites:
Actions,Tokens
Changes an existing DNN page. You can rename it, change its title, menu visibility, description, keywords and dates, move it under another parent, and change its permissions and custom settings.
Empty parameters are left alone, so you only fill in what you want to change. The page's new URL can be saved in a token.
This action is part of the Portal Management add-on, which is installed and licensed separately (feature package PORTAL). If it isn't licensed, the action fails with a not-licensed error.
Typical Use Cases
- Rename a page when the record it belongs to is renamed, and keep its URL in a token
- Hide a page from the menu or show it again
- Move a page under another parent
- Change who can view or edit a page, for example from a Permission Grid field
Don't use it to
- Change the page's modules or content. Use Update Module or Update HTML Module instead.
- Change the page's theme (skin) or container. Other Settings only writes custom page settings.
- Clear the description, keywords, title or dates. Empty values are ignored, so these can't be cleared with this action.
- Delete a page. Use Delete Page (Soft) or Delete Page (Hard) instead.
Related Actions
| Action Name | Description |
|---|---|
| Load Page | Reads a page's current details into tokens. |
| Create Page | Creates a new page. |
| Delete Page (Soft) | Moves a page to the Recycle Bin. |
| Delete Page (Hard) | Deletes a page permanently. |
| Update Module | Changes a module on the page. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| Page Identifier | The page to update. Leave it empty to update the current page. Otherwise enter a page (tab) ID, a page path such as //Projects//Alpha, or a page name. It's tried in that order: a number is always treated as an ID, then a path is looked up, and then the first page with that name is used. | Yes | empty string | No |
| Page Name | The new page name. Changing it changes the page's URL. Leave it empty to keep the name. | Yes | empty string | No |
| Page Title | The new page title. Leave it empty to keep the title. | Yes | empty string | No |
| Show In Menu | Whether the page appears in the menu. Use true/false or 1/0. Leave it empty to keep the current setting. Any other value fails the action with Could not parse boolean ShowInMenu value. | Yes | empty string | No |
| Parent Page (select) | The page to move this page under, selected from the list. It's only used when Parent Page (text) is empty or not a number. | No | empty string | No |
| Parent Page (text) | The ID of the page to move this page under, for example [NewParentId]. It has priority over the select when it's a number. Use -1 to make it a root page. A value that isn't a number is ignored. | Yes | empty string | No |
| Page Description | The new meta description. Leave it empty to keep the description. | Yes | empty string | No |
| Page Keywords | The new meta keywords. Leave it empty to keep the keywords. | Yes | empty string | No |
| Start Date | The new date from which the page is visible. A value that isn't a valid date is ignored. | Yes | empty string | No |
| End Date | The new date after which the page is no longer visible. A value that isn't a valid date is ignored. | Yes | empty string | No |
| Permissions | A list of page permissions to replace. In the first column, enter a permission key (for example VIEW or EDIT) or name (for example View Tab). In the second, enter role IDs or role names separated by commas or semicolons. Each listed permission is removed from all roles and then granted to the roles you enter. An empty role list removes the permission from everyone. Permissions you don't list are kept. The second column supports tokens, including [PermissionGrid:PermissionName] from a Permission Grid field. | Yes (role list) | empty | No |
| Other Settings | A list of custom page settings, as name and value pairs. Each one is added or overwritten. The value supports tokens. | Yes (value) | empty | No |
Output Parameters Reference
| Parameter | Description |
|---|---|
| Store URL in Token | The name of the token that receives the page's full URL after the update, for example PageUrl. Square brackets are optional. It's useful after a rename, because the URL changes. |
Considerations
- No match, no error. If the identifier doesn't match a page, the action ends quietly, nothing is changed and the URL token isn't set.
- Names are ambiguous. Only the first page with a matching name is used. Prefer IDs or paths. A number is always treated as an ID.
- Page paths put
//before each level, and spaces and other symbols are left out of the page names, for example//AboutUs//OurTeamfor the page Our Team under About Us. - Empty identifier needs a page. In a workflow or API with no current page, an empty identifier fails with
Could not get current page. - Keep Administrators in the role list when you replace a permission, or administrators lose it on that page.
- There's no permission check in the action. Anyone who can run it can change the page, including its permissions. Only put it where trusted users can reach it, and add a condition as a second guard.
- Dates are parsed in the server's culture. Use an unambiguous format, for example
2026-10-01. - Test moves and renames together. When you rename and move a page in the same action, check the new URL in the token.
Examples
To understand how to use the below examples, please see Running Examples.
1. Rename a project page and hide it from the menu
This action renames the page whose ID is in [ProjectPageId], hides it from the menu, lets only the Project Team and Administrators roles view it, and saves the new URL in [ProjectPageUrl].
{
"Title": "Update Page",
"ActionType": "UpdatePage",
"Description": "Rename and restrict the project page",
"Condition": "[ProjectPageId] != \"\"",
"Parameters": {
"PageId": "[ProjectPageId]",
"PageName": "[ProjectName]",
"PageTitle": "[ProjectName] - Project Workspace",
"ShowInMenu": "false",
"Permissions": [
{
"name": "VIEW",
"value": "Administrators;Project Team"
}
],
"TokenNameForUrl": "ProjectPageUrl"
}
}
Revised 09/27/2026