HotDocs Hub Solution Overview

This document provides an overview of using HotDocs Hub, the HotDocs Platform, and other components, in a document automation solution.

In this Topic Hide


Organizations that produce a large numbers of standardized documents – for example, contracts or invoices – benefit from document automation. This is a process through which existing documents are marked up with placeholders for changeable values and instructions for conditionally changing the structure of a document. Marked-up documents created using HotDocs are called HotDocs templates. Completed documents are created by merging user input data with the placeholder values in the HotDocs template, resulting in a customized final document. As users never directly edit the text of the document, this ensures the production of accurate, compliant, error-free documents.

HotDocs Hub solution

A document automation solution typically requires that some or all of the following tasks are performed:

  • Create automated HotDocs templates from existing documents.
  • Store templates in a central location.
  • Organize templates into groups.
  • Allocate access permissions to users.
  • Gather user input required to produce a completed document.
  • Produce a completed document by merging the template with user input.
  • Pass the completed document to another process.

These actions are performed by the components below.

HotDocs Components used in a Solution

Domain Name Environment HotDocs Software Components Features Provided
HotDocs Desktop
Desktop HotDocs Developer Enables users to create HotDocs templates.
  Upload Plugin for HotDocs Developer Enables users to upload templates from HotDocs Developer to the HotDocs Hub.
HotDocs Hub Cloud or On-Premise Server HotDocs Hub
  • Stores uploaded templates.
  • Enables administrators to organize templates into groups.
  • Enables users to request interviews for templates.
    Enables administrators to create user accounts and allocate access permissions.
  • Gathers user input using HotDocs interviews.
  • Passes completed documents and answer data to other processes.
HotDocs Platform

Cloud or On-Premise Server

HotDocs Cloud Services (Cloud) Handles interview generation requests and assembly requests from the Interview Service and processes the requests in the Cloud.
  HotDocs Web Services (On-premise) Handles interview generation requests and assembly requests from the Interview Service, and passes the requests to HotDocs Server.
HotDocs Server (On-Premise)
  • Generates interviews requested by the Interview Service.
  • Produces completed documents based on user input in interviews.


The relationships between components is described below.

HotDocs Hub Solution Architecture

An on-premise document assembly solution typically has the following architecture:

Hub applications in Internet Information Services (IIS)

The on-premise installation of HotDoc Hub is deployed to Internet Information Services (IIS). When Hub is installed, you will see multiple applications in IIS beyond those shown in the architecture diagram above. See HotDocs Hub Applications in IIS for a full description of each application.

HotDocs Platform

The HotDocs Platform provides core HotDocs functionality in a server environment. Specifically, document assembly and interview generation. There are two components that make up the Platform for an on-premise solution: HotDocs Server and HotDocs Web Services.

HotDocs Server

HotDocs Server is the server-based version of HotDocs. It generates HotDocs interviews for display in a standard Web browser and generates completed documents on the web server, without requiring any special software to be installed on an end-user's computer. It is the 'core' of the HotDocs Platform. It performs all processing of document assembly and interview generation.

HotDocs Web Services

HotDocs Web Services is a REST-ful web service which exposes fundamental HotDocs Server features to callers. It can be deployed on a different server to the one on which HotDocs Server is installed. In this solution, it is used by the HotDocs Hub – specifically, the Interview Service component – to generate Interviews and assemble documents.

HotDocs Core Assembly Service

HotDocs Core Assembly Service is a web application that provides document assembly services via an Application Programming Interface (API).

Deployment Environment

The HotDocs Platform is deployed in a Windows Server environment using Internet Information Services (IIS). For a full list of IIS role requirements, see HotDocs Server System Requirements.

HotDocs Hub

HotDocs Hub is a modular, off-the-shelf suite of commonly-needed components for HotDocs integrations. Applications that integrate with HotDocs typically provide several additional features for controlling how HotDocs resources are used. For example, HotDocs template storage, user authentication and authorization, and HotDocs interview generation. The Hub supplies these components without any additional development effort on your part. Users interact with the Hub either through the Hub's own user interface or through your own custom user interface, built using the Hub APIs.

Hub Components

HotDocs Hub provides the following core components:

  • Template Hub – storage, organization, and permissions for HotDocs templates.
  • User Hub – authentication and authorization for accessing HotDocs resources (i.e. templates, Interviews, Hub administrative tools).
  • Interview Service – HotDocs interview generation, using HotDocs Server and templates stored in the Template Hub.

