Team DataFam Tableau User Group 27 Aug 2026
54 min 9,236 words transcribed
Summary
Kanwal Kour reprises her Tableau Conference 2026 session for Team DataFam TUG #89, connecting Claude to Tableau Cloud through the Tableau MCP server. The framing is a Monday morning question: a VP of Sales has 73 minutes before a board call and a dashboard that shows the dip in Q4 renewals but never the why. Kanwal walks the three pillars — the MCP server as the bridge, personal access tokens carrying your own permissions, and the published semantic layer as the thing the agent actually reads — then demos it live, asking for root causes, at-risk accounts and a 2025-versus-2026 comparison, including a read straight off a published workbook. Along the way the agent volunteers caveats in the data itself, and when asked to pull raw records around Tableau's governed query layer it refuses outright. Andy Holt closes the Q&A with news of the newer hosted Tableau connector that needs no PAT at all.
Listen to this TUG
Prefer to listen? This meeting is also an episode of the Tableau TUG recordings podcast.
Key points
- The MCP server is the bridge: the agent reaches your published data sources and workbooks through Tableau Cloud, never the database directly.
- A personal access token carries your own permissions, so the agent can see exactly what you can see — no more, and nothing that is not already on the instance.
- Prompts have to be specific. Left open-ended the agent analyses everything it can reach; pinning the question to 2025 data and asking for company names by name is what makes the answer usable.
- Asked to pull the raw records behind a data source without going through the governed query layer, the agent refuses — it holds no credentials of its own and the MCP bridge only carries your session.
- The agent reports caveats in your own data unprompted: missing customer names, scrambled industry labels, and which fields it would therefore not trust.
- It reads published workbooks as well as data sources — you can see it switch from querying data sources to get view data and get view image on a named dashboard tab.
- Dashboards show the signal; the agent supplies the why. It goes beyond the KPI tiles to what they hide.
- Making data agent-ready is the same work as making it analyst-ready: human-readable field names, one metric with one definition and one certified source, rich catalog descriptions. If a new analyst can't navigate it in five minutes, an agent can't either.
- Dashboards don't die, they get promoted — Tableau stops being the destination and becomes the source of truth the agent stands on.
- Tableau's newer hosted MCP connector in Claude uses OAuth and needs no PAT, no JSON and no server name — and a forthcoming MCP-ready tag on data sources and dashboards will scope what it can query.
Jump to a chapter (30)
- 0:00 Welcome to Team DataFam TUG #89
- 0:54 Kanwal Kour on reprising the TC '26 session
- 1:55 The Monday morning question
- 2:45 The old way vs the new way
- 3:49 Three pillars: MCP server, PAT, semantic layer
- 4:15 Personal access tokens and low-level security
- 5:07 What the semantic layer actually is
- 6:45 The architecture end to end
- 8:04 Demo: asking for the top three root causes
- 8:46 Why the prompt has to be specific
- 10:34 Watching it query three data sources in parallel
- 11:55 Reading the root causes
- 12:49 The agent flags caveats in your own data
- 13:17 Which accounts are at risk going into 2026
- 15:41 How did the enterprise segment actually perform?
- 16:43 Q&A: what does 'no direct SQL' mean?
- 20:58 Reading a published workbook, not just a data source
- 23:34 Comparing the 2025 and 2026 dashboards
- 26:43 Asking the agent to bypass the governed layer
- 27:26 The agent refuses
- 29:17 The dashboard behind the answers
- 30:02 Making your data agent-ready
- 31:07 Dashboards don't die, they get promoted
- 31:35 Do it yourself: the GitHub repo
- 32:31 Q&A: the hosted MCP that needs no PAT
- 35:06 Q&A: enriching the semantic layer with descriptions
- 36:24 Q&A: custom SQL and virtual connections
- 44:03 Kanwal's LinkedIn and GitHub
- 44:11 Survey and quiz results
- 48:12 Next TUG and wrap-up
Transcript
0:00 Chris McClellan: So welcome to Team DataFam Tableau User Group meeting number eighty-nine. This TUG aims to capture all the in-person and unrecorded presentations to give them a wider audience. So I don't really mind where you've presented before. Please get in touch. We'll find a spot for you. My email is team.DataFam@Gmail.com.
0:20 But talking about large conferences, today we have Kanwal presenting From Prompt to Platform: Connecting AI Agents to Tableau MCP. It's a repeat of TC '26, um, and really because why, why is she here? A few reasons. It's a TC '26 repeat, so you had to actually be at TC to see this.
0:41 Um, and also there was some comments in the surveys that we've taken previously that we wanted some more MCP content.
0:49 So here it is. I'll hand it over to Kanwal, and she can take it from here.
0:55 Kanwal Kour: I think some of you were there in our, in, in the, um, presentation at Tableau Conference.
1:01 Um, so it's actually the same sessions, little bit of tweak, tweaks here and there. Um, it's, uh, synthetic data, so added more data since then.
1:12 So, um, let's begin. So, uh, it's about, um, prompt to platform. When we say prom-prompt to platform, it's about… I'm actually specifically talking about Tableau Cloud, the Tableau MCP, uh, server on the Tableau instance, um, uh, we have in our organization.
1:30 And, um, and the AI agent which I'm using as a client is Claude.
1:35 So we'll just talk about it, how it's connected and what it can do for you.
1:41 So, so the agenda for today would be the Monday morning question, and we'll go deep into it, how it's done, and then, uh, what it does for you through the demo.
1:51 And then we'll wrap up, and then we'll run through Q&A.
1:56 So the Monday morning questions, we have just framed a, a scenario here. Say, for example, your VP of sales, um, um, I've named her, like, Sarah. So Sarah has been asked a question, um, by her CEO, uh, that why the enterprise renewals slipped in Q4 twenty twenty-five. Now, why we have Q4 twenty twenty-five is we ran the same, uh, in the… in TC '26, but then because it's the full twenty twenty-five year, um, data, and we are still in, um, finishing, um, Q3, so for twenty twenty-six.
2:31 So I just kept it as is so that we can go through the whole year of data.
2:36 Um, so she has around seventy-three minutes for the board call and then, um, to, to answer why there's a dip.
2:46 So now the old way was like Sarah, Sarah Slacks our analytical team. The team goes to Tableau Cloud instance and then looks at the dashboards they already have, get the screenshots, put, pastes the screenshots, um, in the, in the chat, whatever internal communication they use. Um, and but still the answer is not there. So it's the dashboard which is showing the dip, but why is not answered there.
3:12 And then she walks in the, to the, in the meeting, and then she misses the time, the timeline, and then, um, still not with the answers the CEO's looking for.
3:24 And the new way is Sarah just, mm, puts the questions in, um, in the AI agent she's using, uh, right now we're talking about Claude, and gets the answer through the MCP connection, which is already being configured.
3:39 So, um, what… How it is, how it happens actually. So we'll go through, um, go deep into it and then see how it works.
3:50 So, um, the pillars. One is the Amazon, is MCP server, the personal access tokens, and the semantic layer.
3:57 So MCP server is, uh, on your Tableau Cloud, and every… It's, uh, it's, uh, um, the bridge which actually connects to all your, all, all your, uh, um, data sources, workbooks, um, which are published on the Tableau Cloud instance or if you're using Tableau Server, it's Tableau Server.
4:15 Um, and the personal access tokens are, uh, tokens. It's like, um, any… It's like an authentication, right? It's, it's called PAT.
4:23 And then, um, it's low-level security. It's like you have a token which is only for you. And everything, um, which Tableau MCP server actually, um, queries or runs for you is through your authentication. Whatever you can see on the Tableau Cloud, um, that onl- the, the agent can only see that, that, uh, data or that, uh, uh, dashboard or any other, um, um, uh…
4:52 You can say Tableau Pulse is there and, uh, if you're admin or site admin, you have more access and whatever you see the stats and everything. That's all done through your personal access token and the authentication same as your privileges on the server or the cloud.
5:07 And then semantic layer. So semantic layer is the, um, uh, the, the data sources or the certified metrics which you have published on the Tableau Server or the cloud.
5:17 So how you have your, uh, Claude Desktop, uh, which is on your system, which d- which actually behaves like a Tab- a client to your Tableau Cloud instance. I'm just– I'll just go with cloud if I'm not to confuse between server and cloud here.
5:32 Um, and then, um, only, uh, like the connect- the connection string is only, um, the server, uh, your server name, site name, and your PAT. PAT is like, um, I'll sh- I'll… Uh, PAT is like you actually put it in your Tableau Cloud instance, and it will give you a secret, and, uh, you can name it any, uh, anything which you want.
5:56 So the name would be, uh, given by you, and you just have a s-secret given to you. That would be your secret.
6:05 Not to be shared because it's your access. And, uh, in your client desktop, and that's how you connect to the cloud.
6:16 Um, through the JD and all that, so PAT is, uh, PAT is all, all Artworks here, and then through the MCP server, you actually can access your data sources, um, the workbooks which are published on the, um, Tableau Cloud pure site admin or cloud.
6:35 Um, like we talk about clouds, it's only site admins. So if you want to add or user permission, every– anything,
6:44 you go ahead and through that.
6:46 So yeah, this is architecture. So you have your business user, like in, in this case, Sarah. Sarah writes the prompt. The prompts actually are, um, kind of, um…
6:57 They are actually, uh, analyzed by Claude and then gets the best information for you.
7:04 So the guardrails, the PAT role lev– with the role levels security. Because as I mentioned, whatever authentication, the same authentication you will have, the AI agent will have, um, because it runs through your PAT, your, your secret, your authentication. It will hit the database directly. Um, the semantic layer log, full audit, um, there's a full audit trail, and then you don't have shadow pipelines or hallucinations.
7:36 Um, so when we talk about the semantic layer, actually it's the data sources which you have published. 'Cause you have every certified metrics which you… When you publish, you're just production ready. So you have all the, um, you know, um, the answers, the metadata there on your st– on your Tableau Cloud server. So it's, it's guess anything. The AI, the agent has the answers.
7:59 The answers are there in your data sources.
8:02 That's what it talks about. Um, now let's go to the demo, which is there actually, uh, which will show you how it works.
8:12 And like I've done the demo earlier, my sake for testing, but I'll actually start a new chat for you so that we are starting from scratch. It's for, so about this time and time.
8:27 And I'm using sing-single screen, so you just bear with me when I toggle, and it will avoid the confusion like we had earlier.
8:36 So, um, so me being Sarah. So I'm asking, are enterprise renewals slipping in '25 using only two thousand twenty-five data and nothing from two thousand twenty-six? So I have noticed one thing and observed and understood that prompt engineering that we talk about is prompt engineering, context engineering is very important be-because if you keep it open-ended, you can see, like in my synthetic, I have, um, I have two thousand twenty-five data as well.
9:04 So it actually goes to two thousand twenty-six, gives me the question on the… It actually analyzes whole data for this specific prompt or what I have. So to be very specific, so I mentioned using only two thousand twenty-five data.
9:20 And then there's other things like I wanted company names, so I have to be very specific. Your prompts have to be really, um, uh, specific and to…
9:30 Okay, so now we are asking, and give us the three root, root causes, the top three root causes. And we're also giving it, um, the three data sources it should actually, um… And then give us the company names for two thousand twenty-five.
9:49 So if you see here, it says… So there are three data sources we have listed, right? Renewals, customer health, and support tickets. It's gonna show you like… If you… It's very interesting, which I saw, I actually didn't see, um, why it's not me.
10:06 Yeah. Yeah. So it shows you the steps.
10:09 I didn't, um, see it when we demoed on in two thousand twenty-six, but now maybe it's a new feature. Um, so it says two thousand twenty-five data coverage in three sources. So it's actually going through three data sources, which we have listed: renewals, customer health, and support tickets sources. The first step is done, and then we'll see what ex– what, what,
10:32 um, kind of…
10:35 Just it's, it's trying to analyze the three data sources and give you the offer like any analyst will do for you.
10:42 Okay, I'm just… I've clicked on this and see what… So, um, so it's getting first data, second, and the com-complex response.
10:50 Um, it's analyzing for you, and then it's gonna bring you the consolidated results and what exactly you're looking to give you causes.
10:58 So that's what it's fetching for you.
11:01 First time, um, to your agent. So that's fr– the other… It's running in parallel.
11:08 But if you have further que-further questions asked, uh, after it analyzes the data, it will be faster. Like, like actually, logically, any, uh, analysis you do, um, or if you run the queries also against databases, that's what happens, right? So same thing it…
11:27 Any other tool you'll use or, uh, or human analyst, because if you have analyzed the data already, it's easier to h– um, answer further questions. So it's gonna do the same thing. You'll see this will take more time than the rest qua-rest of the questions we'll ask, unless we go to Q, to, uh, the two thousand twenty-six data.
11:46 So let's see. It's completed. It has completed the task. So what is given to you?
11:53 We'll read through it quickly.
11:55 So we asked for the, um, uh, accounts which, which are churned.
12:01 So it's giving you root cause one, the analytics add-on broke, so it matters.
12:08 Um, it's like this is the segment.
12:13 It's telling you health collapsed inside the old quarter not add. So it's telling you we didn't have had the time to actually, um, fix this when during the renewal quarters, there were many accounts which had to be renewed during that quarter, and then there was no time to fix those, and there was– there were a lot of P1s and then NPS was falling and all that.
12:34 So all that caused the issue for you to lose the accounts.
12:37 Then it gives you the loss was con-concentrated on three large enterprise logos. Loss is more because add the three accounts which actually gives you the churned accounts, right? And one more interesting thing which I have seen is like, because it's a synthe-synthetic data, it points out, uh, the caveats in the data sources too. So it's telling you like some of the customers, I don't see the customer names or there's some issue with your data also when I look into it, which is amazing, right?
13:06 It is beyond, um, the, uh, what you're looking for. It gives you extra, uh, analytics. Without, without taking more time, let's– let me go to the next one. So, uh, now we have– we know the churned accounts, right? These are the churned accounts which are churned in twenty twenty-five and twenty-five.
13:25 And then now we need to know like what are the accounts which are at risk because we have lost the accounts, but we don't want, um, we don't want our– for, for to lose the accounts further, right?
13:38 So I'm asking based on only on data through Q4 twenty five, twenty twenty-five, like I said, why I'm mentioning that because twenty twenty-five, which are the cover most at risk going to twenty twenty-six, right?
13:51 rank it by health signal and show them. So now if you see, it will be faster because it already has actually analyzed those three data sources which we listed.
14:02 Uh, renewals, customer health and support tickets, and it will be faster in giving us the answers we're looking for.
14:08 The answers, but it will be faster because we have to… What is it looking for? So there are no, um, surprises for, uh, for the agent.
14:19 So let's see. Any minute now, it will give you a lot of… But interestingly, it's not showing me those tabs anymore anyways. So, um, so this parallel says it's a complex response.
14:31 And, uh, here it is, I guess.
14:34 Let's see. Yeah. So this will turn up.
14:39 Okay, wait, I went up. Sorry. So it's giving you ten enterprise accounts who were still on the books at the end of this one. The other three, these ones were churned that quarter. Here they are ranked. So it's ranking it by the health signal we asked, and that's giving you all the CSM, CSVs, Q4 P1s, what's the status and all that, right? These are warnings.
15:02 What, what's the reason? And then it's listing the three, um, accounts and then two things to act on this. So like extra, extra, you know, suggestions, um, it gives you.
15:16 So, so it tells you, you don't– you didn't have…
15:20 So I didn't, I didn't actually account for executive spons-sponsorships and why.
15:26 So it tells you like some of the accounts churned and they, and they were churned and they came back, so it's not accounting for it. It's quite interesting. So let's not… Let's go to the next question because, uh, we have to run through this within our time.
15:41 So now I'm asking to go through twenty twenty-six. We only saw twenty twenty-five, uh, data and analyzed it. Now we wanna see how did– how was the– how, how did you improve? Does it– did it improve in, uh, coming twenty twenty-six? So we're asking how did the enterprise, enterprise seg-segment perform in Q1 and Q2 of twenty twenty-six?
16:04 Um, let's see what it… So now because we are asking for twenty twenty-six, and we had kind of partitioned it or like sh- told it to just, um, keep only twenty twenty-five. This is gonna– This is again a fresh query for it. It's gonna go to twenty twenty-six, uh, that particular timeframe. So it is gonna be, um, kind of a fresh query apart from knowing where to hit.
16:28 So again, the three, um, three data sources were listed here, renewals, customer health and support tickets. It's gonna fetch data from these three data sources. When you see three here, that's why, because the parallel query is hitting those data sources.
16:43 Chris McClellan: Just while we're waiting on that, Paul said, "What does it mean by no direct SQL?"
16:49 Kanwal Kour: So when I say no direct SQL-
16:51 Chris McClellan: Yeah.
16:52 Kanwal Kour: Yeah. So when I say no direct SQL is like… So right now when I'm showing it to you, it's more… They are CSV files, right? So I don't have underlying database for these data sources. They're synthetic data, um, data source. The, the Excel files or CSV files are created.
17:07 So, um, but if you have an underlying database, uh, which you're connecting to, it is actually whenever you're using the agent, the agent is going through the MCP server, which is the bridge, and then it is fetching the data for you from the data source Tableau Cloud. It is hitting the database it got hit, so there's no direct SQL.
17:27 That's, that's what it means.
17:29 Um, unless you have, say, Salesforce MCP. So there are other MCP servers that you, um, that you can get the information from the data. But right now, when you go through the Tableau Cloud, Tableau MCP, through your pre-pass to…
17:45 I mean, it is information and then whatever you have published on the Tableau Cloud. I'll show you that one. That's prompts. I hope it behaves because I had to really work on that prompt a lot because it was saying what I'm looking for, um, being the CSV file. So I don't have a data, so the question itself was wrong.
18:04 But I had to tweak it a bit, and I hope I'll be able to adapt. Let's see. Wait for that.
18:10 So I said, how did the enterprise segment perform in Q1 and Q2 2026?
18:15 So enterprise recovered, but only– So see, oh, the numbers look really good. It's going well, you know, it's improved.
18:22 It's all up, up, up. But it says the only part way, right? Both losses came from the watchlist. So it says… No, it shows like it looks like it's, it's working fine, but there are s- there, you know, you have to dig deep and see, like there are still issues.
18:35 So it still says that, um, two jour- two accounts churned. We still have P1s, right? We still have slip. And then it says, um, the analytics add-on is still an issue, so you still have to look into it. And then, um, because I have seen it before, so I'm like, um, it also tells you a new problem replaced the old one. It tells you that earlier your, um, your SLA, you could, uh, actually was, uh, less, you were taking less time to fix the, um, uh, uh, you know, the tickets which were raised, but now you're taking more time.
19:11 So all this has been listed here. It says it looks like it's work- it's better. It is better, but you still see there are issues. You still have to look at it. There's still… Um, you still have to have a watch.
19:24 So which is quite interesting, right?
19:27 So it has two… So it also mentioned like there are two accounts which I couldn't see the data in, in your data.
19:33 So, uh, in your data, I don't see these two accounts, which were actually, um, uh, we had warnings for these two accounts. They seem like they are not doing that well, but I don't see them, so I can't tell what's, what happened to them. Which is kind of really good that you can go back and look at your data, even if it's production data, right? Not synthetic.
19:51 So I think maybe, um, the way it's built, mm, I might have missed something. But if it's productions, we still have caveats in production data, or we miss something, it will list that one for you too, which is really good. Um, now when we say we had at-risk accounts, so we want to see, um, did the at-risk accounts which you had listed for me, did they actually churn?
20:16 Analysis is good.
20:19 Or whatever you analyzed was actually right, or, um, you said that these will churn, and they didn't churn.
20:28 So see how fast it was because it has already run that query on 2026 data. So two of the ten productions that, two of the ten I listed w- they churned. The other eight I accounted for as follows. So it, itself wouldn't find the info, and, um, I just Q to end that Q to 2026. I don't see anything beyond that, so I can tell for, um, beyond Q to 2026 what's happening.
20:53 Which is right.
20:57 And now asking… Now very interestingly, so, uh, we have gone through the data sources which are on our Tableau Cloud.
21:04 And I did mention we can actually check, look at workbooks as well. I'm sorry. I'll go through, go to my…
21:12 This what actually when I– It just gives me to log in. I'm sorry. This is…
21:17 Anyways, let's just go through them. I'll open them later. But we have workbooks, uh, a workbook with two tabs, which are published on the, on the cl- on cloud server instance. And I'm asking it to actually go to the agent ready summary view, um, on the view is like first tab on that renewals dashboard, and then summarize the key metrics for the board presentation, right?
21:42 So I'm asking it to do it for me.
21:47 So let's see what it does. So if you'll see the difference. So earlier it was saying I'm hitting the data source, right? Now it will tell you that I am actually, um, uh, it will tell you that it's actually fetching the data from the workbook. So you see it says get view data, like searching, searching the content.
22:07 And then, um, it's not saying that I'm querying the data sources. That's the difference you can see, because it's actually looking for the content on the published workbooks.
22:18 Let's see what it does. I think I have to minimize everything to show you that one. Somehow it gets lost.
22:24 So it says get view image. Let's see what it is.
22:28 So using Tableau, working on it. So you see here, it's actually fetching this, and it's showing you a glimpse of the workbook which is published on the server.
22:37 I'll again do another attempt to show it to you, but I don't. I have opened so many Windows now. Which one is that?
22:46 Okay, let's see. We'll go to that later.
22:50 So, um, so it pulled the agent ready summary, um, view, and then it gave you the KPIs, which it sees on the workbook. So enterprise general rate is this. ACV lost. A- average NPS is this. P1 ticket are this many.
23:06 So, um, so it's also giving you the points which you can take to your board meeting, right? It gives you the pointers. Take all this and take them to the board meeting.
23:17 So enterprise problem, not a company problem. The dollar impact was concentrated in one quarter. One product module explains the quarter. Sentiment tracked the defects with no lead time. All these points, you can make the points and take, take to, take them to your board meeting.
23:35 Now, so the– we looked at only 2025. So what if we want it to compare our 2025 and 2026 dashboard? Now, when you look at the dashboard, dashboards only have– show you the signals, but they're not showing you what exactly is happening. Why– It's like the why, right, in the data.
23:52 That it is fetching you, fetching that– It's fetching that also for you beyond the dashboards. So here, like it looked at the dashboard, gave you the KPIs and everything, but then it goes, digs deep into it and then gives you all the pointers and all the information you need to… So you're ready for answers also. If you're, you have to, uh, present, you have people ask, ask questions in the board meet, board meeting, your executives asking you questions, you can answer them because you're ready for them.
24:20 So that's amazing.
24:23 Again, it's, it's gonna tell you get view image, get view data.
24:27 It's doing the same, um, steps for you.
24:30 If you see, like, the, the way it shows you still thinking, it's like, uh, like a human will think, right? So still thinking, still analyzing, and I'm, I'm getting it for you.
24:40 So if you look here, it's telling you, okay, Q2 twenty twenty-six looks good. We have the, the enterprise dollars are up, ACV loss is less, and average NPS is better. P1 tick-tickets are also… They have reduced.
24:55 But so what, what generally recovered? It's actually telling you what you see is there might be more to it, right? Renewal rate is back inside the normal band. So it still says it com– So you're, you're saying Q2 twenty twenty-six, so it actually compares it with Q2 twenty twenty-five. A hundred percent, uh, renewals. So it still tells you, like, okay, we are not there yet.
25:16 We are not as good as we were in Q2 twenty twenty-five.
25:20 And then what hasn't recovered? It's telling you what is still the issue.
25:24 And two things, the KPI tiles hide. You know, it's als– That's what I'm saying. It's going beyond the dashboard. It's just looking at the dashboard, it's not like giving you the dashboard of the exact picture of dashboard. It's going beyond it and telling you what exactly I see beyond it, and then gives, gives you, uh, digs deep into the data and gives you, you know, um, the, the, the why you're looking for and the general reasons.
25:49 Right? So it gives you everything.
25:51 Now, the question, uh, which actually came in the chat, which was like, uh, what does it mean f– by no direct SQL, right? I try to frame a question because the problem is I don't have the…
26:05 To pull the raw underlying records behind the renewals data source directly without going through Tableau's governed query layer. Um, that's what it means. Like, it actually goes through MCP server, which it has to go through an authentication. It cannot directly hit the database.
26:24 Um, it… The, the PAT authentication is in picture, in, is in play here, right? Whatever authentication you have that, that's in play. It has to go, go through that, that gate to, uh, get the data for you.
26:38 So that's what it means when it says no direct SQL. No directly hitting the database.
26:44 So I'm asking it, let's see what it does. I raise to make it understand that, um, uh, you know, to, to know how it works. More, more kind of like I wanna know how it works than telling us, "Okay, they're CSV files anyways. You don't have a database." So, uh, let's see.
27:04 It's some-sometimes surprising the answers, uh, not dif-different answers.
27:10 And while it's looking for it, let me see if I can pull the dashboard. I really wanted to show you that.
27:17 So when it says Found tools, actually it's, it's finding the information for you on the cloud instance.
27:24 So let's see. No. Okay.
27:26 It says, "No, I can't do it." Let's read through it, and maybe it will answer the question we had in the chat.
27:33 Uh, short answer, no. I wouldn't want to route around it. So that's the governance we have. That's, that's what we say that, um, we have the authentication set. We cannot… There is no way around it. So why there is no path, path here? Every Tableau tool in this session, right off the governed layer, right, runs through this call, uh, VizQL data service, and the metadata calls API like I showed in one of the slides.
27:59 I checked for a data source download or extract report, and like tells about the CSV files.
28:04 So there is no warehouse. I also have no Tableau credentials of my own. The MCP bridge carries your session auth-authorization. That's what it is, like, when we say no SQL, not direct SQL, right?
28:16 And the governed layer is where the permissions and any role level lives, right? Um, so does it answer the question we had? So but I suspect the governed layer is looking at it, so now it's telling you, you have their data source and, um, I mean, the CSV files and all, uh, and all the information. So but yeah, it… In short, it's telling you that you cannot actually bypass this bridge or this authentication.
28:42 Does it answer the question we had?
28:44 Okay, I'll take it as a yes. Um, I'm trying to find where is that window. What– Me minimize everything, even my presentation, and yeah, it's here.
28:58 I'm sorry. It's opening. Okay.
29:01 So I had open, kept only one open, um, I promised, but then yeah, it might just vanished somewhere. So this was actually, which I would show you when… While we were running it, it would have made more sense. But these were the, the workbook and fetch the information for us.
29:16 Um, then this dashboard doesn't tell you why, right? It is telling you… It gives you the, uh, it points out that the issues like ones, this is what is happening, uh, and all that trends, and it doesn't give you the, uh, all the info we saw, um, through our AI agent.
29:34 And this is the second tab, which is actually showing Q2 twenty twenty-six. So you can have a picture.
29:40 Um, and now let's go back to PowerPoint deck and… Okay, so we had…
29:47 So this was our demo, which we just finished. But what the agent was seeing was the roles, um, three data sources, renewals, customer health, and support tickets that we told the agent to mention for us, right?
30:03 Now, how you make your data ready? It's the same way you actually, um, make it ready for any, um, like production, uh, resources which you wish to, um, your Tableau Cloud instance. So it's… You, you have, um… It should be human-readable. Um, the metrics should d- It'll be self, um, uh, defined, right? What- when you see it, you should know what exactly it means.
30:30 Um, it should be rich. So all those things which you actually do, um, for your production-ready data is the same thing which agent needs. So that's what it talks about.
30:42 As for an analyst, like it actually behaves like an analyst, so you have to actually treat it as… treat it like an analyst. So, um, you have certified resources on your servers or the Tableau Cloud instance, then it m- it makes the job easy. Um, there's, there are no surprises or no, uh, guesses. Um, the, the information's already there, and it's fetching it for you.
31:07 So having said that, mm, like we see that we, we saw the dashboard, but it doesn't mean that we are actually getting rid of dashboards. So now the Tableau is not like the punchline. The Tableau's not the destination, but we are, we have started treating it like a source of truth, uh, with agents, um, we're using or it's standing on.
31:29 So again, dashboards don't die. They get promoted because we are beyond the dashboards.
31:35 Right? So thank you very much, and I have actually, um, uh, this is… I'm on LinkedIn, so I would be happy to connect to all of you. So I have a GitHub link if you want to do it by yourself on your, if your Mac or Win- or Windows, you can actually go through the documentation and do it by yourself. Um, and you can actually, uh, add me on LinkedIn, and if you're stuck anywhere, let me know.
32:01 I'll be happy to help. So do it yourself and then play with it.
32:06 Um, you can actually do more than what I'm have shown you. Um, you… if you are site admin, you can actually run the stats like I told you. You don't have to go through the site and then look at the stats. You can run them through the agent itself, and many more things. You can connect to Tableau Pulse and all that.
32:23 So that concludes my presentation. Any questions you have, I would be happy to help. Happy to answer, sorry.
32:30 Thank you.
32:31 Chris McClellan: There's a, there's a lot of questions, so
32:34 Kanwal Kour: Really?
32:34 Chris McClellan: Pretty, pretty good presentation.
32:36 Kanwal Kour: Let me look at the chat.
32:37 Chris McClellan: No, no.
32:37 Kanwal Kour: I have only one. One second. Let me make sure.
32:40 Chris McClellan: That's okay.
32:41 So I, I can just… because you might need to-
32:43 Kanwal Kour: Okay
32:44 Chris McClellan: … um, keep sharing your screen as well. But Andy's question right from the start was, "Have you had a chance to investigate the recently released hosted MCP that does not require a PAT?"
32:54 Kanwal Kour: Actually, I looked at the, um… I, I didn't, um, configure it or, uh, um, dig deep into it, but I, I have seen that we can do that. And then I did have in one of the documents, which is on, uh, the GitHub location I have shared, that you can actually use OAuth. I don't think, uh, it was there when I was researching and doing it for myself. I did it like six months or seven months back.
33:21 It was pretty new that time. But I know there's an enterprise level, um, authentication now, so you can do that. Um, which that is bit of, bit risky because you're not doing low-level security. But yeah, if you want enterprise level, um, this thing, you can do it. But if you want low-level security, then I will st- still stick to PAT.
33:41 But yeah.
33:42 Andy Holt: It was, um… I think it was only released in June, so yeah, absolutely. That's why you wouldn't have had it for TC. Although just saying, it does use OAuth, so I believe-
33:51 Kanwal Kour: Yeah, I saw that
33:51 Andy Holt: … I believe that low-level security would still function exactly the same way.
33:56 Kanwal Kour: I think so. I have to, I have to ac- actually I might not be ready to answer. I have to actually do it myself and see how it works. But then what I had, um, researched that time was like going beyond PAT was like OAuth. That also will actually, if you think of it, it would be more like you have whatever, uh, if you have, uh, group privileges or, um, on…
34:20 Again, it will go through the, the, like you said, the authentication which you have set up on your, uh, instance. So you're right. It cannot go beyond what you have already given, um, the privileges, authentication, or access you have in your cloud instance. It cannot surpass that. You are right in that. Um, but I, I have to see that if we don't do PAT, which actually go to, um…
34:46 Yeah, I, I think you're right. It could, it could be same, because then it could be like you are part of a group, like the whole group is given that, uh, they don't require the…
34:56 but you're still given. So I'm going back to the same thing, but yeah.
35:00 I think you're right.
35:02 I have to… I'll read through it myself and then see if I can configure something like that.
35:07 Chris McClellan: Andy had another question about semantic layer.
35:09 Kanwal Kour: Speaking loud, but makes sense. So will still hold as per your, as per, per your…
35:17 So-
35:19 Chris McClellan: Yeah. And, and he-
35:19 Kanwal Kour: Should I go through the questions? I don't see my chat. Okay. Sorry.
35:22 Chris McClellan: Uh, yeah, no, I can read them out because it's easier. I don't know if Andy wants to ask his question about semantic layer.
35:28 Andy Holt: Sure. Thanks, Chris. So yeah, I just wondered if you had done anything on… I mean, I know you said you added those as CSVs, so I don't know if there's a limit you can do, but, um, did you add any, any kind of richness to those data sources, such as ensuring that they, the fields had populated field descriptions, that the data sources had descriptions as well, just to kind of aid Claude?
35:49 Do you want to speak on that a little bit?
35:51 Kanwal Kour: I have… Yeah, I've done that. I actually configured. I had to, uh, disconnect from the Salesforce MCP for the demo because it was actually, when I'm asking the questions, it was going through Salesforce, uh, Salesforce MCP and hitting the data sources, um, when I'm not even asking it to do. So I had to disconnect them, but I have done it on the, on the real semantic layer, um, in our Salesforce instance, uh, with the description and everything.
36:15 It helps. The more the context you can give to the agents, it, uh, the better they behave and better they, um, they serve you.
36:24 Chris McClellan: And Shane was asking, "Is it able to read the custom SQL queries on Tableau Cloud?"
36:31 Kanwal Kour: Custom SQL queries. Yeah, so you– the custom SQL queries, again, you are publishing as data sources. So anything you have published, um, on the, on your Tableau Cloud, it will be able to read them unless, unless you don't have access to them, so as a user. So because when you're configuring, um, the agent, you're giving your, your, uh, token and your…
36:54 I want to show you that, and I can actually show you that, how it is, um, configured. But it like in the, the config.JSON which I showed you, um, in that JSON, you have to give your, uh, PAT token and your secret, so it actually fetches whatever you have access to.
37:15 Chris McClellan: Mm-hmm.
37:15 Kanwal Kour: So when you have custom SQL on the Tableau instance, um, I believe it's the data source we're talking about. So you still are, um-
37:23 Chris McClellan: Sounds like it
37:23 Kanwal Kour: … publishing a data source there or your workbook is connecting to, um, the data. So it's on the cloud. So yes, it can.
37:33 Chris McClellan: And I think the final one is that there's two questions from Angus.
37:38 Now I can't check-
37:38 Kanwal Kour: Sure. I will show you. I will show you how it looks, um-
37:44 Chris McClellan: Yep
37:44 Kanwal Kour: … before we close.
37:45 Chris McClellan: And Angus, Angus was asking: How much configuration control do you have over the data sources it considers? We have some well-governed data sources with good semantics and descriptions, but we also have a lot of sources that are not well-governed.
37:59 Kanwal Kour: Sorry. So y-you're saying you have data sources which are not well-governed on your Tableau?
38:04 Chris McClellan: Yeah, so how much configuration control do you have over the data sources it considers?
38:10 I think that's more like what you said. If you name the data sources, it will go and look at that, and if you don't, it's just got free reign over what it can find.
38:21 Kanwal Kour: Yes. So I, um, so I, I need to understand what does it mean by when you say not governed?
38:27 Chris McClellan: Angus, you can come off mute if you want to or just type in the chat. Um-
38:30 Kanwal Kour: So if, so see, Angus, like, just to answer, maybe I'll be able to answer your question. So it actually can't see anything which you can't see, in, in short.
38:42 Chris McClellan: Yeah.
38:42 Kanwal Kour: It can't do anything which is not already there, right? So if you're in your– on your Tableau Cloud, you have some data sources, and if they're not governed, then it can, it, it… They will be not governed by, for the AI agent as well.
38:58 So, um, you– it, it's not guessing or doing any work which is not there, right?
39:08 So whatever you want to show it, it sh- it is on your cloud instance already. So it's not going, it's not fetching anything beyond that. I hope that answers the question. But Angus, do feel free to reach out to me on LinkedIn, ping me. Um, if that doesn't answer your question, I'll be happy to, uh, help you with anything or answer the questions beyond this.
39:33 Okay.
39:33 Chris McClellan: And, and his follow-up question was: Can we expose virtual connections to the MCP server?
39:38 I think that would be the same thing.
39:40 Kanwal Kour: Oh, I don't know.
39:40 Chris McClellan: If you have access, it, it might work.
39:43 Kanwal Kour: Yeah. What does virtual connection mean? I don't get that. Okay. So, um, so again, I'm like, I'm, I'm repeating like it's like a, a trumpet, but y- whatever you have on your Tableau Cloud is actually gonna fit because the MCP server is hosted on your Tableau Cloud, right?
39:59 So whatever you have on your cloud, it's gonna see exactly what is there.
40:05 Um, and then if you, like I said, there, there are other connections like… And if you have live connection, it sh- it can actually, it will hit the databases as per your PAT authentication.
40:17 Uh, whatever you do on the cloud ins- so for example, um, if you have data sources which are live, they are live connections to your da- database, and then you have published them on Tableau Cloud, and then you are, you can directly connect, you connect, your Tableau Cloud is connecting to it. But now you're connecting through your AI agent. That's the only difference, right?
40:36 It's going to the MCP server and connecting to the… But when you connect to them, it is gonna… The, the, the instance itself is actually fetching the information from database, but it's going through, again, the same bridge. It's not directly hitting. So going to see whatever is there on this, on your cloud instance or your server. It's not gonna see anything which is not there.
40:58 Chris McClellan: And, um-
40:59 Kanwal Kour: And as per-
40:59 Chris McClellan: … Anita's question was… Yeah.
41:01 Kanwal Kour: Yeah. Sorry.
41:02 Chris McClellan: Um, so the final question I think was: Would your GitHub project be useful for a person who wants to start with the MCP journey, or are there any other resources that you could point to?
41:13 Kanwal Kour: No, you can start with that. You know, I have, uh, put everything together, whatever I did, whatever you saw, how I configured and how I could connect. You should be able to do… You definitely have to have your own instance or the server, and then you have to have data sources and workbook, whatever you want to explore. Um, but you should be able to configure, yeah, and connect.
41:37 Yeah, connect to your MCP server through your AI agent. But you need all these tools. You need a system, you need a Tableau Cloud or server, and then you definitely need something to con- to, to get the information like data sources or workbooks or anything you want on your, uh, published on your, uh, cloud or server instance.
41:57 Chris McClellan: Awesome. I think that wraps up all the questions that, that were posted anyway.
42:02 Has anyone got any-
42:02 Kanwal Kour: Great. Thank you. Andy has given me homework.
42:05 Chris McClellan: That's a good one.
42:05 Kanwal Kour: So Andy, for… Thank you for the homework. I'll, I'll look into it. I didn't get time to go back to it.
42:11 Um, actually adding more data and all that. Uh, it was more for my interest and, um, what interests me. But yeah, I have done Salesforce. Um, I'll see. I'll look at that one, and I need to…
42:23 What I have done already.
42:25 And thank you so much. And I had to show you, if you are still up for it. I… Want my screen. I wanted to How it looks, the config file. So this is the config. And then the GitHub link has everything. You can actually look at it.
42:38 Chris McClellan: Mm-hmm.
42:38 Kanwal Kour: The GitHub link will show you, um, how to do it. Um, and then all the… I have the screenshots there too.
42:46 Chris McClellan: Yeah.
42:46 Kanwal Kour: So you should be able to see everything you need to and do it by, for, by yourself. And let me show you now.
42:54 So this is, if you go to the, uh, to Claude.
42:58 So Settings, you can go to different, um, this thing, right?
43:03 Um, links you can connect to.
43:07 Um, and then you can, if you go to Developer. In the Developer you have to go to Advanced Options, and then here the PAT Name and the PAT Value, and your Server and Site Name. And that's pretty much it. It's very simple. You can…
43:24 Once you have everything set up, you actually…
43:27 I wanted to show you the connectors. So if you see the connectors, um, the Tableau connector is what you're looking for.
43:34 And, uh, you can have… I did have Salesforce, right?
43:37 So I had to disconnect it. But different other MCP servers you can connect to and explore more once you figure it out.
43:45 And the GitHub location also. Um, a- and you have, um, for Mac, you have for Windows.
43:52 Uh, you can actually go through it and look at it. If you face any issues, let me know and I can look at it and help you with it.
44:01 Okay, hope this helps.
44:03 Chris McClellan: So here's all Kanwal's details. So LinkedIn and GitHub if you want to either connect with her on LinkedIn or download that information from GitHub.
44:12 And I'm hoping everyone's got time to do the survey or had time to do the survey while we were going through that presentation. You can scan the QR code quickly, and we'll look at the survey results now because I think enough people have responded. And hopefully the survey works better today, right? I think it works better. Obviously 10 questions, 5 of them do change.
44:32 I couldn't get anything that was actually close to ent- MCP questions, so there's a few API questions in there instead. It's sort of the same thing, but, but not quite.
44:43 But obviously our first question is always: where do you live, state and country? So a lot of people from either Australia or the US or Ontario in Canada, which is sort of what we expect at this time of the day.
44:56 What industry do people work in? So a lot of consulting, but it then goes to automotive, higher ed, finance.
45:05 How many years you've been using Tableau? A lot of people have been using it for nine plus ye- years, four people, and then it drops down to six and eight, and we don't have anyone who's been using Tableau for only a few years today, which is interesting. Usually we have more of a spread of that.
45:22 Um, more into the quiz questions for today. So what does MCP mean?
45:27 Model Context Protocol.
45:30 So everyone got that one right.
45:32 And then we're leaning into other API style questions. So what type of information can you query using the metadata API?
45:41 The correct answer was data lineage, fields, and relationships.
45:46 A few, uh, good que- good answers on there, but, um, no, those are not the right ones. I can't get user passwords by the metadata API. That would be a bit scary.
45:56 Uh, what file extension does the hyper API produce? It's hyper files. It's Tableau's standard, um, data format.
46:05 What is the first step required to interact with the REST API? Is to get an authentication token.
46:13 And I think finally, if I'm counting right, uh, which Tableau API is used to embed interactive visualizations into a webpage? It's the JavaScript API. And again, more API style questions. It's hard to get MCP questions as well.
46:29 What topics would we like to see?
46:31 Kanwal Kour: I missed one of the questions.
46:31 Chris McClellan: That's okay.
46:33 Kanwal Kour: Sorry.
46:33 Chris McClellan: Yeah. But you, but you were presenting, so you've got to present-
46:36 Kanwal Kour: No, I will
46:36 Chris McClellan: … and everyone else is like, is like, that's fine.
46:38 And what topics to be presented at future TUGs? Um, building semantics, doing data storytelling, um, more MCP stuff and complex data visualizations, and obviously more TC.
46:50 And possibly who should present that? Um, Andy Kriebel. And then someone says, "I would love to, but I'm not sure what would be a good topic." I don't know who that person is, but, um, there's a lot of good topics out there.
47:03 Uh, so the leaderboard in or- in alphabetic order, which is sort of hurt sometimes, is Andy wins again, followed by Anne.
47:12 Um, and the rest go down from there.
47:15 Um, if you didn't get all the answers right, it doesn't matter. You've probably learnt something as well, and obviously we've learnt a lot from the presentation. Again, as always, uh, those survey results and the questions today were actually, um, AI generated as well. But you can submit a question just scanning on that QR code, it's always in the recording, and, uh, submit questions to either this TUG or other TUGs it- which use that same system.
47:41 Or tell other TUGs about that system so they can use it, because it's really easy to use.
47:47 And next TUG-
47:48 Kanwal Kour: You make it all fun.
47:49 Chris McClellan: Sorry?
47:50 Kanwal Kour: You make it all fun.
47:51 Chris McClellan: Yeah, exactly. Well, and- and the same thing. But like I couldn't generate some… I, I couldn't check that the MCP questions were correct or not, because I don't know that much about MCP just to, to actually know if the answer's right.
48:06 Kanwal Kour: Yeah.
48:06 Chris McClellan: So I leaned on the, on the API side a bit more.
48:09 Kanwal Kour: See? AI is good.
48:12 Chris McClellan: Yeah.
48:12 Kanwal Kour: Yeah.
48:12 Chris McClellan: Um, so the next TUG meeting is Emily talking about from PDFs to self-service: a six step embedded framework. Again, another TC '26 repeat, because sometimes people don't get to TC or they don't get to this presentation at TC.
48:28 So in about a week's time on most times, it's just one meeting obviously, but, um, again, if you're in Europe you might watch, watch the recording. And if you're in Australia or the US, you can be here live and watch that as well.
48:42 And obviously, if you're looking at the recording, it's on the YouTube channel at Team DataFam.
48:47 There's all the videos, there's the shorts, or you've got the MP3 podcast on either Spotify or Apple, so you can listen to presentations rather than actually, uh, sitting down in front of YouTube and watching them.
49:01 And obviously, email me at team.DataFam if you've got any questions at all.
49:05 But thank you for that, Kanwal. It was awesome to see that, sort of like how Claude interacts with that and how it can actually… You can use almost like a natural language to process that data and ask those questions and walk through that conversation.
49:21 Kanwal Kour: Thank you for giving me the opportunity, Chris, and it was fun.
49:25 And I am getting better at presenting, uh, in talks. This was my second time, or third time-
49:31 Chris McClellan: Awesome. Yeah
49:32 Kanwal Kour: … which okay.
49:34 Chris McClellan: That's good.
49:34 Kanwal Kour: And then Andy, I have, I have a question for you. Um, the, the link you have shared for Slack, the workshop advertised on Slack today-
49:44 Andy Holt: Yep
49:44 Kanwal Kour: … is that, it, it would have the, um, what you were asking me? I just want to explore it.
49:49 Andy Holt: The, the, yeah, the, the hosted MCP.
49:51 Kanwal Kour: Okay.
49:51 Andy Holt: That's just… I just opened Slack while you were talking, and that was the, the one that was there. So it's just a one-hour it looks like. It looks like it's in, uh, US time, so it may be like others they do, you can register for it and then they'll send you the recording if you can't make it. Uh, but it looks like it's just an hour, and it's just looking at the, yeah, the, um, Tableau hosted MCP.
50:13 Kanwal Kour: Sure.
50:13 Andy Holt: So it'd be a great-
50:14 Kanwal Kour: And, and Andy-
50:14 Andy Holt: … great chance to play.
50:16 Kanwal Kour: Okay, great. Thank you. And Andy, if you have… If it's, it was not O- Auth, because my mind is still there. So you were mentioning something, um, it was… I, I believe it was not auth- authentication, something else, right?
50:30 If you have anything you can point me at, I would be happy to explore it. But because I explored aut- or auth, um, authentication, but seems like something else you were talking about.
50:43 Andy Holt: No, I think, yeah, I think it is OAuth. Um, I'll put the link-
50:46 Kanwal Kour: Mm-hmm
50:46 Andy Holt: … to the Tableau documentation in the chat so you've got it and can have a look. But yeah, I mean, I, I found it easier than the, the old way of doing it, because-
50:57 Kanwal Kour: Mm-hmm
50:57 Andy Holt: … you just sign in, and because I use Google authente- au- authentication, it just uses that.
51:02 Kanwal Kour: Okay.
51:02 Andy Holt: There's no PAT. You don't have to have that because, you know, admin might turn off PAT and that sort of stuff, so getting your own secret.
51:10 Kanwal Kour: Yeah.
51:10 Andy Holt: Um, it just does it. One thing to note I did just see actually, which is, again, news to me, but I've just seen, so that Tableau hosted MCP, my thought was it was a little bit too open, but one thing that's gonna be introduced soon, I understand, is that there's actually gonna be a tag on data sources and dashboards that allows you to tick them to say that they're Tableau MCP-ready, if you like.
51:34 Just like certification on data sources and that sort of thing, but it's actually gonna be Tableau MCP-ready. And so then when you use this hosted MCP, it will only query the things A, that you've got permission to see, but also B, that have been tagged as being ready. So you're not gonna stumble across somebody's work in progress, which is, um, I thought was an interesting thing.
51:53 But again, I only just discovered that today. Stuff's changing all the time, but, um, worth looking at.
51:58 Kanwal Kour: That's nice. That's nice. I do have, um, I don't know, in my, in the, in m- in the, uh, documentation I have on GitHub, I did have, um… I'll copy paste it here. I did have something the, like this, which had, um… It's, it's the configuration. I- I'm sorry if this was not appropriate to put it here. But, um, um, without sharing my screen, it, there was something like this which had the configuration for auth client ID and cl- auth client secret.
52:27 If it's this one, it's quite easy. It's just replace your PAT with auth authentication. Um, you have to have it on your cloud instance, but yeah.
52:37 Maybe we are talking on, talking about the same thing, but yeah, I'll explore it.
52:40 Andy Holt: It's, you, you don't even, you don't even need that. You literally, um, there's two connectors now on Claude when you look for Tableau.
52:49 Kanwal Kour: Mm-hmm.
52:49 Andy Holt: And it's the one that's labeled community, but it is actually a Tableau one.
52:53 Kanwal Kour: Mm. Right.
52:53 Andy Holt: You just, when, when you go on that and you click on that, there's none of the, um, the setup. There's, you don't get that dialogue box where you've got to put in, you know, your JSON or your PAT or anything like that, or even the, kind of the server. It just goes to the authentication window in your browser.
53:08 Kanwal Kour: Awesome. Thank you, Andy. We should talk more. I love this stuff.
53:13 Thank you, Chris.
53:14 Chris McClellan: Awesome.
53:14 Kanwal Kour: I appreciate this.
53:15 Chris McClellan: No worries.
53:15 Kanwal Kour: I appreciate this.
53:17 Chris McClellan: Okay.
53:17 Kanwal Kour: Meeting like-minded people.
53:19 Chris McClellan: Definitely.
53:19 Kanwal Kour: Thank you, and have a good day to you.
53:22 Chris McClellan: Awesome. Thanks guys.
53:23 Andy Holt: Thanks, Kanwal. Thanks, Chris.
53:23 Chris McClellan: That's the end of it for today. Okay, thanks a lot. Talk to you soon.
53:26 Kanwal Kour: Thank you.
53:27 Chris McClellan: Yeah, bye.
53:27 Kanwal Kour: Bye-bye.
Shorts for this TUG
- Your dashboard shows the dip, not the why 2:01
- Context engineering: your prompt must be specific 9:15
- The agent flags gaps in your own data 12:49
- Asked to bypass governance, the agent says no 27:26
- The agent can't see anything you can't see 38:37
- Make your data agent-ready: treat it like an analyst 30:21
- Dashboards don't die, they get promoted 31:11
- Tableau's hosted MCP connector needs no PAT 52:46