PrepPak finds relevant and related objects for a target object. A typical example is finding emails, documents, and contacts that are relevant to a given meeting. PrepPak supports feature extraction for the target object, algorithms to rank objects returned by their relevance, and a mechanism to refine those suggestions based on user feedback.


PrepPak helps you prepare for common office tasks such as attending a meeting, writing a proposal or paper, or responding to an email by automatically gathering relevant information on your desktop computer or shared drives. PrepPak creates a ranked list of suggested documents such as Microsoft Office files, email, email attachments, or any other data object harvestable by the CALO Express Desktop Harvesting framework. The user can edit this list explicitly by adding new documents and removing unwanted ones. PrepPak acts as a “Smart Folder” for storing work by observing what the user is doing, and by automatically collecting documents it thinks are relevant.

PrepPak learns by continuously observing user interactions with the PrepPak content. So, as the user opens suggested documents and explicitly adds and removes documents from a PrepPak, the list of suggested documents becomes increasingly more relevant. Learning transfers across PrepPaks, so that user feedback for one PrepPak improves the quality of PrepPaks for other events.

Some example uses of PrepPak:

  • PrepPak on an Outlook calendar event to prepare for an upcoming meeting by finding related documents;
  • PrepPak on an MS Word document or PowerPoint presentation to gather supporting documents;
  • PrepPak on an email message to help compose a reply or suggest attachments for the message.

PrepPak is fully integrated with the CALO Express system, which provides a graphical interface for creating and interacting with PrepPaks.

Alternatively, there is an XML-RPC API that enables developers to create, access, and modify PrepPaks programmatically. The API supports various languages with XML-RPC bindings (C#, C++, C, Java, JavaScript, PHP, Perl, and others) for integrating PrepPak into your application. With this type of usage, the target application provides the user interface, or runs with no user interface for server-side or background processing applications. It is also possible to write a CALO Express Plug-in to reuse the PrepPak graphical interface with a custom PrepPak-like algorithm or to extend functionality of the current PrepPak application.

PrepPak User Interface within CALO Express


  • Windows XP
  • 1GB RAM, 500 MHz, 1.5 GB disk space
  • CALO Express
  • Java 1.6 and above
  • Ant 1.6 and above


  • PrepPak runs in Windows XP; it is not yet available under Windows Vista or Windows 7.
  • PrepPak (via CALO Express Desktop Harvesting) harvests information from Outlook, Thunderbird, certain Microsoft Office applications (Word, Excel, and PowerPoint), and PDF documents. PrepPak does not currently support harvesting of web browser data.


Calo Express Overview: DISTAR 14982 – Approved for Public Release, Distribution Unlimited
Calo Express API and Example: DISTAR 15263 – Approved for Public Release, Distribution Unlimited
Calo Express Object code: DISTAR 13123 – Approved for Public Release, Distribution Unlimited
PrepPak Overview, API and Example: DISTAR 16081 – Approved for Public Release, Distribution Unlimited