The Template Hub and Interview Service are always installed as part of a solution. The User Hub is optional, depending on the security requirements of the solution.

Hub Tenancies

HotDocs Hub is a multi-tenanted application, and both cloud and on-premise HotDocs Hub deployments use the same underlying multi-tenanted architecture. However, only cloud deployments support multiple tenants. On-premise deployments of Hub may only have a single tenant.

Hub APIs

Each Hub component also provides an extensive API. This enables you to develop your own applications that integrate Hub functionality.

Template Hub

The Template Hub is a web service providing storage, organization, and retrieval of HotDocs templates. The service enables users to:

  • Store HotDocs template files in a database.
  • Edit template metadata.
  • Retrieve template files.
  • Organize templates into groups.
  • Version control templates.

Template Storage

Templates uploaded to the Hub from HotDocs Developer are stored in a database. This requires that Microsoft SQL Server 2012 R2 or later is installed as part of the solution.

Adding HotDocs Templates to the Template Hub

HotDocs templates are created and uploaded to the Hub using the HotDocs Developer desktop application.

Version Control

Templates uploaded to the Hub are subject to version control. Once a template is uploaded, any subsequent upload of the same template creates a new version of that template in the Hub. This produces a 'history' of uploads for the template. Using this version history, an administrator can roll the template back to an earlier version if necessary.

User Hub

The User Hub is a web service providing user authentication and authorization for HotDocs resources, including the Template Hub and Interview Service. The User Hub enables administrators to:

  • Create User accounts.
  • Allocate User Roles: Tenancy Administrators, Template Uploaders and Template Users.
  • Organise Users into User Groups.
  • Edit User account details.

User Groups

Users are organized by assigning them to structured User Groups. Access to resources in other Hub components is controlled by allocation of User Groups to Template Groups.

Users in the assigned User Groups may then access the templates in the Template Group For example:

  1. A User Group (HR Department) is created in the HotDocs Hub, with three users allocated.
  2. A Template Group (Employment Agreements) is created in the HotDocs Hub, with six templates allocated.
  3. The HR Department User Group is assigned to the Employment Agreements Template Group.
  4. All users in the HR Department user group can access the templates in the Employment Agreements templates group; i.e. they can load interviews and assemble documents using the templates.

Security Configuration

The User Hub is an optional HotDocs Hub component. It does not need to be installed for the Hub to function. If the User Hub is not installed, system administrators typically use an alternative solution for user authentication and authorization. See Security Configuration Options for more information.

Interview Service

The Interview Service is a web service providing HotDocs Interview generation. It exposes the interview generation and document assembly functionality provided by the HotDocs Platform.

HotDocs Interviews

A HotDocs Interview is a series of dialogs, each containing one or more questions which HotDocs generates from the variables in a template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. Once a person completes the interview, HotDocs assembles the final customized document from the template by merging the interview answers into the template text. Before an Interview can be generated, a template must be uploaded to the Template Hub. This is necessary as the Interview content and structure is derived from the template for which an Interview is requested.

Interview Generation

The Interview is a combination of HTML and JavaScript, embedded in a web page. Interviews are displayed to a user when they create a new work item or relaunch an existing work item.

Interview Output

Once a user has finished an Interview, two items of data are typically output:

  • Answer XML – the data entered into the interview by the user
  • Assembled document  – the completed document produced by merging Interview data with the template

The user can download the assembled document after they complete the Interview.

Hub User Interface

The Hub UI web application enables users to access Hub functionality through a web browser. During installation, you can optionally install the HotDocs Hub UI, containing the core user interface components for the HotDocs Hub. If you choose to install Hub components without the user interface, you can also interact with components directly through their APIs.

HotDocs Desktop

HotDocs templates are created by template authors – users that automate documents using HotDocs Developer – using the HotDocs desktop platform.

HotDocs Developer

HotDocs Developer  is an application used by template authors to create HotDocs templates. It is installed on the template author's desktop computer. Once template author's create templates, they can then upload the templates to HotDocs Hub. Once uploaded to Hub, templates are then available to templates users through the Hub user interface, accessible through their web browser.

Upload Plugin for HotDocs Developer

The Upload Plugin for HotDocs Developer add-on enables content developers to upload templates from HotDocs Developer to the HotDocs Hub.


Table of Contents