Creatio development guide
PDF
This documentation is valid for Creatio version 7.15.0. We recommend using the newest version of Creatio documentation.

Synchronizing appointments with MS Exchange

Glossary Item Box

General information

Integration with various entities of Exchange via EWS protocol (Exchange Web Services) is supported by the Sync Engine synchronization mechanism. This article describes synchronization of appointments between Creatio and MS Exchange.

Creatio appointment synchronization is performed only for new activities or when the Title, Location, StartDate, DueDate, Priority, Notes fields are modified. The hash stored in the additional metadata parameters (in the ExtraParameters field) is formed according to these fields. If an appointment has been changed in Creatio, and the hash for ExtraParameters does not match the new hash, this appointment should be synchronized.

The appointment synchronization algorithm is no different from that described in the "Creatio synchronization with external storages" article. The process runs in three stages:

  1. Retrieving changes from MS Exchange and applying them
  2. Retrieving changes from Creatio and applying them
  3. Creating new appointments from Creatio in MS Exchange.

Integration classes

As described in the "Creatio synchronization with external storages" article, to implement integration using this mechanism, a class is required that implements the logic of working with external storage (RemoteProvider heir) and a class that implements the IRemoteItem interface, which is an instance of the synchronization element (in our case — MS Exchange appointment).

Fig. 1. RemoreProvider hierarchy schema

 

The ExchangeAppointmentSyncProvider is the provider used to work with the Exchange external storage. It contains the logic of selecting data and saving changes in Creatio and Exchange.

The ExchangeAppointment class implements the IRemoteItem interface, in which the logic of filling in data in Creatio objects is implemented.

Fig. 2. RemoteItem hierarchy schema

Synchronized data

The correspondence of Creatio objects to the ExchangeAppointmrnt class fileds is shown on table 1.

Table 1. The correspondence of Creatio objects to the ExchangeAppointment class fileds

Creatio object Object field MS Exchange Appointment corresponding field
Activity Title Subject
Location Location
StartDate StartDate
DueDate CompleteDate or DueDate depending on whether an appointment is finished or not.
Priority Importance
Status

Filled in as follows:

If the status is not specified and the due date is later than the current date — Creatio sets the "New Appointment" status.

If the due date is earlier than the current date, the status is set as a closed appointment with the "Information received" status.

RemindToOwner IsReminderSet
RemindToOwnerDate ReminderDueBy
Notes Body.Text
ActivityParticipant InviteResponse If the checkbox in MS Exchange is selected that identifies that an appointment was received and the user is its owner, and the "Appointment confirmed" checkbox is selected. Otherwise, it the checkbox is selected that identifies that the appointment was canceled.

Logic of selecting data for synchronization

To select changes to the list of appointments selected for MS Exchange folder synchronization, use the following terms: select appointments for MS Exchange, which were modified after the last contact synchronization or an MS Exchange appointment, which was not marked as synced. The appointments which were modified have corresponding contacts in Creatio. The updated changes are applied in the corresponding system.

When you select modified Creatio activities, select the following:

  • activities which are recorded in the synchronization metadata as MS Exchange appointments via RemoteId (determined by a unique appointment ID in the ICalId calendar);
  • activities with a date of the last modification that does not correspond to the date of the last synchronization.
  • one appointment in Creatio corresponds to several appointments in MS Exchange for each participant.

When selecting new Creatio activities, configure a set of common and custom filters. The main filter conditions are:

  1. Activity type is not "Email".
  2. Activity has the [Display in calendar] checkbox selected.

A user can specify activity groups that will be exported from Creatio.

Logic of selecting appointment participants

When you synchronize an activity from MS Exchange to Creatio, only contacts that have email addresses from the list of appointment participants in MS Exchange are added to the [Participants] detail.

When you synchronize activities from Creatio to MS Exchange, the appointment participants for MS Exchange are filled in with primary contact email addresses.

© Creatio 2002-2020.

Did you find this information useful?

How can we improve it?