Index
Main Menu
Video Courses
Watch structured video courses
Knowledge Base
Visit our User Forum for discussions & solutions
May 5, 2026
Alphabetic List of XpressDox Commands and Functions
Commands / Functions in XpressDox Document Automation software.
Here is a list containing every command / function available in the XpressDox Command Assistant, listed alphabetically, along with a short explanation of what it does. Click on the command name for more information and examples of usage.
Note:
New commands/functions are constantly added to our XpressDox Command Assistant. If you don’t see the one you are looking for here, please refer to the Command Assistant in the XpressDox ribbon for a live list of commands/functions.
| Command or Function Name | Description and Examples |
|---|---|
| AddBCCAddress | Add BCC Address/es when saving as email (eml) |
| AddCCAddress | Add CC Address/es when saving as email (eml) |
| AddToAddress | Add an additional “To” Address when saving as email (eml) |
| AIContext | Provide AI context to a specific data element |
| AITemplateContext | Provide AI context for the entire template |
| AlignCaption | Sets the alignment of the caption for specific fields on the interview |
| AlignCaptions | Sets whether all captions on the interview should be aligned left, right or top |
| AlignErrorMessages | Sets whether error messages should be aligned top or bottom |
| AppendPDF | Append a PDF file to the assembled (PDF) document |
| AppendV | Append values to the end of a variable |
| AppendVr | Append values to the end of a variable and remove the paragraph |
| ApplyRulesToDataset | Apply Rules to the Dataset in the absence of an interview |
| AreYouReadyToAssembleMessage | Display a confirmation message to the user before assembling the document |
| ArrayAppendVr | Append a value to the value of an array element |
| ArrayClear | Removes all entries from an array |
| ArrayConcat | Concatenate one array into another |
| ArrayCount | Get the number of elements in an array |
| ArrayDelete | Delete an array element |
| ArrayGetV | Get the value of an array element |
| ArrayGetVn | Get the value of an array element as numeric where the context requires it |
| ArrayIncrementV | Increment the value of an array element |
| ArrayIncrementVr | Increment the value of an array element, and remove the paragraph |
| ArrayKeys | Get one of the keys of the elements in the array |
| ArrayRemoveDuplicates | Removes duplicate (and empty) elements from an array |
| ArraySetFromString | Create an array from a delimited string |
| ArraySetV | Initialise or change the value of an array element |
| ArraySetVr | Initialise or change the value of an array element, and remove the paragraph |
| ArraySortByIndex | Sorts the elements of an array by the index values |
| ArraySortByValue | Sorts the elements of an array by value |
| ArrayValues | Get one of the values of the elements in the array |
| AttachToEmail | Attach a document (or the document currently being assembly) to the email |
| BaseTemplate | Base (or overlay) this template on another template |
| Button | Place a Button on the interview |
| Caption | Set the caption for the data element on the interview screen |
| CaptureAllDataElements | Capture all data elements even if not used in this template |
| CaptureAsLongText | Capture a multi-line text values |
| CaptureDataElement | Places a control for the data element on the interview screen |
| CaptureDataElements | Include a number of data elements element in the interview for the template |
| CaptureInGrid | Specify whether or not a repeater should be displayed and captured in a grid |
| CaptureLater | Defer the capture of a data element to later in the interview |
| CaptureOnlyEmptyValues | Specify whether only empty values should be shown in the interview |
| ceiling | Round a value up to the nearest integer |
| CentsToCurrency | Convert value in cents to currency and format it |
| ChooseFolder | Allow the user to select a folder from the file system |
| ChooseFromData | Choose from repeating data already in the data set |
| ChooseFromDataElements | Choose from data already in the data set |
| ChooseFromDataset | Choose from a dataset |
| ChooseFromDataSource | Choose a row from a data source |
| ChooseFromFile | Choose data from a text or XML file |
| ChooseFromHzRDBList | Present a horizontal list of radio button choices «ChooseFromHzRDBList(Gender,,Male,Female)» |
| ChooseFromList | Present the user with a list of choices in a drop down list |
| ChooseFromRDBList | Present a radio button list of choices |
| ChooseFromRepeatingData | Choose from repeating data already in the data set |
| ChooseFromSamples | Presents a drop down list of choices, but the user can type their own if it is not in the list |
| ChooseUsingCheckBox | Choose a value using a check box |
| ChooseUsingDatePicker | Choose a data element value using a date picker |
| ChooseUsingTimePicker | Choose a data element value using a time picker |
| Chr | Get a character value from its integer representation |
| ComeHereAfterRun | Place a marker in the template where the cursor should be after the template has run |
| CommasAndList | Gets a natural language list from a delimited list |
| Comment | Enter a comment into the template |
| CompareStrings | Compare two strings |
| concat | Concat; join together strings and/or data elements |
| contains | Test for a substring inside another string |
| count | Count – returns the number of a repeated item |
| CountOf | Get the number of occurrences of one string inside another |
| CreateDataElement | Create a data element in the template’s data set |
| CreateDataElementR | Create a data element in the data set, and remove the paragraph |
| CreateObject | Create a reference to a COM or .NET object |
| CultureName | Get the active culture name |
| CurrencySymbol | Insert the currency symbol as defined in the Regional Settings |
| CurrencyToCents | Multiplies a currency value by 100 with minimal rounding |
| DataSourceSync | Keep the interview in sync with the database, within the context of a ForEach |
| DateAsNumber | Get a date in numeric format for numeric operations |
| DateTimeAsNumber | Render a date/time as a number for numeric operations |
| DaysBetween | Gets the number of working days between two dates |
| Debug | Debug missing or superfluous ‘end’ and ‘else’ issues |
| DefaultFormat | Set standard formats for your template |
| Define | Define the interview properties of a data element |
| DefineSetAllGroup | Implements a “Check All” feature |
| DetectLongConditions | Detect very long conditions in the interview relevance |
| DocumentBody | Insert the body of the originating template into the Base Template |
| Dolares | Render a numeric amount as a number of Dollars, in Spanish words |
| Dollars | Render a numeric amount as a number of Dollars, in words |
| DollarsFrancaise | Render a numeric amount as a number of Dollars, in French words |
| ElseIf | Avoid multiple nested If commands, and matching Ends by writing If.. ElseIf… ElseIf… End. |
| EnableUserFeedback | Allow users to send email feedback on a template whilst they are running that template. |
| EnableWebLocalSave | Enable Save Local on the Web (in the context of an integrated template) |
| EnableWebPreview | Enable the Preview option (in the context of an integrated template) |
| EndsWith | Test whether a string ends in a given string |
| Eq | Test whether a string is equivalent to another string |
| EscapeForXml | Escape a string for use in XML |
| ESignAddCC | Add a CC for e-signatures |
| ESignAddSignatory | Add signatories who should electronically sign |
| ESignAutomaticSend | Automatically send the assembled document to all signatories once assembled |
| eSignDraft | Create an e-signature document as a draft instead of sending it immediately |
| ESignDateSignedHere | Add a tag into the document to insert the date signed in DocuSign |
| ESignEmail | Set the email body and subject to be sent to all signatories |
| ESignHere | Insert a signature point into the template |
| ESignInitialHere | Add an initial point into the template |
| EuroDeutsch | Render a numeric amount as a number of Euros, in German words |
| Euros | Render a numeric amount as a number of Euros, in English |
| EurosEspanol | Render a numeric amount as a number of Euros, in Spanish words |
| EurosFrancaise | Render a numeric amount as a number of Euros, in French words |
| ExcludeFromDataSet | Exclude elements from the saved dataset |
| ExcludeFromGrid | Exclude the data element from a grid row when captured in a grid |
| ExcludeFromIV | Excludes a data element from the capture interview for the template |
| Execute | Execute a number of functions |
| ExpectXSLTFormatNumbers | Cause XpressDox to expect XSLT formatted numbers in data |
| ExtractInitials | Extract Initials from name |
| FileExists | Test whether file exists |
| floor | Round a value down to the nearest integer |
| FolderExists | Test for the existence of a folder |
| Footing | Place footing text below a data element in the interview |
| ForbidThousandsSeparators | Specify that capture of numeric values should not permit thousands separators |
| ForEach | Repeat for a number of repeating data elements |
| Format | Format a string according to a pattern |
| FormatDate | Format a field as date and/or time |
| FormatNumber | Format a number on the assembled document |
| FormatNumberOnInput | Format a number in the interview |
| FormatSeconds | Format a number of seconds into hours, minutes and seconds |
| FormatTime | Format a field as a time on the document |
| GE | Greater than or Equal to, for use in a condition when >= is not appropriate |
| Gender | Return a value depending on a party’s gender |
| GetDataSet | Get a string representation of the data set |
| GetDataSourceData | Get the data from a data source during assembly |
| GetListItem | Extract a value from a delimited list |
| GetObjectValue | Get the value of a property or method call on a COM or .NET object |
| GetProperty | Get the value of a property of a COM or .NET object |
| GetRegistryValue | Get a value from the registry |
| GetV | Get the value of a variable |
| GetValidFileName | Get a string which only has valid file name characters |
| GetValidXmlElementName | Converts the passed string to a valid XML element name |
| GetVn | Get the value of a variable used as numeric |
| GetVOrDefault | Get the value of a variable if defined, otherwise a default value |
| GetXmlElementValue | Get the value of an XML element in an XML document |
| GetXPathValue | Get values from XML using XPATH expressions |
| GT | Greater than, for use in a condition when > is not appropriate |
| Guid | Get a GUID (Globally Unique Identifier) |
| HardSpace | Convert normal spaces to non-breaking spaces |
| Heading | Place heading text above a data element in the interview |
| Help | Provide help text (to be shown in the Help area) for a data element |
| HideEmptyInterview | Specify whether or not an empty interview should be hidden |
| HideFromPreview | Prevent the document generated from being included in a preview |
| HideInsideIV | Hides a data element inside the interview for the template |
| Hyperlink | Attach a hyperlink to a heading or footing |
| HzGroup | Group data elements together horizontally on the interview |
| If | Conditionally include text into the document |
| IgnoreDuplicateScriptDefinitions | Suppresses errors when a script with the same name is defined more than once |
| IIf | IIf function |
| IncludeCodeTemplate | Include only those paragraphs which contain XpressDox merge fields |
| IncludeDataSourceData | Include data from a data source |
| IncludeFileData | Include data from a text or XML file |
| IncludePicture | Include a picture |
| IncludeSpreadsheet | Include a spreadsheet in the final document as a picture |
| IncludeTemplate | Include a template as part of this template |
| IncrementDate | Increment a date by days, working days, months or years |
| IncrementV | Increment a variable value |
| IncrementVr | Increment a variable by a given amount and remove the paragraph |
| InhibitAutomaticRuleOnNumberFunctions | Inhibit automatic Rule commands for numeric input functions |
| InhibitInterview | Prevent an interview |
| InputCulture | Return the language and number format |
| InsertDataElement | Performs the same function as “re-use field” |
| InsertFormattedText | Insert text captured as long text |
| InsertHyperlink | Insert a hyperlink into the document |
| InsertInto | Insert a string inside a value |
| InsertPicture | Insert a picture |
| InsertSpreadsheet | Insert a spreadsheet in the final document |
| InsertTemplate | Insert a template whose name is chosen by the user |
| InsertUnformattedLongText | Inserts long text without line breaks or formatting |
| InterviewFont | Specify the font for the entire interview |
| InterviewIsWizard | Provide Back and Next buttons on the interview |
| InterviewRelevance | Provide a condition governing the relevance of a data element |
| InterviewTitle | Set the title for the Interview screen |
| InvokeMethod | Invoke a method on a COM or .NET object |
| IsFalse | Test whether a value does not look like a boolean “true” |
| IsTrue | Test whether a value looks like a boolean “true” |
| IsXMLElementName | Test whether the value is a valid XML Element name |
| IsXpathExpression | Test whether the expression is a valid XPATH expression |
| last | Test whether the last repeating item is being referenced in a ForEach |
| LastDayInMonth | Get the last day in a month |
| LE | Less than or Equal to, for use in a condition when <= is not appropriate |
| Left | Extract the left-most portion of a string |
| LinkToDataSource | Link an interview control to a data source |
| LinkToDataSourceOnEnter | When entering an interview control, link it to a data source |
| LinkToOtherData | Links an interview control to a saved dataset |
| List | Produce a delimited list from repeating data |
| ListDelimiter | Inserts a delimiter between parts of a list (e.g., comma and “and”) |
| Log | Log a message |
| LogDataElements | Log a list of data elements with a message |
| LogVariables | Log a list of XpressDox variable values with a message |
| Lookup | Look up the value of a key in a name/value list |
| LT | Less than. For use in a condition when < is not appropriate. |
| Max | Gets the higher of two values |
| MaximumRepeats | Set the maximum number of repeats |
| MergeDataSheetTemplate | Merge this template’s Data Sheet Template |
| MergePDFForm | Merge a PDF after the currently running template |
| MergeTemplate | Assemble another template after the current one |
| Min | Gets the lower of two values |
| Mod | Gets remainder after dividing one number by another |
| MonthsBetween | Gets the number of months between two dates |
| MultiEquals | Compare a value against the contents of a list from DefineSetAllGroup |
| MultiSelect | MultiSelect and DefineSetAllGroup are the same command |
| Now | Insert the current date and time into the document |
| NumberOrZero | Force a value to a number, else produce a 0 |
| NumberPhrase | Convert a number into words |
| NumberToCurrency | Render a number as currency, in words |
| OnEnterSet | Set values when focus enters a data element’s control |
| OnExitSet | Set values when focus leaves a data element’s control |
| OptimizeParsing | Optimize parsing of the template |
| Ordinal | Ordinal (i.e. First, Second,…) inside ForEach |
| OrdinalSuffix | Gets the suffix st, nd, rd, etc. of the ordinal of a number |
| PermitDataElementsInMultipleTabs | Allows a single data element to be captured on more than one tab in the interview |
| PaintInsertedText | Paint Text Inserted by Fillpoints |
| Paragraph | Split the containing paragraph into two at this point. |
| PdfUserPassword | Set a User Password when saving as PDF |
| PE / PhraseEnding | Set punctuation on a conditional set of paragraphs |
| Pesos | Render a numeric amount as a number of Pesos, in Spanish words |
| PlaceHolder | A placeholder in the interview to which text can be attached |
| Plural | Get the singular or plural depending on the number. |
| position | Get the position within a ForEach |
| Pounds | Render a numeric amount as a number of Pounds, in words, UK English |
| PrefixWith | Insert a prefix if the value is not empty |
| PrependVr | Prefix values at the front of a variable |
| PreventRepeaterDeletion | Prevent the deletion of a repeater |
| Question | Insert a question command (part of the Low Code flavour) |
| RaiseToPower | Raise a number to a power |
| Rand | Render a numeric amount as a number of Rand in words, in English |
| RandAfrikaans | Render a numeric amount as a number of Rand in words, Afrikaans |
| ReadOnly | Set the control for a data element on the interview to Read Only |
| RegionToX | Convert a number to XpressDox calculation-compliant format |
| RemoveColumnIf | Remove a Word table column |
| RemoveParagraph | Remove the paragraph after the template has merged |
| RemoveRowIf | Remove a Word table row |
| RenderAsNumeric | Force a string to be a valid numeric value |
| RepeaterCaption | Set the caption for repeating data elements on the interview |
| RepeaterPosition | Get the position during interview processing |
| RepeaterQuestion | Insert a repeating question (available in Low Code) |
| Replace | Replace all occurrences of a specified string with another |
| ReplaceField | Replace a Merge Field in the Base Template |
| Required | Mark one or more data elements as required |
| RequiredVersion | Prevent a template running if XpressDox version is too low |
| RestrictToLicenses | Supply licence serial numbers for this template |
| Right | Extract the right-most portion of a string |
| Round | Round a value to the nearest integer |
| Rule | Applies a custom made validation rule to the data element in the interview |
| RunAsHugeTemplate | Run the template in a separate process for performance |
| RunTemplate | Run several templates together in a package |
| RunTemplates | Specify a number of templates to be run with this template |
| RunWordMacro | Run a Word macro after the template has been merged |
| SaveAsEmail | Save the assembled document as an email (eml) |
| SaveAsHtml | Specify whether or not to save the merged document in HTML format |
| SaveAsPdf | Specify whether or not to save the merged document in PDF format |
| SaveAsRtf | Specify whether or not to save the merged document in RTF format |
| SaveAsText | Specify whether or not to save the merged document in plain text |
| SaveDataset | Specify whether or not to save the dataset |
| Script | Define a chunk of document for re-use |
| ScriptIf | Conditionally include text in a script |
| SecondsBetween | Gets the number of seconds between two date/times |
| Select | A Select/Case/Default block |
| SelectFromRepeatingData | Allows the user to search and select specific entries from a set of repeating data |
| SendAsEmail | Send the email as soon as it has been assembled |
| SendWebEmail | Set properties to send an email from a Web-based template |
| SentenceGroup | Present fields in a group that reads like a sentence |
| Set | Give a data element a new value during interview or assembly |
| SetCoreFileProperty | Sets a core file property in the merged document |
| SetCustomDocumentProperty | Sets a custom document property in the merged document |
| SetDataSourceData | Set the value of a field in a data source |
| SetDocumentName | Set the document name |
| SetEmptyMarker | Set the value of the Empty Marker |
| SetInitialValue | Sets the initial value for a data element |
| SetInterviewDataOnly | Set template for data capture only |
| SetMultipleDocumentFilter | Sets a filter for the Document Per Repeated Item feature |
| SetProfileProperty | Profile assembled documents for integrations like NetDocuments or iManage |
| SetProperty | Set the value of a property of a COM or .NET object |
| SetRepeaterQualifier | Set the string for interview repeating elements |
| SetSavedDataFileName | Set the file name for captured interview data |
| SetSavedDataFolder | Sets the folder where captured data will be saved |
| SetSavedDocumentFileName | Set the file name of the merged document |
| SetSavedDocumentFolder | Set the folder where the merged document will be saved |
| SetSavedDocumentNameVersioning | Govern the versioning of the merged document file name |
| SetV | Set a variable value |
| SetVR | Set a variable value and remove the paragraph |
| SetWebButtonText | Sets the text for the “Assemble Document” button |
| SetWebCustomButton | Sets custom text for interview implementation by web designer |
| SetWebInterimSaveButton | Sets text and URL for the “InterimSave” button |
| SetWebInterviewMinimumHeight | Set the minimum height of the Web Interview |
| SetWebInterviewSize | Set the Web Interview Size |
| SetWebReturnURL | Set the return URL for a web-based template |
| ShowHidden | Show hidden fields on the interview |
| ShowIfHasValue | Show the item only if it has a non-empty value |
| StartsWith | Test whether a string starts with a given string |
| StartsWithVowel | Test whether a string starts with a vowel |
| string-length | Returns the number of characters in a value |
| substring | Extract a portion of a string |
| SubstringAfter | Extract the substring after a given string |
| SubstringAfterLast | Get the last substring using a delimiter |
| SubstringBefore | Extract the substring before a given string |
| SubstringBeforeLast | Get the substring before the last delimiter |
| SuffixWith | Insert a suffix if the value is not empty |
| sum | Calculate the sum of values |
| Tab | Add a tab to the main panel of the interview screen |
| TableLookup | Calculate a value from a table |
| TabOrientation | Specify whether Tabs appear Horizontally or Vertically |
| TemplateIsForIncludeOnly | Specify that a template is for inclusion only |
| TemplateName | Get the file name of the running template |
| Today | Insert the current date into the document |
| ToHtml | Wrap string in HTML tags |
| ToLower | Convert to lower case |
| ToNumber | Renders a numeric string into a number |
| ToSentence | Convert to Sentence case |
| ToTitle | Convert to Title Case |
| ToUpper | Convert to UPPER case |
| Trim | Removes white space from either side of a string |
| TrimEnd | Trim characters from the end of a string |
| TrimStart | Trim characters from the beginning of a string |
| UpdateFields | Update Table of Contents and Word fields |
| UpdateTableFormattingForPdf | Request table formatting when saving to PDF |
| UseScript | Insert the contents of a script defined elsewhere |
| ValidateBeforeShare | Run validation before sending a Shared Interview |
| Value | Returns the value of what is passed |
| ValueIsEmpty | Tests whether a value is empty or not |
| When | Condition for including small text values |
| Width | Set interview control width to a fixed value |
| WindowsLogonUser | Returns the current Windows logon user name |
| With | Specify conditions for the Set command |
| WriteTimeStampToDataSet | Specify whether or not to write a time stamp into the dataset |
| YearsBetween | Gets the number of years between two dates |
| YearsMonthsDaysBetween | Gets the number of years, months and days between two dates |