Skip to main content
Version: 1.28 (Current)

Delete Page (Soft)

Audience: Low-code Engineers

Skill Prerequisites: Actions, Tokens

Marks a DNN page and all its child pages as deleted. The pages stay in the database, so they can be restored from the site's Recycle Bin.

note

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​

  • Remove a customer's or project's page when the record is archived, with the option to bring it back
  • Let editors remove pages they created, without losing them for good
  • Clean up pages created by Create Page during testing

Don't use it to​

Soft or hard delete​

Delete Page (Soft)Delete Page (Hard)
The pageMarked as deleted, kept in the databaseRemoved from the database
Child pagesMarked as deleted tooRemoved too
Modules on the pageLeft as they areRemoved with the page
Can be restoredYes, from the Recycle BinNo
If the page isn't foundNothing happens, no errorThe action doesn't check first
Action NameDescription
Delete Page (Hard)Deletes a page and its child pages permanently.
Load PageChecks a page's details before you delete it.
Update PageHides or moves a page instead of deleting it.
Delete Module (Soft)Moves a single module to the Recycle Bin.
Delete PortalDeletes a whole portal.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
Page IdentifierThe page to delete. Leave it empty to delete 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.Yesempty stringNo

Output Parameters Reference​

This action doesn't produce output tokens.

Considerations​

  • Child pages are deleted too. Every page below the page, at any depth, is marked as deleted.
  • Don't leave the identifier empty by accident. An empty identifier deletes the current page, the one the form or listing is on. In a workflow or API with no current page, it fails with Could not get current page.
  • Names are ambiguous. Only the first page with a matching name is used. Prefer IDs or paths.
  • Page paths put // before each level, and spaces and other symbols are left out of the page names, for example //AboutUs//OurTeam for the page Our Team under About Us.
  • No match, no error. If the identifier doesn't match a page, nothing is deleted and no error is raised.
  • Special pages aren't protected. The action doesn't stop you from deleting the home page or other pages the site depends on. Add a condition.
  • There's no permission check in the action. Anyone who can run it can delete pages. Only put it where trusted users can reach it.

Examples​

tip

To understand how to use the below examples, please see Running Examples.

1. Delete a project's page when the project is archived​

This action moves the page whose ID is in [ProjectPageId], and all its child pages, to the Recycle Bin when the project's status is Archived.

{
"Title": "Delete Page (Soft)",
"ActionType": "SoftDeletePage",
"Description": "Move the archived project's page to the Recycle Bin",
"Condition": "[Status] == \"Archived\" && [ProjectPageId] != \"\"",
"Parameters": {
"PageId": "[ProjectPageId]"
}
}

Revised 09/27/2026