What is the HotDocs API?

The HotDocs Application Programming Interface (API) lets you integrate HotDocs document assembly software functionality into your own application. For example, by integrating your application with HotDocs, you could allow your users to assemble HotDocs text and form documents using your application’s data. Although HotDocs can be integrated with virtually any kind of software, it is most often used with database applications, case managers, litigation support systems, infobases, address books, and other similar applications.

There are three types of people involved in the integration process:

This help file focuses primarily on the role of the integrator, or software developer. The roles of template developers and end users are discussed only to show how the integrator's work helps them perform their tasks.

If you are unfamiliar with HotDocs and its terminology, please refer to the Glossary to see a list of concepts and terms associated with HotDocs.

Integration Types

The HotDocs API provides methods for creating several types of integrations. Using the COM API, your application can act as the main user interface for your users. For example, it can launch HotDocs, tell it which template to use, and provide it with data it needs to assemble a document.

Another type of integration you can create is an answer source integration, which is a special DLL file that HotDocs can use to query your application for the data it needs to assemble a document. When using an answer source integration, the user is more involved in selecting the template and determining what information from your application should be used.

HotDocs also provides a plug-in API, which lets you to create a plug-in that adds a new menu to the HotDocs library window, overlays custom icons on top of template icons in the library, or otherwise extends the menus and functionality of the HotDocs library window.

Finally, the Variable Mapping API allows you to create associations between data fields in your application and HotDocs variables.