The HotDocs Computation Generator is an add-on for Google Sheets that simplifies the repetitive work of scripting a large number of components with HotDocs Developer, version 11 or newer. An earlier version was developed in PowerShell. It can load a component file from Google Drive, and will also allow you to upload a new component file to Drive.

This add-on is non-destructive. The functions will generate text that you can copy into the HotDocs script editor but won’t change the component file itself. The functions will load the most recent information from the component file in Google Drive each time that they run. For your convenience, when you select a component file, a new sheet will be created that lists all of the components in the file. You can refresh this component list when you like. Changes made on this sheet do not change the component file.


Install the Computation Generator from the Chrome Web Store. You may also install it from within Google Sheets.

Add-ons | Get add-ons

Once the Add-on is installed, access it from the Add-ons menu within Google Sheets. If you don’t have a Component File assigned to the Sheet yet, click “Select or Upload Hotdocs Component File”.

Add-ons | Hotdocs Computation Generator | Select or Upload Hotdocs Component File

You will immediately see a new sheet in the document that lists all of the components in the component file. This is a preview. Changes made on this sheet won’t affect the source document.

Available Tools

Display Information About Components

  • Display a list of all components (and their attributes) in a HotDocs Component file.
  • Display the contents of a HotDocs dialog component, including component attributes.

These functions will help you get the component names in a format that’s ready for the computation generator.

Create Computations

The Add-on generates text that you should copy and paste into the HotDocs Script Editor. All of the menu operations operate on columns of data. This lets you easily maintain relationships between different components in a single place, and quickly update computations if the list of components the computation has to operate on is updated. Current menu items include:

  • Add text before or after a series of component names (such as SHOW or HIDE keywords)
  • Set the value of column B based on the truth of column A (e.g., IF component_1 SET component_2 TO TRUE)
  • Summarize components: create a computation for use in a dialog element that selectively displays text based on only the TRUE components. Useful for summary paragraphs that can be included in a generated letter, pleading, or to make the on-screen display more dynamic. HotDocs does something similar for multiple choice component types–this extends it to an arbitrary list of true/false components.
  • REPEAT: generate a series of HotDocs arrays, component names based on the column headers, with each row in the spreadsheet existing as a row in the array. This script can be used as a “poor man’s database” intended to be used in situations where HotDocs ODBC or other functions can’t be used. It’s especially useful if you use a Google Form to keep data up to date in your guided interview and perfect for interviews hosted on LHI (which as of 2017 does not support databases or overlay answer files).

Basic help information is available on each screen.

Known Issues

  • In the initial release to the Chrome Web Store: when you open a new Sheet, you must first close and reopen it to activate the add-ons menu.

Reporting Bugs

Please send bug reports to incoming+nonprofittechy/ or if you have a GitLab account,

Copyright © 2017 Quinten Steenhuis and Greater Boston Legal Services.Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

The HotDocs Computation Generator is not affiliated with or endorsed by HotDocs in any way.