Sunday, February 27, 2022

How to Send Email from Tableau with a Template

Before Belinda asked me about making phone calls from Tableau dashboard, she had some issues in creating an email template in Tableau. Many people might have known how to do the basics. Here I would share some tips on composing an email template with some formatting, and on making it easier to edit the template.

Email Template

The email template is expected to be as follows, in which there are a few fields from the data table. Belinda will use the template to communicate with her business partners regularly.

URL Syntax 

We need to compose a URL based on the above email template, which is to be included in a URL action.
The syntax of the URL is as follows:

Mailto:<Recipient Email>?Subject=<Parameters.Subject> <Invoice ID>&Body=<Parameters.Text1>
$<SUM(Amount)> due on <Due Date>. <Parameters.Text2>&Bcc=<Parameters.Sender Email>

The orange fields are inserted from the data table. The purple fields are parameters. Note that all the orange fields need to be placed in the view of the worksheet, namely in Rows, Columns or in Mark's card.

The static texts are saved in a number of parameters. Note that %0A%0D is the code for the line break. (%0A, %0D, %0A%0D seem all working as line break in both Mac and Windows. Not sure what the difference is.)

<Parameters.Subject>: Please send us invoice
<Parameters.Text1>: Hi Team,%0A%0DIn our record, there is
<Parameters.Text2>: Please let us know if you can send us the invoice in a timely manner. %0A%0D %0A%0DThanks.%0A%0DBelinda
<Parameters.Sender Email>: belinda@somecompany.com

By placing the static texts in parameters, it's easy to edit them. Otherwise, editing them in the action setup, can be tedious. 

We could have used calculated fields for the static texts instead of parameters. It is more expensive that way because it adds more columns to the data set.

Action Setup

The action setup is like this. We choose to run action on Menu.
Caveats
1. If one of the fields is within Measure Values, do not insert it into the URL directly. Instead, place the field in question into Detail first. Then you can insert it into the URL.

2. Do not check the Allow Multiple Values box.
3. If one of the fields has a Null value, it will break the mailto URL. The remedy is wrapping the field with IFNULL(Field, Replacement_Value). Do this for every field that may have a Null value. (Credit: Ethan Hahn)

4.For the native function UNSERNAME(), we can't use it directly in the URL. Instead we need to use its LOD form: {MAX(UNSERNAME())} (Source by Kevin Flerlage)

Set up Tooltips

To view the menu action link quickly in tooltips on data marks, we need to set up tooltips with the option of "On Hover - Show tooltips on hover". Otherwise, we may not see the action link for email.
The demo workbook can be downloaded here. The email link can be seen by hovering mouse on the amount.
Try to send me an email if you wish.

Resulting Email

An example of the resulting email is like:
I would like to thank Tableau Zen Master Jeffrey Schaffer for the line break code! Feel free to leave comments or contact me at twitter@aleksoft.

No comments:

Post a Comment