Integrated system is a great need to run business successfully. So while Marketo helps you capture more leads, Salesforce plays an important role in nurturing and monitoring them. In such scenarios, integration plays an important role. Here are few tips that can help you to get started on integration with salesforce:
Identify data that needs to be synced
Before starting with the integration, you need to identify what external data needs be synced with Salesforce. Salesforce Integration team needs to have a strong understanding of the desired data. Example: For any eCommerce application, you must identify the data that needs to be stored in Salesforce such as Orders, Product information, Customer details, Transaction details, Customer Feedback and so on.
Define a data model
Take a time to identify data that is relevant to the needs of the end users and setup a data model that meets the requirement. A Salesforce integration requires complete knowledge about the context of the data and where to store it. We can either use existing standard objects or can create a custom object to store the data. Example: For any eCommerce application, you can use standard Account and Contact objects to store the customer details. Whereas, you can create a custom Feedback object to store the details such rating, comment from a user.
Do not forget external ID
External IDs allows you to store a unique key on a Salesforce record that can be used to update from an external system. Example: For any eCommerce application, you can store the unique order ID on a Order record in salesforce so that you can identify and update the record using external ID whenever the order is updated.
Determine how often you want to sync the data:
- Real-time Integration Sync the data from external system as soon as the data is created or updated in the external system so that data is always synced in both the systems(Salesforce as well as the external system being integrated)
- At scheduled interval Example: For any eCommerce application, you can schedule a batch to fetch the data everyday at 12PM.
Uni vs Bi-directional
You also need to determine which direction the data needs to move
- Uni-directional Example: For any eCommerce application, use uni-directional integration when data just needs to be pulled from the external system in salesforce i.e., the user feedback is just being pulled from the external system. Any changes to the feedback record in salesforce are not pushed back to the external system.
- Bi-directional Example: For any eCommerce application, use bi-directional integration when data needs to be pulled from the external system in salesforce as well as any updates done on salesforce side needs to be pushed from salesforce to the external system i.e., Orders are pulled from external system. If the order status is updated from the salesforce, it will be reflected in external system. NOTE: All the API doesn’t support Bi-Directional Integration.
Review API limits
This is very important. Like Salesforce, some external systems enforces limits on API such as the amount of data it can transfer in a 24-hour period or number of request that can be made every minute to fetch the data.
Make sure errors are handled properly. There are many different ways in which the exceptions can be caught such as Sending an Email on exception, Logging in a custom object and so on. Example: If a callout fails for any reason or a record fails to insert, such error must be traced in Error Log custom object so that user is aware why the sync or record failed.
You should review the security policies with your integrated systems. Make sure the applications you integrated with Salesforce are not leaving you exposed.
Scalable Integration Design
There may be a need of extending integration with few more aspects in future. Identify the possibilities and design your integration model accordingly.