Integrating Salesforce with Other Business Tools for Seamless Operations

  • Types of Integration Patterns in Salesforce CRM
  • Organizations of any size and across multiple business domains commonly connect their CRM to external systems at the process and data levels. These can be divided into three main types of integration in Salesforce that we will look at.

    a. Integration Categories:

    We can use integration for different purposes. Integration in Salesforce can be divided into three categories.

    • Data Integration: This type of integration is required when we have to synchronize data between two different systems. We have to take care of master data management (MDM), data governance, mastering, de-duplication, data flow design, and others.
    • Process Integration: This type of pattern is required when we need some action in an external system based on some logic in the current system. Once both system’s tasks are completed only then the transaction is counted as complete.
    • Virtual Integration: Virtual integration is required when we need to show real-time data from an external system but don’t need to store that data in Salesforce.

    b. Integration Patterns:

    Based on the above categories we have the following types of integration patterns.

    • Request and Reply: Salesforce invokes a process on an external system, waits for the completion of that process, and then updates data in Salesforce based on the response from the external system. This pattern works synchronously. Below are examples where this type of pattern is used.
    • REST API: Where you need a response Salesforce Lightning components or pages initiating a SOAP or REST callout synchronously. A custom Visualforce page or button that synchronously initiates an Apex HTTP callout. A trigger invoked from Salesforce data changes that perform a SOAP or HTTP callout synchronously. A batch Apex job that synchronously performs SOAP or HTTP callouts.
    • Fire and Forget: Salesforce invokes a process in an external system but doesn’t wait for the completion of the process. The external system receives and acknowledges the request and then hands off control back to Salesforce. In this pattern, the immediate response is not expected by Salesforce. This pattern works asynchronously. Example of fire and forget pattern
      • Process-driven platform events
      • Customization-driven platform events
      • Workflow-driven outbound messaging
      • Batch Apex job that performs an Apex SOAP or HTTP asynchronous callout
      • Custom Lightning component or Visualforce page that initiates an Apex SOAP or HTTP Asynchronous callout.
    • Batch Data Synchronization: Salesforce applications can easily integrate with any system. Organizations use a different system for different use cases but want all data stored in a central storage location. This central storage should always be in sync. In this case, we can use a batch data synchronization pattern. We can sync data bi-directional. We can create batch jobs and schedule them to run when the system is less utilized. We can also use streaming events to sync data when records are changed in Salesforce. Example of fire and forget pattern
      • Billing System Sync
      • ERP System Sync
    • Remote Call-In: When an external system wants to extract/update details in the Salesforce system then this pattern is used. The external system can use Salesforce REST API, SOAP API, or Bulk API to sync data in the Salesforce system.
    • UI Update Based on Data Changes: When we need some kind of update on the lightning component/page then we can use this kind of pattern. Like our product page shows several available quantities, it should keep updating based on product availability without any refresh. We can use streaming API for this kind of pattern.
    • Data Virtualization: Salesforce accesses external data in real-time. Data is not saved in Salesforce. Data reconciliation is done between Salesforce and the external system.
    • Salesforce Integration Capabilities
    • When we are talking about integrations, we must understand their timing and direction. Timing falls into two categories:

    • Synchronous: You call another system, but you have to wait for a response in return. The processing won’t continue until the response has been received. Asynchronous: You call another integrated system, but you don’t have to wait for a response – further processing can continue. For example, if you have a background job that will take a long time to process, you don’t want to wait for the response from that to be created (as you risk a timeout)
    • Asynchronous: You call another integrated system, but you don’t have to wait for a response – further processing can continue. For example, if you have a background job that will take a long time to process, you don’t want to wait for the response from that to be created (as you risk a timeout).
  • Types of Integrations and Integration Approaches
  • Types of Salesforce integration
    • User interface integration
    • Batch integration
    • Salesforce data integration
    • Salesforce integration checklist
    • AppExchange
    • Enterprise service bus integration
    • Vertical integration
    • Data virtualization
    • Hub and spoke
    • MuleSoft Composer
    • Other mashups
    • Automation
    • Enterprise application integration
    • Fire and Forget
    • Heroku Connect
    • Jira Salesforce integration
    • Outbound message
    • Platform event
    • Data integration
    • Integration
    • Salesforce Connect
    • Apex
    • Data
    • Mailchimp Salesforce integration
  • Types of Integration Approach:
    • App-Based Salesforce Integration Approach
      • App-based integrations are low-code or no-code approaches to integrating Salesforce CRM. A proprietary app like MuleSoft Composer, which is available from Salesforce App Builder, or a third-party app like Zapier or Coupler.io can be used for this. Although some of the most complex integrations may not be possible using this method, it is quite simple to set up – this describes well both the main benefit and the main drawback of this method. Because you can conduct the integration process yourself, app-based integration is a great option for SMEs and solopreneurs.
    • Code-Based Salesforce Integration Approach
      • Alternatively, you can utilize coding-based solutions to connect Salesforce CMS with other applications. The code for this Salesforce API interface will most likely to be written in Apex, a language roughly akin to Java, and hosted on the Salesforce platform. This strategy does allow for more complex and challenging integrations despite the additional effort of executing it. So if you’re a big enterprise with big needs, the code-based method should be your choice however chances are you will need an outside Salesforce integration expert team to assist you with that.
  • Ways to Integrate with Salesforce
  • There are key five ways/strategies to integrate Salesforce:

    1. Integrate.io

    We’d be remiss if we didn’t mention that Integrate.io is one of the best ways to integrate Salesforce with other platforms. Integrate.io is a powerful, feature-rich, cloud-native ETL and data integration solution with a single goal: making it easier for anyone to build secure, enterprise-grade pipelines from your data sources to your cloud data warehouse or data lake. Integrate.io prioritizes ease of use, with a straightforward no-code, drag-and-drop interface that lets users define complex integrations and pipelines, regardless of technical skill level. What’s more, the Integrate.io platform comes with more than 100 pre-built connectors to popular databases and SaaS applications — including Salesforce. One feature in particular that makes Integrate.io unique is our two-way Salesforce-to-Salesforce connector. This enables you to pull data from your Salesforce deployment, transform it, and then move it back into Salesforce.

    2. Third-Party ETL Tools

    Of course, Integrate.io isn’t the only ETL tool on the market. There are several ETL tools available with Salesforce integrations, many of them with their specialized functions and use cases. We believe that Integrate.io is the best ETL tool out there, especially for integrating Salesforce data. If you’d like to investigate other solutions, however, we encourage you to check out our ETL tools comparison article which will help break down all the differences. We’ll also discuss one of these alternatives, MuleSoft, in greater detail below.

    3. Salesforce AppExchange

    Salesforce AppExchange is a software marketplace that lists the applications, platforms, and solutions that play well with Salesforce CRM. Here, Salesforce users can find integrations with many popular software tools in their workflow: Mailchimp, Zapier, Asana, Slack, and many more. The Salesforce AppExchange is a good place to look if you just need a single quick integration. For a more robust solution that can handle a wide variety of use cases, however, we recommend using a Salesforce ETL tool like Integrate.io.

    4. MuleSoft

    MuleSoft is a data integration and API platform acquired by Salesforce in 2018. So why would you prefer a third-party ETL platform like Integrate.io to Salesforce’s integration tool? MuleSoft has a steep learning curve that requires extensive training via the MuleSoft.U certification program. The MuleSoft platform includes additional features such as an ESB (enterprise service bus) and an iPaaS (integration platform as a service), which may be overkill for users who just want to integrate Salesforce data. What’s more, these features come at a price, which puts MuleSoft out of reach for smaller businesses with limited budgets.

    5. Salesforce Connect

    Last but not least, Salesforce Connect is an integration tool that can display information from an external CRM or ERP (enterprise resource planning) solution as if this data were stored in Salesforce itself. This approach is a little different from the other Salesforce integration options we’ve discussed: Salesforce Connect brings external data into Salesforce, rather than pushing Salesforce data out. In addition, the Salesforce Connect tool comes with certain technical limitations that can present challenges in practice. We recommend enhancing your usage of Salesforce Connect with a robust, purpose-built ETL tool to help fill these gaps.