Tableau integration

Hi al

I am trying to test including a tableau dashboard on my app. I am on a free account.

I use the tableau component from retool point to a public tableau dashboard. It works perfectly. URL -> https://public.tableau.com/views/getData_Demo/getData_Demo?:embed=y&:display_count=yes

However when I replace the URL with mine, which has a different domain https://prod-apnortheast-a.online.tableau.com it doesn't show up at all, not even a login screen for password.

I come across this post from this forum; and I wonder whether I need to setup the CSP for different domain. I have a similar issue for iframe, even if I put in google.com as the iframe sources.

However, I am unable to locate such option in my retool setting and adding different domain in the CSP. Do I have to upgrade to teams or business account in order to change these? Is there any samples for my reference? I spent quite some time navigating the retool doc but can't find too much instructions.

Thanks a lot.

Hi @Henry_Leung - If you're self-hosted, you'll need to set the ALLOW_SAME_ORIGIN_OPTION environment variable to enable the storage and cookies option some iframed content requires.

1 Like

Hey @Henry_Leung - I did some testing and it seems to work when I generate the embed URL through the following menu:

You might need to manually expand the component in order to see the login form, though! I almost missed it.

Let me know if that still doesn't work and we'll figure out next steps. :+1:

Thanks Darren. Let me try. May I ask if you are running on the retool cloud or on prem? Mine is on prem and I wonder if there is a difference.

Hi @Darren
I have tried your approach to copy this link to my app. It successfully showed a login page for me. However, after I logged in, I got an "Unexpected server error" message. Since both Tableau and Retool are on-prem, do I need to configure anything else in either system?

Good question! I had initially tested on Cloud, but just confirmed that it also works in a self-hosted instance.

You will likely need to update some settings in Tableau, though I'm not sure exactly which ones and don't have a self-hosted instance on which I can do some tests.

I have read that Tableau Server ships with clickjack protection by default, which would definitely prevent unauthorized embedding. You may need to add the Retool domain to an allowlist or otherwise tweak embedding permissions within the Tableau settings.

I hope this helps! Let me know if you figure it out or have any additional questions.