Tableau Cloud Connected Apps Simple Implementation
A primer on connected apps in Tableau + basic implementation
Connected Apps allows a third party application to authenticate its users into Tableau Cloud via a JWT token. Developers consider it the most flexible and robust approach for embedded scenarios.
I’m going to walkthrough how to set it up. You can also see a video tutorial here.

Let’s breakdown the steps:
You configure a trusted relationship between Tableau Cloud and your app
Go to Settings > Connected Apps > New Connected App > Direct Trust
Limit what projects the authentication will apply to. And limit from what external domains can reach out to Tableau to authenticate users.
Once created, see the relevant ID’s / keys we’ll need to reference in our code later.
Your application creates a JWT token based on relevant Tableau Cloud credentials (secret key, secret ID, client ID)
Generate the token in your application’s server-side code like so:

Your application inserts JWT token into embedded Tableau html content
Once the token is created, directly insert it into the HTML snippet that uses Tableau’s Embedding API like so:
Tableau Cloud begins a session for the relevant end user who now sees Tableau Cloud content embedded in the application
Here is a link to the Flask App on Replit so you can run it yourself.
Hope this walkthrough helps show the fundamentals of Connected Apps in Tableau.
If you need to filter the data in your Tableau viz using logic in your application, you can do that too: implementing row level security through user attribute functions
Hi Mike, thank you for sharing, but when I try, I'm still asked to enter my Tableau login and password. Is there any suggestion so that Dashboard appears immediately without logging in to Tableau again?
Is there a scenario where an admin’s PAT + connected app keys need to be used together to help authenticate users?