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

Refer to the table below for each option.

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 determines what other options 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.

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.

Related tables on explicit records

Determines whether to include records in related tables. If you select this option, you need to include the related tables in the Relation Mapping tab.

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.

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.

Click 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 parameter set is specific to the ESA type, but usually this tab includes the necessary fields to set up a connection to the external system.

After you press Next, the system usually has enough information to connect to the external system. In cases when it does connect to the external system, it might open database connections, make some queries, verify, or provide additional parameters to manage, depending on what it finds. For example, a basic set of parameters might have a host URL and a login and password pair, while an advanced set might include selected tables to synchronize. If the wizard needs to show information extracted from the remote system, the system needs 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 establishes 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 are synchronized in the direction specified in the General tab and in this wizard. For more information see Matching Records with Synchronization.

Modification Time Field

Usually an  Agiloft table has a Date Updated Datetime field. It might have several Datetime fields, and the user can select one of them to hold the modification timestamp.

Table Update TypeFields can be 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 Generation

Sets whether the ID is set by the external system or Agiloft, and how the ID should be stored.

Post ActionApplies the selected action to changed records after a successful sync.
Search for related recordsIncludes records in related tables in sync for this table.
Field Mapping
Sets 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 prevents filtered records in Agiloft from being synced to the external system, and an External filter prevents 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.

Relation Mapping screen

Fields from key linked sets in the Relation Mapping tab cannot also be used in the Mapping tab, as these 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 they 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 isn't updated and an error appears. 


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 Relation 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, that record is not updated during sync and ends with an error, due to the required linked field between Agiloft and Salesforce.

Running Tab

The Running tab defines how the synchronization process can be initiated:

  • Manually, through the Sync option in a Table view.
  • As actions, including running sync on a set schedule or when a record is updated.
  • At the request of the ESA.

By default, all three triggers are allowed.