Skip to main content

Integration Questions list

- Which direction is the sync going from ?
  - SF > other system ?
    - is that system accessible via the internet ?
    - does it support OAuth2 ?
    - does it support TLS1.2 ?
    - Does it have a REST or SOAP API ?
  - other system > SF?
    - can it leverage standard SF APIs ?
    - does it support OAuth2 ?
    - does it support TLS1.2 ?    
  - both ?
    - all of the above, plus:
      - do the synced tables overlap ?
      - if yes, which system is the master ?
      - how should conflicts be resolved ?
- When is data synced ?
  - on record change ?
  - on user action ?
  - at set time ?
  - a combination of the above ?
- What is the amount of data to be synced, in number of records, per table ?
  - If > 1mil yearly:
    - should we archive old records ?
      - where ?
    - should we delete old records ?
    - are BigObjects a possibility ?
    - can we look into having an external data warehouse where we have the data and SF only pulls what is needed ?
- is there a 1/1 correlation between tables in SF and backend, or should we do a custom mapping between tables ?
- are there limits in he other system we need to be mindful of ?

 

 

Pre-scoping questionnaire

Does the client backend have any access restrictions?

  • Specific IPs to whitelist?
  • Proxy/limited access/etc?
  • Does the backend support TLS1.2 minimum?
  • Does the backend support OAuth2?
  • Are there limits to the number of API calls that can be made?
  • Are there limits in payload size?
  • Are there limits to the delay in answering a specific call?
  • What is the average response time of the API?

 

Is REST the only viable integration solution?

  • Do all the data flows have to be real time?
  • Can some data flows be handled via batch nightly loads instead of REST integration?
  • Is the tight coupling REST integration forces a problem for the future?
  • In case of real-time data sync, has events-based architecture been considered?

 

Does the client have documentation they can send over?

  • Swagger or equivalent?
  • Lacking that, basic pdf documentation?
  • Lacking that, examples of calls and responses?
  • Lacking that, can the client provide a list of supported methods (GET, PUT, POST, etc), and expected formats (JSON, XML) ?

 

Are all data flow operations possible in the current backend?

  • Do endpoints exist for all specified data operations?
  • If yes, are they considered stable?
  • If no, can new endpoints be developed, or existing endpoints adapted?
  • If yes, in which timeframe?
  • If yes, is this viable for the current project?
  • If multiple calls depend on each othother