One of the best ways to ensure your people have the data to make the best decisions is to embed analytics right into the systems they use every day. This is definitely true for sales: most salespeople live inside Salesforce, deciding who to call and when and planning account strategy. In this video we look at embedding sales analytics right inside using Salesforce Canvas.

The video shows the process a salesperson might go through: opening Salesforce, looking at an account summary, clicking into an account and updating opportunity info based on a recent conversation.

The difference is that by using Salesforce Canvas and Tableau, you can embed a dashboard to give the salesperson an overview of their accounts and opportunities.

Then you can provide insights as the salesperson looks at individual accounts and opportunities, presenting information visually instead of forcing that person to read through text.

How does it work?

  • Connect to from Tableau Desktop.
  • Create dashboards in Tableau Desktop
  • Publish dashboards and data to Tableau Online or Tableau Server.
  • Set a refresh schedule for the Salesforce connection in Tableau Online or Tableau Server.
  • Use Salesforce Canvas to embed those dashboards.

UPDATE: Documentation for this solution is now available.

Now you've got Salesforce data updating in embedded analytics, right inside Salesforce itself.

UPDATE: There has been some confusion about whether this is a live connection to Salesforce. It is not. You must define a refresh schedule (ex: daily, 4x per day, etc) using Tableau Server or Tableau Online, and the data will be as fresh as the last refresh.

Information science tells us that data presented visually augments our natural style of thinking. Why not put visual analytics right inside Salesforce to give your salespeople that advantage?


Very nice idea, in our company we try to do something very similar. Silva, Cristiano IT Consultant at

Will you be posting a walk-through on how to set this up using Salesforce canvas as well? :-)

I am unfamiliar with the Canvas so my questions might not make sense...

How do you make sure that the dashboard being embedded shows the data only for that account? Or that the home screen shows data for the logged in user?

Couldn't this also be used as a way to funnel ERP order/shipment data into Salesforce using a tableau dashboard? For example, if I have a field that shows the ERP Account ID, can I have an embedded dashboard pulling that data from a Tableau online report?

Canvas lets you use parameters so that you can specify which account or opportunity to show, or filter to a salesperson. WE are looking to post a how to in the coming weeks or months, watch for it !

This is what I am working on for the past one week.... But stuck up in configuring the Canvas.... Looking forward to see how to embed with parameters....

Nice Post.
Awaiting for 'How to' post since long..
Can you please at least confirm whether Heroku would be involved while using Canvas from Salesforce end?

Hi. Heroku is not necessary but possible. I simply used the SFDC Canvas SDK found here: The SDK has an canvas example using Heroku for a simple canvas application. I simply incorporated the SDK into my own web application to delegate canvas requests to Tableau Online or Tableau Server. Hope this helps.

Thanks Samson for the response.

I had some further doubts. If you can clarify then it would be great.

There's a simple example of Hello World Canvas in SalesforceCanvas SDK.
Initially they are doing signed request and then in body they are putting Username.

I think we need to do same but how to embed Dashboard in body? Also would signed request remain same as shown in the example?

If you can clarify in detail then it would be great.


Thanks Samson for the response.

I had some further doubts. If you can clarify then it would be great.

There's a simple example of Hello World Canvas in SalesforceCanvas SDK.
Initially they are doing signed request and then in body they are putting Username.

I think we need to do same but how to embed Dashboard in body? Also would signed request remain same as shown in the example?

If you can clarify in detail then it would be great.


Looking forward to the "how to" on setting this up with Salesforce. Can't seem to find much info about this at all!!

Ellie -- thanks for the session out at Dreamforce last week! It sounds like a lot of us are really excited about adding powerful tableau analytics directly in Salesforce. Can't wait for the in-depth how-to/Salesforce app!

Its been long. Hopefully 'How to' is coming through pretty soon.


Sorry for the delayed response. Yes, you can embed using the self-signed request just like the Hello World Canvas example. We are finalizing documentation/examples on being able to do this with canvas. Sorry for the long wait but should come out soon! Stay tuned.

Thanks Samson K. Will give it a try however documentation/examples would definitely help and make things easier.

Eagerly waiting for them.

To an expert on this solution,

Does this only work with the existing SalesForce data connection inside of Tableau? We have several custom SFDC objects and a very large instance of SalesForce and that connection always times out, therefore we extract the data through an API and setup a SQL Server/SAN to extract data into Tableau Desktop and publish that to Tableau Server. The idea of having actionable live data would be revolutionary and I want to pursue this further but don't want there to be an inevitable brick wall.

Hopefully there is someone who might be able to answer some questions?

Hi Colin,

Your SQL Server/SAN will work with this solution. You can publish your SQL Server connection to Tableau Server as an extract and have it run on a schedule instead of having to publish it all the time. We have a customer that embeds dashboards using non salesforce data but wishes to integrate the dashboard with Salesforce. Hope this helps.
We also have a community site where you can post questions as well.

