Software as a Service CRM implementations require more than just SaaS to succeed. SaaS customer relationship management must be integrated with other applications and data sources. The goal of SaaS CRM integration is an integrated view of customer data, which unlocks its inherent value and increases productivity.
Achieving that integrated view requires careful planning. With SaaS CRM, the data to be integrated includes data from on-premises applications, other SaaS applications, and data from nontraditional (Web) data sources.
Every organization seeking to maximize the value of its SaaS CRM deployment should consider 10 SaaS CRM integration building blocks.
1. Identify the Main Data Sources
First, create a full inventory of the data and applications used in each area of the business, including sales, marketing, finance, shipping, manufacturing, inventory and support. In the inventory, identify both the functional area and the applications and data used. Don’t restrict the inventory to direct application use; it should also account for reports and the like.
The data inventory should include Web data sources, such as LinkedIn, Hoovers, Dun and Bradstreet — and even Twitter and Facebook.
Review the inventory to determine who needs access to what customer data. Creating an inventory often reveals surprises, such as data flowing along unexpected paths. Opportunities to provide access to data that was previously inaccessible or unknown to users are often uncovered.
2. Identify the System of Record for Key Business Data
Next, determine which system should be the authoritative “system of record” for key data. Common data that should have an identified system of record include the product master, orders, invoices and, of course, customer information.
Then, identify duplicate data. If data must be duplicated, it should include a reference to the system of record, which can be used to resolve conflicts. A good example of a data duplication scenario is the storage of the product list in the CRM system.
The CRM system is rarely the system of record for products, but it usually stores product information for creating quotes or for support. When the product information is loaded into the CRM system, the product system of record should be referenced.
3. Attend to Data Conversion
Because it’s a one-time task, the data conversion process is often neglected or underestimated.
In practice, this process is essential to project success, as customer data is the foundation of any CRM system.
During the conversion, consolidate as much as possible into the customer master. If customer data was previously stored in multiple locations, it may be necessary to use different sources for different parts of the customer record.
4. Decide What to Integrate
Next, determine the flow of data through the systems. Usually, it appears that everything needs to be interfaced to everything else. Attempting to integrate everything will add unneeded scope and complexity. Instead, focus on using integration to add value to business processes.
Use integration to replace error-prone manual processes, like creating sales orders from quotes. Also, choose integrations with a clear return on investment, where having additional data available directly in a system will result in short-term improvements in productivity, time to close, or other business goals.
5. Use Data Services
CRM users generally want access to data that is typically not available in a CRM system, such as customer order history and support activity. The best approach is to use data services to make this data available on-demand. Once a data service is created, it can be used and shared by multiple applications, reducing costs and simplifying the integration process.
Generating the data services in a secure, controlled manner can be a challenge. Few SaaS or on-premise applications have support for feed-oriented data service interfaces compatible with common client technologies. As part of the integration process, choose technologies that simplify this form of integration.
6. Evaluate APIs
CRM integration usually involves many applications. When integrating SaaS applications, it is necessary to evaluate their application program interfaces to determine which data elements can be read, written or updated. APIs can vary considerably in functionality and complexity.
SaaS APIs tend to be complex and are often based on enterprise-oriented SOAP Web services. Conversely, Web data sources usually support simpler REST interfaces. Local applications, especially legacy ones, were often designed with very limited or no formal APIs, requiring extracts or direct database access.
7. Decide Where Integration Processes Will Run
A key part of SaaS CRM integration is determining where the integration processes will run. The integration processes will need access to the applications, and the most significant constraint on locating the integration processes is often application connectivity.
Integration technology should be located to minimize the complexity and to increase the security of the implementation. For SaaS-SaaS integration, a SaaS or hosted integration solution may work, but if the majority of applications and data are local, the integration solution should probably also be local.
8. Evaluate Security
Most SaaS applications with APIs enforce access controls based on user login. When connecting to the SaaS application, use a dedicated login, configured with the fewest permissions required to perform the operations needed. Don’t use “administrative” accounts, which typically override most access controls. A dedicated login simplifies audits; otherwise, user operations are mixed in with automated integration operations.
As part of the security evaluation, audit interfaces to ensure that both the interfaces and the logins they use don’t provide unintended back-door access to application data. SaaS APIs will usually support secure connections via SSL. However, other applications may not, so all connections that cross the firewall must be secured.
9. Evaluate Firewall Configuration
The very nature of SaaS integration involves data moving to and from the local network, which requires a firewall evaluation. SaaS applications typically use SOAP Web services or RESTful interfaces running over HTTP protocols. Verify firewall rules for port access to ensure integration processes can initiate outbound connections to SaaS applications while controlling incoming access. Also, review or configure any Web proxy software to account for the integration connections.
10. Use an Integration Tool
Successful SaaS CRM integrations are architected with an eye to the future. Over time, systems will be upgraded, replaced and moved around, requiring changes to the integration logic and interfaces. Changes to business requirements and processes will also require changes to integration logic. Combining these changes with the number of applications involved and the complexity of the application APIs, it is clear that these integrations require tools rather than custom coding.
When evaluating integration technology, there many considerations:
- support for the particular SaaS applications in use;
- support for local applications and data sources;
- support for Web data sources;
- simplified use of complex application APIs;
- ability to create Web data services;
- ability to implement business processes and data transformation logic;
- support for deployment in test and production environments; and
- support for ongoing change and management.
A careful consideration of these 10 SaaS CRM integration building blocks is an essential part of any successful integration effort. Time spent planning, particularly planning for the future, will be rewarded!
Mike Pittaro is cofounder of SnapLogic, an open source data integration company.