Dialogs Overview

A dialog is a HotDocs component that presents other components (usually variables) in an interview; you often use a dialog to group related variables together to improve the usability and flow of an interview. For example, in an interview with variables for Employee Name, Address, Job Title, Job Description, etc., rather asking these variables one at a time, or together with other unrelated variables, you can group all these related variables on a single dialog and make the interview easier for your template users to navigate.  

In this topic Hide

  1. Overview
  2. Common Tasks
  3. Workflow
  4. Custom Dialogs
  5. Linked and Unlinked Dialogs


A dialog is the principal visual aspect of a HotDocs interview. When HotDocs generates an interview, by default, it constructs a dialog for every variable in your interview.

On the dialog, by default, HotDocs presents the variable as an implicit question, based on the name of the variable: for example, First Name. Such auto-generated dialogs are very plain and present only a single variable at a time. If you create a template with many variables, your interview can seem tedious to your template users as they must navigate many dialogs, one at a time, each containing a single variable. Therefore, HotDocs enables you to create your own dialogs, and to group several variables in a single dialog so that the interview flows smoother.

Because the dialogs you create are also HotDocs components, they also contain properties that enable you to control how they behave. You can also affect a dialog's behavior in the interview by creating dialog scripts that enable you to do things such as hide a variable until a user answers a question that makes that variable relevant. Because of this, and other features, Dialogs not enable you to present a visual interface to your template users, they also provide a data structuring capability.

Common Tasks


Although you can create dialogs in the Field Editor as you create your variables, you will typically create dialogs in Component Studio after you finish creating your variables. Once you create your dialog, you will then add variables to them. You can also customize your dialogs. For example, by changing the layout of variables, dialog properties, or adding dialog elements. If you are using a custom interview, you will add ASK instructions to your interview computation to control when your dialogs appear in the interview.

Custom Dialogs

Creating a custom dialog enables you to group related variables together and design the look and feel of the interview. When HotDocs creates an interview for the user, it reads through the template and displays dialogs based on the order it encounters variables and instructions in the template. However, if you want your dialogs to appear in a different order—for instance, if you want a certain dialog to appear first, even though variables that prompt the dialog to be asked appear at the end of the template—you can use an ASK instruction to force HotDocs to display the dialog.

By default, when HotDocs displays variables in a HotDocs interview, each variable is in a dialog by itself. This dialog is called a default dialog. While this approach is sufficient for some situations, you can also group related variables and present them in a custom dialog. Grouping questions together makes it easier for users to answer interview questions because there are fewer dialogs to navigate through. Additionally, sometimes viewing questions in context makes it easier to understand what information is required.

Linked and Unlinked Dialogs

Before you create a dialog in HotDocs Author, you should understand the differences between “linked” and “unlinked” dialogs.

Linked Dialogs

All dialogs in HotDocs Author are “linked” dialogs by default. This means that by default, the Link Contents to this Dialog property is selected on the Dialog Editor in Component Studio. This property tells HotDocs that if this dialog appears in the interview, every one of the variables this dialog links to appears in the interview. Likewise, if the dialog has a child dialog, this also appears at this point in the interview. Another way of stating this is, that if any variable on this dialog appears in the interview, the entire dialog (including any other variables on it) appears in the interview.

This property exists to make it easier for you to group related variables together so the interview presents related questions in a logical sequence. To enable this, when you create a variable in the Field Editor, you can choose to reference a linked dialog (by choosing a linked dialog from a drop-down list, or typing a new dialog name, and then clicking Create and Link). If you choose to reference a linked dialog, you instruct HotDocs to display that variable at the time the dialog linking to that variable appears in the interview. This means that no matter where in the template you create related variables, by choosing the same linked dialog, you ensure these variables get asked in the interview together. You can further choose the order in which these variables appear by arranging them using the Layout tab of the Dialog Editor.


You can only assign a variable to one linked dialog per interview. Also, you cannot cause HotDocs to present that variable in the interview on its own (outside the context of another dialog). You can, however, assign a variable to both a linked and an unlinked dialog (though the potential complexities of such a scenario make it something you may want to avoid).

The list of Available Components (in the Tools pane of the Dialog Editor) helps you keep track of which components you already assigned to a linked dialog and which are available for you to assign to the dialog you’re currently editing. This list can help you avoid unintentionally assigning a variable to a different linked dialog, thus causing it to stop referencing the one it currently references.

Unlinked Dialogs

An “unlinked” dialog is one where you choose to deselect the Link Contents to this Dialog property. If you do this, that dialog on its own cannot cause the variables (and child dialogs) on the Dialog Editor’s Contents tab to appear in the interview. Instead, you must you must add an ASK instruction at the appropriate location in template to tell HotDocs to display the dialog containing those variables in the interview. In such a case, any variable on that dialog that is also assigned to a linked dialog, causes HotDocs to display the linked dialog in the interview. You can only cause HotDocs to display a variable in the interview a single time, so this means that the variable in this scenario appears in the interview only one time.


An unlinked dialog can prove useful if you want to include a variable in more than one dialog. For example, you may want to include a variable in multiple dialogs so that you can have different versions of a dialog that appear based on how your template users answer a given interview question.

You can see if a particular component is associated with a linked or unlinked dialog by opening that component’s editor in Component Studio and checking the Used in tab located on the Tools pane of the Dialog Editor.