Links

Integration Check List

Most important considerations before starting an integration
In addition to checking the below, please review the integration best practices.

Check list before an integration

  • Is the system you like to integrate present on our platform?
    • If no, please provide the following information:
      • Does the system provide a rest API or SOAP web service?
      • Is a Swagger file / OpenAPI documentation available?
      • Which endpoints / functions need to be used?
      • Optional: Does the system provide export functionality?
      • Optional: Does the system provide database access e.g. via ODBC?
      • Optional: Who can be consulted on technical issues?
  • Are test or staging systems available?
  • Test data should be prepared for the first instance but also for testing later changes
  • Authentications: Are all API keys or username and password at hand? If restricted role-based access is available, this should be agreed upon and configured
  • Is the service publicly awailable, or are firewalls present that require IP-white listing?
    • For firewalls, VPN access needs to be granted
    • Our static IP needs to be requested via a support ticket and white-labeled on the other systems
  • Consider all data privacy and GDPR / DSGVO requirements, e.g., deletion requirements, etc.
  • Synchronization technical aspects
    • Execution frequency - Real-time vs. e.g., daily sync (see also Webhooks for real-time syncs)
    • Webhooks - Are webhooks available?
    • Object mapping - Sometimes, objects don't map 1:1, and on one system, one object can be represented in two objects on the other system. This has implications on the integration flow
    • Field mappings - Please request our Google sheet template as an ideal basis
    • Custom fields - If one system allows custom fields, how are they handled in the other system? Can they be added by users easily, and how should the integration handle unexpected new custom fields?
    • Data model relations - through what unique / foreign keys are objects connected?
    • Validation - Do the systems provide validation of data (length, some characters only, ...), and how are they enforced? If they are not enforced, there are several ways, e.g., the Validation Helper and the replace('#', '') Jinja-function to do this on our side.
    • Pagination - For large data sets, how is pagination taken care off to loop over lists?
    • Filtering - Can views, lists, or collections be filtered via the API?
    • Sorting - Can views, lists, or collections be sorted via the API?
    • Transformation of data,...
      • e.g., one system uses UTC-timestamps, the other German timestamps; how is the transformation done?
      • One system uses EUR and USD as currencies, the other currency symbols $ € - how is the mapping done?
      • Select drop-down fields: Where are the options stored? What if a new option is generated (e.g., it is easy to generate new options in Salesforce)? Should a default value be used or an error be thrown?
      • ...
  • Who gets error messages if an integration run fails?
  • Once records are - created, updated, or deleted - on one system, what should happen on the respective other system?