Skip to main content
Skip table of contents

Configuration on Tableau Server or Tableau Cloud

When embedding dashboards and reports from Tableau Server in external websites and apps, such as Confluence, additional configuration on Tableau Server may be required.

Depending on how you have Tableau Cloud configured, this step may also be required.

Your Tableau administrator can limit the sites where embedding is allowed or disable embedding entirely. If your embedded view doesn't load, check with your administrator to make sure that the site where you have embedded it is on the embedding allow list.

For more information, see Tableau Site Settings for Embedding on the Tableau help website.

Prerequisites

  • Administration access to your Tableau Server or Cloud instance

Procedure

If your Tableau administrator restricts embedding, then the BI Dashboards in Confluence app will need to be whitelisted so that your dashboards and reports can be displayed in Confluence.

The BI Dashboards in Confluence app is hosted on the following domain, which will need to be whitelisted:

CODE
https://embedin.app

Aside: A list of all domains used by David Simpson Apps is available at https://dsapps.dev/policies/domains/.

In Tableau 2022.2 and later, Tableau site administrators can use the Tableau REST API (version 3.16 and later) to change the default settings.

URI

<server>/api/<api-version>/sites/<site-id>/settings/embedding

Parameters

Description

unrestrictedEmbedding

(Boolean) Controls whether the site allows unrestricted embedding. The default setting is true, and embedding is allowed.

allowList

(string) A space-delimited list of websites where embedding views is allowed.

By default, the unrestrictedEmbedding value is set to true, enabling all websites to embed Tableau views, and the allowList value is an empty ("") string. If unrestrictedEmbedding is set to false, only sites that appear on the allowList are able to embed views. Web applications that use Tableau connected apps with direct trust for authentication are not affected by the embedding site settings. See the Tableau Site settings for embedding and connected apps for more information.

View site settings for embedding

  1. To view the settings, login to Tableau using the Tableau REST API. See Sign In.

  2. Using the token returned by signing in and the site id, you can query the site for the embedding settings, see Get Embedding Settings for a Site.

The following shows the results of such a query. These settings show the default configuration that allows unrestricted embedding.

CODE
{
    "site": {
        "settings": [
            {
                "allowList": "",
                "unrestrictedEmbedding": true
            }
        ],
        "id": "abcd1234-ab12-ab12-ab12-abcd1234abcd"
    }
}

Restrict embedding to websites on the allowlist

To restrict embedding so that only the web site that you specify are allowed to embed views from this Tableau site, you need to set unrestrictedEmbedding to false. You then specify the websites you want to allow in the allowList. The allowList is a space-delimited list of sites. You can use wildcards and port numbers, following the Content Security Policy standard outlined for sources.

  1. To update the settings, login to Tableau using the Tableau REST API. See Sign In.

  2. Using the credentials token returned by signing in and the site id, update the site for the embedding settings, by sending a request packet with the updated settings. See Update Embedding Settings for a site.

For example, the following request packet restricts embedding views to just three websites, including a local computer used for testing.

CODE
{
    "site": {
        "settings": [
            {
                "allowList": "https://embedin.app https://*.mycompany.com",
                "unrestrictedEmbedding": false
            }
        ],
        "id": "abcd1234-ab12-ab12-ab12-abcd1234abcd"
    }
}

Further reading

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.