Skip navigation

Google Maps API

The post by Tarun got me playing a little bit with Google's API.  I only worked with the Google Static Maps API and it appears that this does not require an API key.  If you wish to get an API key it's free of charge, you just need to have a Google account.  I already have a Google account so getting the API key was super fast and easy...and free!


For help with constructing a map see the Google Static Maps API Guide.  This will give you the required and optional parameters for displaying maps.  Here's a workbook Action that I created: it looks in the menu:

...and what appears when clicking on the hyperlink:

Yes, a new browser tab will be created every time a hyperlink is clicked, in Desktop and in Server.


Using Variables

You can use Dimensions in the Name and URL of the Action to customize the user experience.  For example, in the attached workbook, clicking on a mark will change the Action caption as well as the map that gets called:


Here's the Action that allows for this:


If you decide to use an API key be aware that it will be visible so others who know how it works could use it and thus reduce the usage of it.


A useful URI Schemes is the mailto scheme.  It allows you to give the viewer the option to send an email using their default email application on their computer.  The nice thing about this is that there is no Tableau Server setup, just that it needs the ability to send email.  If you've set up your Server for Alerts and Subscriptions then you're good:


Here's a report that displays a list of Projects on our Tableau Server.  If the user clicks on any Project part of the tooltip menu has an action that allows them to request a new Project:


The Action is made up of two parts:  1) The TO email address and 2) The SUBJECT line:


Notice that the two items are separated by a question mark (?).  This is necessary.  The nice thing about this is that Tableau allows you to put actual spaces in the text area, you don't have to use %20.


1) and 2) below:  More than one email can be sent, simply separate the additional email addresses with a semicolon if you use Microsoft Outlook:


Other email applications may have you use a comma or other separator so be sure to check.

3) Shows that you can use a Tableau field to fill in text for an email.


If you wish you can use the body encoding.  If adding it to existing encoding then prefix it with the ampersand (&) as shown below in 4):


I noticed in Outlook that if you include body then the default signature will not automatically populate inside the email body.


Why Isn't It Working?

You may notice that sometimes you include a field but you get the following error message:


and when you try out your Action you don't see the Action link:


This is an easy fix, simply drag and drop the field into the Detail shelf:



The attached workbook has examples of the discussed topics for Parts one and two.

I explored the post,, by Paul Banoub, who took the lead from Dave Hart.  Please read his post as it is the background necessary for my blog posts.  I am just touching the surface of this area and am NOT an expert.  I'm lightly exploring just for fun and encourage anyone interested in this to jump in, dive deeper, and share your knowledge to the rest of the Forums.  The list of URI Schemes out there is listed here:  Uniform Resource Identifier (URI) Schemes.  There is no guarantee that Tableau will or can fully support all of them and many may be useless in a BI (Business Intelligence) environment...but it won't hurt anything to experiment


It's very easy to allow your Tableau Server the ability to exploit URI schemes, simply tell it to in the command prompt window

From the Windows Start menu click this:

enter the URI Scheme to allow, in this example we need the following:

tabadmin set vizqlserver.url_scheme_whitelist sip
tabadmin set vizqlserver.url_scheme_whitelist im
tabadmin configure
tabadmin restart

and you're good to go when the viz is published to the Tableau Server!

Note:  It appears that URI Schemes automatically work in Tableau Desktop so there's no need to set anything up


Let's Start With An Instant Message!

To use an URI scheme simply set up an Action... in your workbook or dashboard.  Following Paul's example here's one way to do it:

Hard-code a value:

Or use a variable like Paul did:

The hexadecimal values are necessary as they represent the two tag identifier symbols, < and >.  This will keep the URI tag symbols for im: separate from the Tableau tag symbols which are wrapped in the < > symbols, as shown in Paul's example, from the ATTRIBUTE tag <ATTR()>.  If you were to write the URL action as


it would fail to work when executing the action in normal report mode even though it will work when clicking the Test Link button!


Notice Paul's use of the Item Delimiter.  This allows multiple items to be used -- the <ATTR(SipAddress)> -- so if the user performs an optional CTRL + click on various marks in the chart a group chat will appear.


Note:  If hard-coding a value then the Test Link button will work.  If you use a variable expression like what Paul did then you will have to test by actually "running" the report i.e. click OK, OK, and then test from the actual worksheet or dashboard.


This functionality automatically works with Tableau Reader, cool eh?

Paul Banoub presents some good info concerning Tableau upgrades inside a corporate environment, however, I think much of the information is applicable to small environments as well.  If you're a Tableau Administrator it's worth a read (nice work, Paul!):

How to manage Tableau upgrades in an Enterprise environment | Paul Banoub's VizNinja Blog