Do I have to sign in Tableau Online whenever I open my "Accounts Dashboard" in SalesForce? I followed all steps in your documentation, and every time I access my "Account Dashboard" in salesforce, sparkler prompts username and password to access Tableau Online viz.

Thank you

Hi Bojan,

Unfortunately, that is the case with Tableau Online. This can be resolved by installing Tableau Server in the cloud(such as AWS) and configuring SAML or trusted authentication.

Awesome !! i really appreciate the way you wrote it thoroughly :)
humor quotes

Thanks for the feedback, Jack. Very much appreciated.

Will the Tableau add-on be view-able/accessible to those who have a Salesforce account, but not a Tableau account?

Also, will the dashboards be able to hyperlink directly into an Account or page? This is a great add-on, but these features would be helpful.

The Salesforce and tableau account need to align together.
Regarding the second, yes you can navigate to an account, opportunity etc. You can create action links which provides this functionality.

Thank you for the clarification!

Thanks for sharing! It is very interesting, I would like read more similar information!

If I have Tableau Server not exposed to the internet and then want to use this solution with SFDC, can some authentication (like SAML) be used to get the SFDC user authenticated from the internet into Tableau Server without exposing our server to the internet?

THANKS for the info!!

We are trying to embed the tableau dashboard to Salesforce canvas using the same approach provided by we are not able to do so.
We are stuck up at the position were the SPARKLER_CONSUMER_SECRET key gives a NULL while verifying through cmd.
Also , we checked through the Canvas App previewer , we could see the app there and while clicking on it - no error message is prompted.

Please advise.


Hi Kumar,

Can you elaborate where you are getting stuck? Is it trying to set the SPARKLER_CONSUMER_SECRET or after the fact. Are you doing this via Heroku? The more information you can provide the better. Feel free to post in our community site under the sfdc-canvas-adapter forum.

Is there a way to access the embedded dashboards on iPAD while offline?

Hi Waleed,

Not exactly sure but would presume no at this time. Can I ask why you would want this functionality? The dashboards are embedded from Salesforce(a cloud based service) which requires being online. Not sure if they have added offline capability to the SF1 app.

Is it possible to integrate lead's object information? Or only it's available for accounts and opportunities?

Thanks in advance!

Yes, you should be able to connect to any table in Salesforce using the Salesforce connector.

Every time I try to refresh all of my Salesforce connections at once from tableau I run into two issues: one, I have to type my password about 15 times (once for every connection) and second, it never works. Always locks my Salesforce account.

I can refresh each one individually without any issues. This sucks.

Chad I would really recommend that you set up your refreshes using the command line tool so you don't have to actually open a workbook to update your data sets.

What I do is create a .bat file with all of the commands to update each data source and I run it each morning.

I'm not aware of the command line paramters for Tableau Desktop that will allow for this?

I can't post the link because Tableau is blocking it, but google "Tableau Desktop Command Line Refresh" and you'll find the link.

Thanks! You're the man.

Hi Tableau Experts,

We want to embed Tableau reports into SFDC page. As per solution is to use SFDC Canvas adaptor(Sparkler) and use Trusted authentication between Sparkler server and Tableau server.

Out Tableau implementation and scenarios.
We have Tableau exposed outside of company network. SSL certs are installed at load balancer. User can access Tableau server outside of company’s network with valid SSO id. SFDC and Tableau are on same SSO. So user authenticate on SFDC they he/she will not get login screen when access Tableau reports because of SSO.

Question: By considering above our scenario, is it possible to embed tableau report into SFDC without using Sparkler? If answer is yes, how we can do that?


I'm curious about doing this as well. We have a similar setup.

Were you able to embed them without Sparkler?

This one's from Ozgu:
Yes if you are using the same SSO as the IDP for Salesforce and Tableau Server, you can embed Visualizations within Salesforce without using the Sparkler app.


We deployed sparkler and tableau in same server and sparker able to make contact with tableau

after deployed the sparkler we have entered https://host/sparkler/sfdc/canvas in salesforce app canvas url

but its not at all working can you please help me on this

After reading the "How does it work?" section I have couple of questions,
1. Step one tells that we need to connect to from Tableau, does that mean we are pulling the data from to build the Tableau reports/dashboards? Can we omit this step and connect to any database to build the reports?
2. What is the process to show the Tableau reports/dashboards (developed on top of regular databases instead of using the Salesforce data) on


Is this Salesforce1 mobile app compatible?

Hi all,

I want to Integrate Tableau online with SFDC Canvas - Configuration.
Can you please provide me the steps regarding this.

Hi Experts,
we want to show Tableau reports in our SFDC instance but our Tableau Server is not exposed to the internet, can some authentication (like SAML) be used to get the SFDC user authenticated from the internet into Tableau Server without exposing our Tableau server to the internet?

Does this work on Salesforce1 and Salesforce Lightning?

Does anyone have a link to a working demo video?