A Smart Client solution for an enterprise application (e.g., a Customer
Relationship Management system) includes a base application (e.g.,
Microsoft Outlook), and add-in software that interacts with the base
application. The add-in software allows the base application to be used
to access data and functions of the enterprise application. The add-in
software includes an interface manager for accessing items (corresponding
to data in the enterprise application) in a data store for the base
application, a communications agent in communication (via web services)
with the enterprise application, and a synchronization manager in
communication with both the interface manager and the communications
agent for synchronizing data between the data store for the base
application and the enterprise application. In addition to
synchronization, Smart Client data can also be converted to and from data
for the base application.