# Integration Questions list

\- Which direction is the sync going from ?  
\- SF &gt; 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 &gt; 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 &gt; 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 ?

## <span style="font-weight: 500;">Pre-scoping questionnaire</span>

<span style="font-weight: 300;">Does the client backend have any access restrictions?</span>

- [<span style="font-weight: 300;">Specific IPs to whitelist</span>](https://help.salesforce.com/articleView?id=000003652&r=https%3A%2F%2Fwww.google.com%2F&type=1)<span style="font-weight: 300;">?</span>
- <span style="font-weight: 300;">Proxy/limited access/etc?</span>
- <span style="font-weight: 300;">Does the backend support TLS1.2 minimum?</span>
- <span style="font-weight: 300;">Does the backend support OAuth2?</span>
- <span style="font-weight: 300;">Are there limits to the number of API calls that can be made?</span>
- <span style="font-weight: 300;">Are there limits in payload size?</span>
- <span style="font-weight: 300;">Are there limits to the delay in answering a specific call?</span>
- <span style="font-weight: 300;">What is the average response time of the API?</span>

<span style="font-weight: 300;">Is REST the only viable integration solution?</span>

- <span style="font-weight: 300;">Do all the data flows have to be real time?</span>
- <span style="font-weight: 300;">Can some data flows be handled via batch nightly loads instead of REST integration?</span>
- <span style="font-weight: 300;">Is the tight coupling REST integration forces a problem for the future?</span>
- <span style="font-weight: 300;">In case of real-time data sync, has events-based architecture been considered?</span>

<span style="font-weight: 300;">Does the client have documentation they can send over?</span>

- <span style="font-weight: 300;">Swagger or equivalent?</span>
- <span style="font-weight: 300;">Lacking that, basic pdf documentation?</span>
- <span style="font-weight: 300;">Lacking that, examples of calls and responses?</span>
- <span style="font-weight: 300;">Lacking that, can the client provide a list of supported methods (GET, PUT, POST, etc), and expected formats (JSON, XML) ?</span>

<span style="font-weight: 300;">Are all data flow operations possible in the current backend?</span>

- <span style="font-weight: 300;">Do endpoints exist for all specified data operations?</span>
- <span style="font-weight: 300;">If yes, are they considered stable?</span>
- <span style="font-weight: 300;">If no, can new endpoints be developed, or existing endpoints adapted?</span>
- <span style="font-weight: 300;">If yes, in which timeframe?</span>
- <span style="font-weight: 300;">If yes, is this viable for the current project?</span>
- <span style="font-weight: 300;">If multiple calls depend on each other</span>