Prompt – Documentation

Find the button to show and hide the Prompt command input box in the Prompt Tab in the Revit Ribbon. This panel can be docked to the top or bottom of your screen.

Once shown, the following commands can be entered. Begin entering a command a drop-down autocomplete allows for selection amongst all matching commands.

Execute commands by pressing the Return key or clicking the “Enter” button.

The following is a list of commands, give in the following style:

command items  example command
Description of command

id  id
Returns the Revit ID of the current selection.


select id “Element Id”  select id “12345”
Selects the element with matching Revit Id

select category  select walls
Selects all elements of category

select category “property=value”  select walls “Comments=replace”
Selects all elements of category, where the specified parameter has a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.

select “property=value”  select “Comments=replace”
Selects all elements where the specified parameter has a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.


filter category  filter walls
Modifies the current selection – unselects all elements that aren’t of the specified category

filter category “property=value”  filter walls “Comments=replace”
Modifies the current selection – unselects all elements that aren’t of the specified category or where the specified parameter does not have a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.

filter “property=value”  filter “Comments=replace”
Modifies the current selection – unselects all elements where the specified parameter does not have a certain value. Note: as elsewhere in Revit, parameters are case-sensitive.


parameter-set “ParameterName” “Value”  parameter-set “Type Make” “X01”
Sets the value of the specified parameter to “Value” – Type or Instance.
Operates on selected elements. If no selection, will show all parameter occurrences.

parameter-set-auto “ParameterName” “Text-{ParameterName}-{0000}”  parameter-set “Mark” “AB-{Type Mark}-{Level}-{00}”
Sets the value of the specified parameter, including auto-generated fields:
– To include the value of another parameter: Use {ParameterName} where ParameterName is the name of the other Parameter
– To include an automatically generated sequential number {0000} – the number of zeros will pad values, e.g. 0001 instead of 1.
The example above will produce values like: “AB-C01-Level 1-06”
Operates on selected elements. If no selection, will show all parameter occurrences.

parameter-clear “ParameterName”  parameter-clear “Type Mark”
Clears the value of the specified parameter – Type or Instance.
Operates on selected elements. If no selection, will show all parameter occurrences.

parameter-list  parameter-list
Shows information about all parameters relevant to current selection, including: name, storage type, value and others.
Operates on selected elements. If no selection, will show all parameter occurrences, which may take a very long time.

parameter-validate “Parameter” “$X*9*”  parameter-validate “Mark” “A01”
parameter-validate category “Parameter” “$X*9*”  parameter-validate doors “Mark” “A01”
If category is specified, will review parameter values for all elements of that category. If no category is specified, it will operate on current selection. If no selection, it will operate on all elements.
Will review parameter values and confirm whether the value follows the code specified. In the code:
– a letter is used to specify a single letter, e.g. “A” = A or B or C, etc.
– a number is used to specify a single number, e.g. “9” = 1 or 2 or 3 etc.
– an asterisk after is used to specify any number of the previous, e.g. “9*” = 1 or 1234 or 555 etc.
– a dollar sign before is used to specify that exact number or letter, e.g. “$W1” = W1, W2, W2, etc.

parameter-compare “ParameterName1” “ParameterName2”  parameter-compare “Mark” “Type Mark”
Compares the values of the specified parameters across all elements in the model. You can include as many parameters as you wish.
No selection is required or considered.

parameter-merge “ParameterName1” “ParameterName2”  parameter-merge “Intended_Use” “Intended Use”
Merges the values of multiple parameters into one. It does this by using the first parameter (ParameterName1) as the parameter, and the last parameter in the list as the value. Blank values are not copied, so in cases where “ParameterName2” has no value, “ParameterName1” will be unchanged. You will be prompted if you wish to clear the values of all parameters except ParameterName1. You can merge multiple parameters.
No selection is required or considered.

parameter-map “ParameterName” “replace this=with this”  parameter-map “FireRating” “60min=60”
Replaces characters in a parameter value with others. Useful for normalising parameter values.
No selection is required or considered.

parameter-normalize “ParameterName1”  parameter-normalize “Comments”
parameter-normalize “ParameterName1” “separator”  parameter-normalize “Comments” “-“
For all parameter values: removes redundant whitespace and ensures no special characters.
If a separator is specified, replaces all occurrences of “-” and “_” and ” ” with the separator character.
No selection is required or considered.

parameter-normalize-uppercase  parameter-normalize-uppercase “Comments”
Works as per “parameter-normalize” but changes value to entirely uppercase.
No selection is required or considered.

parameter-normalize-lowercase  parameter-normalize-lowercase “Comments”
Works as per “parameter-normalize” but changes value to entirely lowercase.
No selection is required or considered.


snapshot  snapshot
snapshot category snapshot walls
snapshot-all snapshot-all
snapshot-all category snapshot-all walls
Records all element metadata (Type and Instance parameter values) to an external file which can be loaded, or compared to current model at a later date. Note: this will not save geometry, location or System Family definition data.
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category

snapshot-instance  snapshot-instance
snapshot-instance category  snapshot-instance walls
Records all element Instance parameter values to an external file which can be loaded, or compared to current model at a later date
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category

snapshot-type  snapshot-type
snapshot-type category  snapshot-type walls
Records all element Type parameter values to an external file which can be loaded, or compared to current model at a later date. Note: this will not save geometry, location or System Family definition data.
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category

snapshot-compare snapshot-compare
Will show a table with element-by-element data highlighting where metadata is different between the snapshot metadata and current model. The command uses a series of information to match elements from the snapshot with those in the current model and may categorise them as: Matching, Potential Match or No Matches.
Will operate on current selection – Current model data can be filtered by making a selection before running the command

snapshot-load snapshot-load
Operates in the same manner as snapshot-compare, but then on confirming will attempt to overwrite the data in the current model with that in the Snapshot. Note: this takes no consideration as to whether a parameter is being used to control geometry (parametric) and therefore may also modify the geometry of the model.
Will operate on current selection – Current model data can be filtered by making a selection before running the command


preflight-types  preflight-types
preflight-types category  preflight-types walls
Reviews all occurrences of Types and detects any potentially duplicated Types (multiple Types with near-matching values), or elements that have Instance parameters with matching values (ie Instance parameters that could be Type parameters), or any Types that have not been used in the model. It also reports on duplicate Type Marks.
Will operate on current selection, or if no selection, will operate on all elements (this may take a long time).
If category specified, it will filter selection to only operate on elements matching that category

preflight-parameters  preflight-parameters
preflight-parameters “ParameterName”  preflight-parameters “RequiredParameter”
If no parameter names are specified in the command line, it will ask to open a text file that should contain a list of parameter names and generates a report on how extensively these parameters have been applied and filled in the project.
No selection is required or considered.


runscript  runscript
Loads a text file that should contain a list of commands (any of the above). The app will sequentially run through these commands.
No selection is required or considered.


help  help
Shows a list of commands, syntax and explanations.

privacy privacy
Shows the privacy statement. Also found here.

eula eula
Shows the End User Licence Agreement (EULA). Also found here.


How Prompt Works

Discover the step-by-step guide to integrating Prompt with your Revit workflow for maximum efficiency.

Step One: Installation

Begin by installing the Prompt plug-in, setting the stage for a streamlined metadata operations in Revit.

Step Two: Using Commands

Learn how to input commands in Prompt to inspect, refactor, and fix model metadata.

Step Three: Enhancing Workflow

Finalize by creating custom workflows of commands that can be run automatically in sequence.