Page tree
Skip to end of metadata
Go to start of metadata

Sync Configurations

The Sync Configuration wizard enables you to setup and manage synchronizations. Select Setup > Sync to view a list of existing Sync Configurations in your knowledgebase. You may create a new configuration, or edit or delete existing ones.


To create a new configuration, click New > External Sync or Entity Set. To delete a configuration, select it in the list and click Delete. To edit an existing configuration, click the Edit icon next to the configuration. 

the Sync Configuration Wizard creates a record in Agiloft holding:

  • The external system to sync with
  • The tables to be synchronized and their corresponding structures
  • The fields to be synchronized within a Table-Structure pair
  • The relations to be synchronized
  • The direction for the update to happen between  Agiloft and the external system
  • The command that launches the ESA
  • The identifier fields sync will use to identify matching records

If a Sync Configuration is modified after it has been run, all previous peering of  Agiloft records with external system records is lost, and the next run will be an entirely new synchronization.

General Tab

Configuration NameIdentifies the Sync Configuration name.
External System Type

Contains the options to define the type of external system for the current synchronization. The selection will determine further options that open in the wizard.

In addition you can select whether to use an HTTPS or Command Line (CL) ESA type, when the ESA type is Third-party Adapter, and to download the esa.jar Remote Proxy. For more information, see HTTPS and Command Line ESA Types.

StatusDetermines whether the current sync configuration is enabled or disabled.
Directions

Specifies whether the synchronization data updates happen in both directions, or on the side of Agiloft or the external system. The direction chosen here will determine which sync operations are available for field mapping. For instance, the Allowed Operations and Update in Agiloft/Update in External options will be disabled if the sync direction does not support them.

For more information, see Directional Synchronization.

ConflictsSpecifies how the system should handle conflicts during a two-way synchronization when records are edited on both systems. See Conflict Resolution for more information.
Remoting

If the ESA is located on a remote server, this section enables you to download the Remote Proxy and configure the following items:

  • Polling Period - When an ESA is run remotely, it is presumed that it is behind the firewall. So, ESA should eventually come to  Agiloft and ask whether there are synchronizations pending. The Polling period setting determines how long the ESA will wait between such requests, in seconds.
  • IP Filter (optional) - If an IP Address is entered here, ESA or Remote Proxy connections will be accepted by the Sync Configuration concerned only from that IP. In the case of NAT, this must be the outermost IP of the ESA machine, as seen by  Agiloft.
Personal SynchronizationEnables you to store synchronization data on a per-user basis, which can allow your users to synchronize with their own PIM installations.
External System ID

An ID which uniquely identifies the Sync Configuration being produced is generated by the Sync system and placed in this field. At this point, before the configuration is created, you can edit it to make it more easily memorable - ensuring that it remains unique.

A remote HTTPs ESA needs this ID as a parameter, and its developer must ensure that this parameter is received by the ESA.

NextClick this to create the Sync Configuration which will handle all synchronizations on the selected ESA. After clicking Next, Agiloft will wait for an incoming connection from the ESA. For more information, see Using the Sample ESA.
Reset Records PairingOnce the synchronization has been established, it is possible to reset the record pairing by clicking this button. This will make the next synchronization operate on every field as a first sync.

ESA Settings Tab

Once the connection has been established with the ESA, the ESA Settings tab opens and allows you to set the directory path and other relevant ESA configuration options. 

The tab is completely ESA-specific. For a File-Directory ESA it looks like this:

For the Exchange ESA it looks like this:

The parameter set is specific to the ESA type, but usually you will be at least prompted to enter the external system connection attributes here.

After you press Next, the ESA will usually have enough information to connect to the external system. In cases when it does connect to the external system, it may open database connections, make some queries, verify, and /or provide additional parameters to manage, based on what it finds.

For example, a basic set of parameters may have host and login/password, and an advanced set may include selected tables to synchronize. If names of tables are extracted from the remote system, the ESA will have to connect to it first.

Clicking Next opens the Table Mapping tab.

Table Mapping Tab

The Table Mapping tab contains a list of the tables in the current knowledgebase, which can be mapped to structures such as tables or databases in the external system. Select a structure from the drop-down and click the Map button. This will establish the mapping relationship and open the Field Mapping wizard where you can map the individual fields between the tables for synchronization. 

Some ESAs may ask for additional parameters after connecting to the external system. To set them, press Back to return to the ESA Settings tab.

Field Mapping Wizard

In the Field Mapping wizard you can define the relations between fields in the  Agiloft table and the external structure to which it was mapped. Whenever synchronization happens, these fields will be synchronized in the direction specified in the General tab and the behavior specified in this wizard. For more information see Synchronization Record Matching 

Modification Time FieldUsually an  Agiloft table has a Date Updated Datetime field. It may have several Datetime fields, and the user can select one of them to hold the modification timestamp.
Table Update TypeFields can be either synchronized or simply replaced in either system depending on this setting.
Allowed OperationsAny of the sync operations can be prevented or enabled by selecting the check box in this section.
ID GenerationSets whether the ID is set by the external system or Agiloft, and how the ID should be stored.
Field MappingSets whether fields should be strictly matched during sync and provides a list of all table fields with the related mapping options. Field names in the external structure, provided by the ESA, should be matched with their corresponding field names in the  Agiloft table.

Filters Tab

The Filters tab enables you to use saved searches to filter the Agiloft or external system records when matching fields, as well as selecting the filtering method to apply. An  Agiloft filter will prevent filtered records in Agiloft from being synced to the external system, and an External filter will prevent filtered records in the external system from being synced to  Agiloft

Relation Mapping Tab

The Relation Mapping tab enables you to set linked field relations with mapped fields. 

Fields from key linked sets in the Relation Mapping tab cannot be used in the Mapping tab as these will define primary relationships between the key tables. For example, Phone Number or Email fields in the Company mapping are part of the linked set between Company and Contact, and will make it impossible to set up a relationships between Company and Contact in the Relation Mapping tab.

It is also possible to use linked fields as normal mapped fields in the Field Mapping Wizard. However this is less strict and just updates the values of the field from the linked field set directly. The Relation Mapping tab takes the entire set of fields as a unit, with the link-holding fields and the connected fields set as relations in the ESA. In this case, if the linked set is required, and a child field cannot be found in one of the systems, the record will not be updated and an error will appear. 

Example

Take a Salesforce ESA sync with the following required linked field relations between Salesforce and Agiloft:

  • Accounts in Salesforce mapped to Company with the linked set Account ID > ID, Account Name > Company Name, Account Number > Company Number, Website URL > Website URL.
  • Opportunity in Salesforce mapped to Opportunity with the linked set Amount > Sale Value, Closed Date > Estimated Close Date Created Date > Date Created, Name > Opportunity Name, Probability(%) > Probability of sale, Stage > Status.

In the Relational Mapping tab, you can set the Account ID mapped to the Company linked field set: Company(Company, Currency, Fax, Company ID, Industry, Main Location ID, Parent Company, Region, Telephone, Website URL). In Salesforce, if you create an Opportunity record without linking it to any Account name, this will result in that record not being updated during sync and will end with an error, due to the required linked field between Agiloft and Salesforce.


Running Tab

The Running tab defines whether the synchronization process is initiated...

  • manually, through the Sync option in a Table view.
  • as actions - among background Agiloft activities, including running sync upon a record change or by a schedule.
  • at the request of the ESA.

By default, all three triggers are allowed.