Tableau and Salesforce.com better together

Maximize your investment in Salesforce and Tableau with Force.com Canvas Integration

Salesforce.com is the industry-leading salesforce automation (SFA) and customer relationship management solution (CRM) and Tableau is ranked far ahead of all competing products in the Business Intelligence and Analytics (Gartner 1). Separately, they are great tools but integrated together they are much more powerful. By leveraging Salesforce.com Canvas to surface Tableau reports and dashboards you can:

  • Access and blend data from multiple sources and show that data in Salesforce.com
  • Provide your users with visualizations not available in Salesforce.com native reporting such as maps and various scatter diagrams
  • Create reports not possible with Salesforce.com report types
  • Create context aware reports that show only relevant data
  • Give users the insight they need to make informed business decisions without having to look in multiple systems
  • Provide a complete view of customers and partners regardless of where the data exists (ERP, legacy databases)

In this example, the following configuration is shown:

  • the user will login to Salesforce.com Enterprise Edition
  • the reports will be provided by Tableau Online
  • Salesforce.com Canvas will be used to show the Tableau reports in Salesforce
  • Salesforce.com will be the identity provider enabling SAML
  • Amazon (AWS EC2) will host Apache Tomcat for the Tableau Sparkler application

There are numerous configurations that could be implemented. In this case, there are no incremental costs beyond the Salesforce.com and Tableau licensing. Any version of this solution will likely be a challenge to the small-to-mid-sized business based on the number of technologies and concepts involved. This document doesn’t represent a step-by-step manual, but rather an overview of the activities taken to implement this solution. It may be best to work with a consulting partner that has experience implementing these solutions.

Step 1 – Determine Reporting Strategy, Requirements and Solution

It’s important to take some time to consider the reporting needs before diving into an endeavor of this type. What information is needed, when is the data needed and by what users? Very often moving the data into Salesforce may be a lower-effort and cost approach that meets the needs of users. Other times, the users really need an alert notifying them of a business condition rather than a report. It is critical to understand and analyze the needs before considering the best solution. We’ll assume that the business requirements justify this integration.

Step 2 – Download the Canvas Adapter

Download the Salesforce Canvas Adapter for Tableau from the Tableau website. This file will contain a deployment guide, a program called Sparkler (created by Tableau to enable the integration), and some samples and configuration files.

Step 3 – Setting up Salesforce as an Identity Provider

Tableau Online requires SAML integration to provide a trusted connection between Salesforce.com and Tableau online. This can be accomplished using Salesforce.com as an identity provider. This requires the configuration of Single Sign-On with SAML in Tableau and the Identity Provider Configuration in Salesforce.com. The steps in Tableau are laid out on the configuration page and the Salesforce Help Screens walk through the steps of configuring Salesforce.com as an identity provider.

Once this configuration is complete, you’ll be able to login directly from Salesforce to Tableau without entering a Tableau password. It is possible to use other identity provides and if you already have SSO in your business, you likely will.
Hint: Make sure you set up an admin user in Tableau that is not configured for SAML. That way if there are any problems with SAML, you can log in and fix them.

Step 4 – Getting a certificate

The connection to Tableau Online requires SSL (encryption). In order to enable SSL, you’ll need a certificate. You can get a certificate from a certificate authority (such as Go daddy or Network Solutions). There are some free and lower cost options and you can even generate your key. In this case, we generated a self-signed key using the keytool provided with Java (keytool.exe). The Tableau deployment guide has a section on how to create a self-signed certificate.
Hint: Self-signed certificates will be seen by the browser as less secure and you will see security errors during implementation and testing. You might see the screen below or something similar.

Security error due to insecure certificate

Step 5 – Deploy Tomcat

Apache Tomcat is a free open source application available at apache.tomcat.org. This application is required to run the Tableau Sparkler application that sits between Salesforce and Tableau Online. Tomcat does need a server on which to run. We opted for Amazon (AWS EC2). This keeps the solution 100% cloud-based and completely scalable. There are plenty of resources on the web describing how to configure Tomcat on AWS (here for example is a great step by step guide). The process of setting up and configuring Sparkler on Tomcat is outlined in the Tableau Deployment guide.

This screen will show up once Apache Tomcat is installed

Hint: If you deploy on a windows server, be aware that you’ll need to configure the AWS security groups and the Windows Server Firewall to allow access.

Step 6 – Setting up a connected app in Salesforce

Salesforce Canvas requires the configuration of a Connected App in Salesforce. A connected app, establishes a connection between Salesforce.com and the Sparkler Application (and ultimately the Tableau Online Server). Again, the Tableau deployment guide does a good job of explaining setting a connect app. Salesforce also provides assistance with configuration of connected apps.

Step 7 – Configuring a Visualforce Page

Once the Connected App has been configured, Visualforce is used to surface the app in Salesforce. The Canvas Adapter package provides some samples that can be used as a starting point in configuring the Visualforce page. The Visualforce page can then be exposed in the various ways that Visualforce pages can be supported. In the example below, the sample opportunity dashboard in Tableau has been added to the opportunity layout in Salesforce.

Tableau Opportunity Dashboard Displayed in Salesforce

Hint: The canvas adapter examples don’t include the tags, make sure to drop the code between page tags.

Where to go from here

This is just one example of how Tableau can be integrated with Salesforce. Other additional options include:

  1. Using Visualforce to pass parameters such as the account or opportunity to Tableau to have reports that only show data based on the context of the user.
  2. Using APEX to add additional logic to the Visualforce page, the report called and the parameters passed.
  3. Optimizing the reports and Visualforce pages for the Salesforce1 mobile app experience. (Sample Salesforce1 app below).
  4. Implementing this solution can provide a level of access to information currently not available; however, this can be technically challenging.

Integrating Tableau into Salesforce.com can expose critical analytics to your Salesforce.com users.  There can be unparalleled business value of exposing key information from multiple systems. The Canvas implementation can be technically challenging and often the best path is often to reach out to a partner that has experience implementing solutions of this type.

1 Sallam, Rita L., Bill Hostmann, Kurt Schlegel, Joao Tapadinhas, Josh Parenteau, and Thomas W. Oestreich. “Magic Quadrant for Business Intelligence and Analytics Platforms.”Http://www.gartner.com/technology/reprints.do?id=1-2ACLP1P&ct=150220&st=sb&ref=lp&signin=a4d1d1b497f2388a8848758a672ca3b9&1[os]=windows. Gartner, 23 Feb. 2015. Web. 5 Aug. 2015.