Page tree

Integrating with Custom Backend Data

This topic describes the different options in which Agiloft can integrate with custom backend data. Data that's typically integrated includes user information, product information, and sales data.

Scheduled Import/Export Functionality

Record data can be imported or exported using the out-of-the-box scheduled import/export functionality. Compatible file formats include ASCII, XML, and Excel. You can also create a backup of a knowledgebase by exporting into  Agiloft's standard format. For more information on scheduled import/export functionality, see Creating Backup Files.

Advantages

  • This functionality is relatively easy to implement.
  • Developers do not need to be involved.
  • This functionality is available with all  Agiloft editions
  • This functionality is available out-of-the-box

Disadvantages

  • Data cannot be integrated in real-time.
  • Data can only be imported or exported in a few file formats.

External System Adapter (ESA) Plugins

ESA plugins enable connectivity between  Agiloft and an external system. They provide a means to maintain data synchronization between systems and update data in real-time. Pre-built ESA plugins are available for common systems, or custom ESA plugins can be built for data integration with less common systems. For more information on ESA plugins, see the ESA Developer Guide.

Pre-built ESA Plugins

Agiloft comes with a number of pre-built ESA plugins for data integration, such as Salesforce, Exchange, Excel, and more. 

Advantages

  • ESA plugins allow for real-time data integration.
  • Developers do not need to be involved.
  • Pre-built ESA plugins are available out-of-the-box.

Disadvantages

  • Some ESA plugins require higher editions of Agiloft.
  • ESA plugins are more difficult to implement than import/export functionality.

Custom ESA Plugins

Custom ESA plugins can be built by customers when integrating with an external system not compatible with a pre-built ESA. Custom plugins can be built in the language of their choice, but Java is recommended. For more information on building a custom ESA plugin, see Building a Custom ESA.

Advantages

  • ESA plugins allow for real-time data integration.
  • Custom ESA plugins allow for integration with any external system that houses the data.

Disadvantages

  • Custom ESA plugins require the Advanced or Premium edition of Agiloft.
  • Custom ESA plugins can be time-consuming to build.

Custom Scripts

Custom scripts can be built for targeted data integration using standard web services such as SOAP, REST, etc. Price quoting is based on the best estimate of script complexity, project overhead, and testing. For more information, see Custom Scripts

Advantages

  • Custom scripts allow for real-time data integration.
  • Custom scripts can meet unique or specific data integration demands.

Disadvantages

  • Depending on their complexity, custom scripts may take up to 80 hours to write.
  • Custom scripts will Increase costs, especially if the script is complex.
  • Custom scripts require the Advanced or Premium edition of Agiloft.

Questions to Ask

  1. How much data is being integrated? If there is a lot of data, both import/export functionality and ESA plugins can be used to integrate data across multiple tables at once. If there is less data, scheduled import/export functionality can also integrate data into a single table, or a custom script can be written, which typically only integrates data into a single table.
  2. Is the data being integrated in both directions or one? ESA plugins and custom scripts allow for real-time, bidirectional data integration or real-time, unidirectional integration in either direction. Scheduled import/export functionality can be set up to only import data into  Agiloft, only export data from  Agiloft, or both import and export data.
  3. Into what fields is the data being integrated? When importing data using the import/export functionality, field names in the source file must \match the field names in  Agiloft into which they will be mapped for the import to work as intended. Otherwise, you need to map the fields manually.
  4. From what systems is the data being integrated? If the data to be integrated is stored in a common system, such as Excel or Salesforce, a pre-built ESA plugin may be the best choice. If the data is stored in a less common system not supported by the built-in ESA plugins, a custom ESA plugin or a custom script will need to be built. If the data is stored in a common file type, such as an XML or Excel file, scheduled import/export functionality can work.
  5. How often will the data be refreshed? ESA plugins and custom scripts allow for real-time data integration. Import/export functionality can only integrate data at a scheduled time interval.
  6. Will all data continually be integrated or only changed data? When data is updated in real-time using an ESA plugin or custom script, typically only changed data is integrated. When using the import/export functionality, all data in the file is imported or exported.

Typical Use Cases

The best method for data integration in  Agiloft is determined by the goals of integration. Understanding the goals of integration is therefore central to choosing the appropriate method during implementation.

Scheduled Import/Export Functionality: To integrate static, relatively unchanging data, such as data about users or employees, scheduled import functionality typically works well because syncing the data in real-time is unnecessary.

Example

  • A company stores information about their employees, such as job title, department, emergency contact, and home address, in an Excel file and needs this data imported daily into Agiloft.
  • A company has basic information about their customers stored in Agiloft and wants a text file containing this information exported every week.


ESA Plugins:
For fluid data that can change often, an ESA plugin may be the best choice. ESA plugins typically integrate data in multiple tables at once, so they're often used for data that spans multiple categories and needs to be updated in real-time.

Example

  • Pre-built ESA Plugin: A company uses Salesforce to manage their customer data. They also store some of this data in Agiloft, using the Contract, Account, and Lead tables. They want to ensure that changes to data in Salesforce are always reflected in Agiloft and that changes in Agiloft are always reflected in Salesforce. They need data synchronization to happen in real-time because this data can change frequently.
  • Custom ESA Plugin: A company uses IBM Db2 to store data about purchase orders, quotes, and daily sales. They want this information updated in Agiloft as soon as an employee makes a change in IBM Db2.


Custom Scripts:
Custom scripts allow data to be updated in real-time, but they have a narrower range than ESA plugins. They usually integrate data in only one table, so they're better suited for a unique, targeted approach to data integration.

Example

  • A company stores information about new sales leads in NetSuite. Changes to the data may be made in either Agiloft or NetSuite, so both systems must be kept in sync.
  • No labels