Just Ask Conversational Analytics Across Tableau

Just Ask: Conversational Analytics Across Tableau

By Celia Fryar

As conversational analytics extends across the Tableau product family, who gets to ask questions of the data is also expanding! Not only the analyst who knows the data well, but the businessperson with whom the question or need originated.

That shift only pays off if the answers hold up. The agent is fluent either way. It will answer a question about an ambiguous revenue field just as confidently as a well-defined one, and nothing in the response will tell you which one you got. What separates a dependable answer from a confident wrong one is the preparation behind it.

Tableau Next grounds this experience in a semantic model, where definitions, relationships, calculations, and metrics provide a foundation for analysis. Business preferences add context about terminology, policies, and how measurements should be used. In Tableau Cloud, dashboard-specific preferences help guide questions within the context of a published dashboard.

In my testing across both environments, small details made a meaningful difference. A revenue field needed a more precise name, a question about high discounts needed an explicit threshold, and a follow-up request needed to preserve the earlier criteria. Each example reinforced the importance of preparing the data and checking whether the resulting query matched the intended question.

Analysts, governed dashboards, and careful visualization design remain central to this work. A dependable answer requires business expertise to define the measurements, establish the right context, and validate the results. Conversational access builds on those foundations and brings additional ways to explore the work we already do.

In this Data Driven Community session, I shared lessons from preparing and testing conversational analytics across Tableau Next and Tableau Cloud. I walked through metadata, business preferences, and troubleshooting examples to show where to focus your effort and how to build a repeatable process for checking the answers.

Watch Conversational Analytics Across Tableau

>> CELIA FRYAR: So how about we dive in, all right, let me get this to roll, all right, so we’re aiming at being data heroes, right? Let me make sure I’m also recording this, how about that, all right, oh, good, it is recording, very good, all right. I like this screen, we definitely are trying to become data heroes, and to be fair, regardless of what happens with AI, there’s still a requirement for so many of us to participate in this conversation and make sure that things are done well and validated and lined up for the agents to be successful, a couple of upcoming things I want to draw to your attention. Andy Cotgreave has got to be one of the more flavorful and notable people in the, I’m making you co-host right now, Lauren, okay, in the Tableau ecosystem, if you don’t know him, he was the host of Iron Viz for many, many years. He is in London, and he’s traveling, speaking. He was one of the co-authors of The Big Book of Dashboards, he and another team have re-released another book that has become quite notable, I have it like right behind me over here, but he’s going to come speak at our November it’s called Austin, but just to be fair, it’s very much whoever can come at that time of day.

This one’s going to be at noon on the November 12th, so he’s going to talk to us about remaining human in an AI age, and that balance of our roles as such, Andy left Tableau about a year ago, and he has traveled through a lot of different– Done a lot of evaluations, a lot of different products and perspectives, so he is really well equipped to give us a fresh point of view on the role of an analyst in the agentic era, because we’re definitely in the rise of that. Then in December, Lauren’s going to be speaking with us about the Advent calendar, and composable data sources, and various techniques that she uses to make that elegant visualization.

Lauren, is there anything else you want to say about that? I kind of like–

>> LAUREN CRISTALDI: Oh yes, so I did something similar last year, and now I just want it to be a tradition, also I just think it’s fun to make an Advent calendar, because I’m a little obsessed with Advent calendars.

>> CELIA: Makes sense, that works, I get that. Okay, and then for today, please use chat, very much want to hear from you guys, and if you’ve got questions, conversations you want to add in, would love to hear from you, so let’s chat in chat, by Friday they’ll have a follow-up email, I did record some little short things about agent interaction in cloud, and then also in next, so and then if you have suggestions of things you would like to see that’ll help you in whatever you are working on at work, please let us know, because we’re doing our best to aim in at that.

As you guys know, because I recognize your names, I’m Celia Fryer, I guess I get to increment this, because I got Tableau Ambassador this year, and this is the older slide deck, I pulled back before, but Lauren is also a Tableau Ambassador now, and also the manager of our analytics team, and my co-host, thank you for being here Lauren. How about we pop on over to this topic of the day, I have a little bit of a deck prepared, and then also, let me see if I can get it to cooperate, let me pause for just a second, in case my screen goes nuts. Okay, yes, so some of the fresh paintings from my grapevine is really working more on making the agent work, and what we need to do to make sure it can actually know our business.

That’s been a really focused point of testing on my side, and a little bit of this is overlap from August, but it’s been, just know that there’s a whole lot of hours that have gone on between here and there, so I wrapped something up in Tableau Next for Dreamforce, which was in mid-September, so it’s been a busy quarter, and things are very much evolving, and it’s going to be so interesting to see what happens now with some of the new announcements that happen at Dreamforce with Tableau Studio, the knowledge graph that’s in beta, and a lot of these things should be coming out in the next four to six weeks.

The knowledge graph, the interaction of where they’ve got Claude and a desktop kind of wrapped together, and what they’re calling a studio, and some other things that are going to just be potentially game changers, data apps, for example, one of the things that I’ve got keyed up in the background here is to talk about, if you’d like to see, I did a presentation recently on, let’s see if this will just open like that, no, that’s a no. I’ll get this to, anyway, I’ll get it up in a minute, but did a presentation at a user group recently about building Viz extensions and data apps that are coming out with Tableau are going to move those custom data Viz extensions to being more like managed workbook resources.

I’ll show you that in a moment, so those are some of my wish lists for today, so let’s dive in, how about, so teaching our agent to understand our business as it absorbs, and I’ve got it open here in a couple tabs, Next in particular is really becoming much more mature and being able to answer questions and there’s a sequence to its process and then there’s also ways we support the process, and those are a couple of the things I really wanted to point out and emphasize today, because the results will vary depending on how that comes together, but it will digest your question, it’ll plan and do a query and then answer.

I have, there we go, I have this one open right now, so just as a quick review in case we weren’t together, this is one of the Tableau Next demo environments that we’ve got set up, I’m going to go back to the beginning here of where the workspace is and show you how these, this is Tableau Next, and this is how they organize the workspaces, here’s our semantic model, everything is governed right through the semantic model, and some of the principles for making this work are the following, you know, got to name things great, that just has to happen, you need to label things and give detailed descriptions, you could put up to 255 characters.

You’ll see that all of these, I’ve got names for the items, I have names for the content, and as I was getting to where I was loading it and having to load and reload and move things around and stuff, I got also to where I was using a Salesforce CLI REST API as a plug-in for my VS code, and I got to where I was moving it around in batches, because otherwise this is 10 tables strong, and if I had to do that over and over, that would have been way too much time, so know that it is entirely possible now to auto load, you need governance from some place, if you don’t have it somewhere else, then it’s–

I personally would build it in Excel, like a list there so that I could reload it as many times as I needed to, but if you can import that out of Snowflake or some other bigger environment where you’ve got the metadata well described, then that’s a win, so back to the headliner here, in addition to having our data objects that are described, we want to point the agents to any kind of calculation or algorithmic thinking that we have available, so having governed metrics here is huge, and these are like pulse metrics in Tableau Cloud, and then we have, you can see, 27 other calculations, because anything you think that it might need to answer, if you’ve got it already staged as a calculation, that’s a great plan.

Then having over here, I’ve got my management business preferences, you need to think about that like the last mile, because while it’s essential for governing the jargon and connecting the dots and helping the agent know, if you’re asking about revenue, which field that has a name similar should it go to, and this is, I had extra space in here, so that’s why I went ahead and made some headers, because we also were showing this at Dreamforce, and so like business terminology, all sorts of things, now the selling of the business preferences here versus Tableau Cloud is slightly different.

Here, it needs to be a pound sign and then butted up against it for it to recognize it correctly. Over in Tableau Cloud, it needs to be a pound sign then a space and then saved as a markdown file. So it’s not a big deal. It’s just that little bit of syntax to keep it going and on the rails, and it will complain if you don’t, you know, it’s clear. We have one business preferences file here for the whole semantic model. As a result, the amount of characters that are allowed here and the number of rules are significantly more, so 30,000 characters. They’ve been increasing this as we go. We started with something significantly smaller.

They do want you to be conservative with this, though, because in so many ways we’re, like, passing instructions. This is like one of those rules or markdown files that you would save locally on your own Claude or whatever you’re using to have it read as it executes things for you. You’ve got to be careful about anything that is conflicting and then also make sure it’s essential. But I even put in here some stuff about the grain and about time and date logic, some defaults. I have a couple slides I’ll share, and the deck I’m sharing today, I’ll also share with you so you can have it for reference if you find it useful.

Because I had space, I went ahead and copied what I saw a Salesforce person do and put this little extra instructions for making it fun. Then also because this is a demo data set, I had some published facts about this table that I could share. That all adds up to being more successful. But it is a partnership, right? There’s a pecking order, and I’m going to talk about that a little bit as we go through this. But because things are maturing here, I’m able to ask more vague questions. Now, another thing that’s kind of unique about Tableau Next that I would love to point out is that when I first opened up my agent, it has also got an agent devoted to the semantic model.

So I can ask it for help and calculations and all sorts of things because not only is Einstein embedded in when I create a calculated field, it’s right there offering to give support on syntax. This is another place where Salesforce is embedded in an agent to give support. Then the one that I’m using here to give the questions and Q&A for conversational piece is the second one that I’m going to use here. And I’ve not used the third one for Data360, of course. I’m not in 360 right now. But 360 is the doorway to get into Next. It’s different. But it’s kind of like the Google Drive for Tableau Next.

It’s much bigger than that, of course, you know, because it also holds a lot of Salesforce products. But there’s some really good learning paths that have recently been refreshed on 360 if you need to get familiar. You see this little cute icon here? This is it reading my file, and part of the reason I put some of those icons and little weird things in there is because I want to know that it’s reading my file and it’s taking action on it. Then see that I asked, like, a super vague question, which you’ve played around with GPT or Claude or Perplexity or any of the others. The more specific the question, usually the better the answer.

Well, with me giving it lots of context, I wanted to see what it did with something really broad. It used my cute icon. It gave me breakout information here, which I thought was pretty good, given the vagueness of my question. It just really planned and worked on what it had to work with. Notice that these little tables that it generates, you also have the chance to download them as CSVs. One of my favorite parts about Next is that at the end I have the sources. I also have usually the actual fields it uses to calculate and to manipulate and create these outputs are present here.

So that ends up being a really– and you literally can watch it go through the question. The user says blah, blah, blah, blah, blah, you know, and is parsing my question. You can tell, especially in the early days, I could really tell if it was going to go off the rails about what I had intended, or it’s not off the rails. It’s more a misalignment between my question and what it was doing. But because it plans out loud, and then it will run an actual query against the data set, and then it comes back with an answer or answers, depending on what you have said to it.

Most failures will happen here in the planning stage, but you will have an opportunity to see that if you’re watching it as it’s going through. Then what is it that has impact? Okay, so if I hide a field like Salesforce and you bring things into Data360 and you pull it over for Tableau Next to use, there are, depending on how you load the data, there can potentially be extra fields that it will add. If it believes that you do not have a unique identifier, it will add a UUIC ID kind of thing where it’s giving you a unique identifier that’s maybe like a row count. You know how Excel gets a row count going.

But those sort of fields I want to hide because I don’t want them to provide any ambiguity, any conflict, and even though I see that they’re hidden with a little eye and a line through, that they’re hidden to the agent, and that’s the key part there, right? Me as an admin, I can see them, but that’s what that’s supposed to do. Then metadata, so field captions, the descriptions, how the measurement is being used, if it’s being aggregated or summed or used as a literal. Those sort of things are being observed, and then the preference file is getting that jargon connections, the use of language.

If you have an executive who’s going to ask things a certain way, you’re connecting the dots there. So it’s reading this. Think of it as reading it more like hints, okay? There’s a few things that are going to get ignored, particularly over in Tableau Cloud, and while I’m talking about this, I also want to mention that Tableau Cloud still, not still, I don’t know if this is the long-term plan or the short-term plan, but right now they have one dashboard and one small preferences file that you can upload, and instead of like 30,000 characters, 8,000 characters, a max limit of 50 guidelines or rules that you offer there.

It’s paired with the dashboard it belongs to, which is probably ideal, to be fair. Maybe a lot, if you have tons and tons of dashboards, it may be a lot to manage, but I’m sure that we’ll work this out over time. Things have changed so much with Next over the last 18 months. If there was something that was really bothersome about the way things were implemented in the cloud, I’d be way more quick to report it than I would be to, like, freak out about it because it’s evolving, and they are responsive to feedback, so it’s really remarkable. The things that get ignored right now, default numbers, date formats, geographic roles.

In fact, the geographic roles sometimes end up being a little bit of a difficult thing inside of queries and the questions. I actually, in Next, just to stick the landing on a couple of things, duplicated the field and made it a string so that it was just carrying the label of the country name when I was having some difficulties with that. Fiscal years, I know, are on their soon-to-be-implemented list, but right now they’re not implemented as far as I know. These things change regularly. When we get .3 out, it very well may change, but this is how it was through September and early October.

Okay, so this has been an area of focus, even though it’s going to boil down to one slide for me, trying to figure out what wins and what’s the strongest influence. The one clear big one is, of course, if it’s hidden or not. You can see it but it’s hidden from the agent, that ends up being very cut and dry, very block and tackle. Same thing on Tableau Cloud. If you hide a field there, it’s out of the conversation for the agent. Now, that can be really helpful, especially I have an example of, in one of my account tables I had a field that looked like annual revenue.

But the annual revenue was of that company, not annual revenue between that company and the business that was being represented in the data set. So that in the beginning was a big problem for the agent. That’s the kind of thing you want to either retitle or just hide from view because it’s a qualifier to start the business, but it’s not germane to bookings or sales management or some of that sort of ongoing product conversation. User input, whatever you say to it, it’s going to matter a lot how you say it. That’s why I’m always amused with the big vague ones I get away with, that is, because it really shouldn’t work very well.

Then the guidance that you give it, and just to be clear, this is page filters. What it means by that is that if you are in Tableau Cloud in particular and you’ve made a filter happen there, it regards that and respects that and considers that a bounding box and gives you a question that is within those boundaries. That’s not how that’s always been early on, especially in Next. It was querying the data set, and it wasn’t even seeing in the very beginning what’s on screen, right? It would be sitting next to a dashboard and not know what was there, but we are way past that now. So, no, if you’ve started this or tested it early, things are very different now, all right?

Business preferences end up being in here for guidance and guardrails, and this is a perfect place to say things like, “Don’t make assumptions, only report measurements that you’ve calculated,” you know, those sort of things. We’re way past the time of the blatant, bad, confidently wrong, but it still is structured to try to help and support, so in its trying-to-be-helpfulness, you just really have to think of it like an eager, younger intern that doesn’t have the wisdom of the years’ experience in your business and needs your expertise to guide its ability to serve your population.

Now, in terms of model components and what gets the priority of being most significant, if you have a metric that you’ve defined, and I don’t know that I can confirm this about Cloud, but for Next metrics are the pulse metrics over there. They look exactly the same, and that’s for sure the priority. If you have a metric stood up, it’s assuming that that’s a governed calculation. Now, you guys, I think I shared this with you in August, but when you import Tableau semantics from Tableau Next into Tableau Cloud, the metrics that are over there do not come through. You may recall that from us talking about that in August.

So you might want to recreate those in Tableau Pulse if you didn’t already have them in your environment, if you were really and truly pulling that all the way through. A lot of the calculated fields came, and then all the descriptions came, which was a pleasant surprise. Now, there is some debate happening amongst some of the beta testers right now about how much of the content of the description is seen by Tableau Cloud’s agent, because the technical limit is 255 characters, but there are some of us that have noted that after about 150 characters, it seems to not be reading what’s in there.

In any case, just know that you have space. 150 characters is still a lot for a field description. You just can’t give examples if we’re really down to 150, or you’d be real limited anyhow. So, field matching is our final piece here. It’s going to get all this guidance it can collect up and observe, and then it’s going to try to do the matching. Just know that these two parts and pieces to this success of this agent, they’re not at odds with each other. They’re supportive. Descriptions are very much what is the data, and preferences is supposed to be how you use it.

If you find yourself writing a preference that is not in the spirit of how to use, or use case, and more explanatory, probably misappropriating business preferences, because that’s very much what it’s supposed to do. So, some specifics that I may have already mentioned, but I’m going to hit them in high points now. In Tableau Cloud, one per dashboard, right? And I know that I showed it in August, so I’m just going to leave it as an example here. The funniest thing that happened to me when I was testing this in Cloud was I was trying to, like, pursue the thing about discounting, and I noticed that they had recommended that you use it as a place for setting thresholds or criteria for policies, so that it can be consistent with that.

When I first asked about discounts and high discounts without giving it a bounding box on what high was about, it thought that over 20% was high. Well, that was hilarious. To set your own threshold is important. Now, this right here did not work out so well. This is an example of a business preference I put in there. I’ll tell you why in a minute, but, like, putting summary statistics in the same table as output, also not a good idea. A lot of that is problematic. But this structure and this illustration on screen is exactly how this has to work with the pound sign and space. And then saved at the moment. It says, sell in documentation, text, or markdown.

The last few days ago when I tested this, it was still needing to be marked down. But every editor, VS Code, you name it, even Microsoft Word will save files as markdown if you need them to, all right? So, four kinds of rules to put into those business preferences. We’ve talked a fair amount about meaning, but really give that as much thought as you can afford and also recruit your LLM of choice to give you an extra perspective on that because what is clear to us may not be clear to the objective model. I just want to encourage you to have it come to you from that point of view, all right?

I was very surprised at its interpretation of some of the, like, I had a very robust data set I was working with and the ambiguity was surprising that it was pointing out to me. So, I was really grateful for the cooperative approach on making sure that there was good alignment on the use of language. Setting defaults is a really great idea because you want to be sure and tell it not to make assumptions and to ask or to say that it can’t answer rather than give you those assumptions unless you’re good with the assumptions. But I don’t know anybody who’s working with Gen AI that is.

So, we wanted to either ask you a better question or ask for clarification or go with the calculations that you provided because what’s at risk here is the trust of the stakeholders, right? Policies, thresholds, great idea. Perfect place for this sort of thing. Then the behavior about, if you can’t present with– What are you going to tell it, give it guardrails on guessing, hypothesizing. People like to call it hallucinating, but it’s really just, it’s running a predictive algorithm. So, it’s some data science in the background trying to guess it or estimate or project what it is that you needed to have happen there because it has been told to give you answers.

You got to know that and then give it guardrails to protect your user base and from having bad answers that make the trust fall. A couple from my testing, some things that came out, that invented threshold was hilarious. I saw that a few other times, but it was just so blatant with the discounting that it’s going to live in my slides for a while. Formatting the inside of the query. I was bothered by the output not looking like currency and the number of decimal places that was generated. And thought that it should do better, you know? So, however, I being a former SQL person, I told it to put it inside the SQL query. Watching it do SQL, right? Why not? Do your formatting there.

That was a terrible idea because then what it did was, I observed later they had run a two_char on the numbers and then it couldn’t answer the questions about the values. It couldn’t get them in a store order and just like it really was blocked on it then being a string and not being a number. So, that was by far worse than having way too many decimal places and not having dollar signs on things. Just know that you, until things are announced that that’s a thing, maybe I wouldn’t, I’d leave the formatting alone. We had some double counted totals when I had asked for, I was trying to get summary because lots of times they’ll give you summary information and they’ll give you detail and for whatever reason Tableau Cloud decided to give me one table that had the detail and the numbers and like [inaudible] do subtotals at the bottom that they were calculations that were their own column and then it ended up doing a bunch of wrong answers on the double counting and the tallying in general of what was happening.

So, be clear about that. If you’re asking for summary statistics and a breakout, just be clear and tell us to do it separately or do it in a couple of different questions, all right? Also, the idea of it dropping a filter and what is meant by this is more like, you know how when we’re doing ChatGPT or Claude in my world anyhow, when I go through things, it’s a continued conversation. I’m on a thread, it’s continuing, continuing. This Tableau Cloud in particular, its agent, you’ll need to say now using the thing from before and now using the outcomes from this other query, like I would always make a continuing phrase there before just to make sure that it’s still regarding all that’s gone before rather than assume, because then it’s very likely it’ll drop the filter or drop the criteria and give you a more broad answer which is not necessarily wrong in that moment except for that it’s not what you were meaning to ask for.

These are some things that were literally from one of the data sets I did work with recently, and some of the things that became problematic is, I had account ID in two tables. Because Tableau adds a suffix of the source table, which is, of course, a great idea, except that it’s confusing for the agent. So, that became a problem. In my data, I had country and country scope, and they had exactly the same content, but that also caused a problem, and it’s a confusion, and an inability to answer some questions for a bit. We had done some level of detailed calculations when we were trying to put together metrics that were at different levels of granularity.

The actual metrics, like undo false metrics. We had some helper fields in there, and I should have hidden them, and I did not. So, those ended up being a problem. Anything that’s real broad and not well-defined, that’s not okay to go ahead and say. Interestingly enough, the biggest set of testing that I’ve done was for three or four days straight toward the end of September, and I submitted some bug reports, and some feedback, and things, but it says that one of the recommendations is to start in a fresh conversation. I had changed the label of something over in Next, and then downloaded Tableau Semantics, and then I had it in Cloud.

It was somehow on there seeing this seal, the original label over here. I was trying to, something that had been full name for a sales rep, the name of a sales rep, that I had titled it a sales rep in the data, what I could see in the data, and then over here in Cloud, it was still saying, you have full name, and blah, blah, blah, and like, okay, so just know that it can, somewhere in the metadata, have some more fragments from what’s gone on before. All right, so bookings amount is a good example of what you want to do, because it is clear, it’s specific, and it’s not overly verbose.

You don’t have to go with really long things, but it’s really important for us to fix the content first, and write the rules second. Don’t use the rules to compensate for bad structure. If for any reason you don’t have admin privileges, just find a way to get them, because you really need to fix it in the data set. If there’s a way to get it extracted out of SQL with better names, that’s even better. Whatever, however far upstream you can push those naming conventions, specialty calculations, just as a general rule, like in teaching Tableau, and in the context of helping people learn analytics since 2016, that’s always been what we said.

It’s just that now it’s just really more, like we say it with an exclamation point, because you want, and as much as possible, let the big systems that were designed to do the heavy lift do the lift, and then pass it downstream. This was another example that was coming to me courtesy of tables that had been put together in Tableau’s Next semantics, and they were connected. I had the account table and opportunity table, and user table, and they were in a relationship, which by all means, there’s not quite as much of a distinction between relationships, physical joins in Tableau Next, although there’s something happening to optimize performance.

When I got that model down into the Tableau Cloud environment, I could ask about two table combinations, and I’ve reported this, so this may change. Hard to know, but when it needed to travel through three tables, me and two of my colleagues from other places in the world that were also testing the same kind of thought, it was not able to do that, so you want to, for now, anyhow, just be mindful of that on Cloud, and just know that the traveling through many tables to get, like if you have a data set, lots of times in Salesforce, let me back up, Salesforce, for example, likes to break their tables down into lots, their data sets down into a lot of small, normalized tables, intentionally, right?

So that represents hops between, and so that can be a time where that may be a problem. Now, do we have alternatives? Of course we do. Take the Salesforce data, run it through prep, becomes one normalized published data source, other things like that, but just know that you may need to keep things a little simpler to keep the success rate high in the environment right now with Tableau Clouds, but it’s brand new, so it’ll mature over time, all right? The testing leap I would recommend to anybody who’s involved in this, you need to have a baseline that you know before you ever get the systems going on it, so get those calculations, know what your framework is, use Claude or something else if you need to, Copilot, whoever is in your space to do some big system calculations.

Run them in SQL, but have some baseline that you know is true, and then if you have anything that’s not coming and being successful in the calculation, you want to do a little regression where you’re changing one thing at a time, making sure that it’s clear, you’re looking at those things that might need to be hidden, save your preferences file with revisions. I would strongly recommend that. I found that to be incredibly helpful rather than just writing over it. Preference files right now in Tableau Cloud, you can’t edit in the environment, but they have mentioned multiple times recently that that’s a soon-coming feature. There’s a recommendation in the documentation to have a fresh conversation with an agent, especially in Tableau Cloud, after it’s had some things where it was making errors.

I think the last time we got together, I also may or may not have experienced this yet, but there were some differences in results of if I was in edit mode on a dashboard asking questions of the agent versus being in view mode, like my stakeholders would be, right? The distinction between its ability to make good quality answers was, for better or for worse, was very present. I know they’re working on that, but I just want to warn you guys also about that. But the recommendation is to close, if it’s not being able to connect the dots, just like almost like a reboot or give it a fresh conversation, because otherwise it can build on the wrong or off-track kind of thing that’s happened prior to that.

You’ll see it in what it articulates on screen for planning and thinking through and processing the query. You’ll see it say that this didn’t work before, so I’m going to do this instead. And so, yes, this is tricky. So check your numbers and then read them the trace. The trace is watching what’s happened there. Sometimes when I don’t understand why it did it, I’ll copy it out and put it to my Claude and have it do analysis on it. That also helps a lot. This is super true for Tableau Cloud, where we want to have shorter questions, one question at a time. This one on the left was one that worked flawlessly for Tableau Next. When I got it in a cloud, I needed to break it into chunks, and then it worked like a charm.

Just know that that’s where we are at this moment. Don’t narrate your filter changes like I did. At one point, it was having trouble with a filter, and then I said something about, because I’m so used to talking to my local Claude, that this filter’s been changed, blah, blah, blah. Then it got tangled up in trying to change the filter. Interesting that it can change the filter. But just note that don’t want to narrate any, be careful with your, I can be brief, be brilliant, be gone on the giving it instructions kind of stuff that almost just short and to the point. This got me in trouble that day. So, all right.

Sometimes, this side is less so now. At the beginning, we were having to say the largest ones on top or the smallest ones on top as opposed to ascending, descending orders. That has not been my experience recently, so that’s doing better. Tableau Next does a lot better with the bigger questions, but keep in mind, we’re, what is it, 18 months into it being out of regular production, regular development and into being tested. So, all right. Five things to remember, and then I’m going to give you a little bit of visual tour on a couple of things I wanted to share and show.

Preferences really help shape the plan and also connect the dots on jargon and language and use of which field has that content. But you don’t want to, in me saying that though, you also need to be sure that your description is serving that purpose too, all right. One file per dashboard for Tableau Cloud and then, if there’s something that you need to state real explicitly that’s gonna be ambiguous, put that in the preferences. If there’s a threshold, a target, an expectation, a policy, then that’s a great place to put that. Don’t worry about formatting now, that’ll come later. But certainly don’t put it in your query like I did.

That was just a lot of wasted time. Then always having something ready to go on verification can be powerful. All right, one other thing I’ve been working on, a proof of concept that I’ll share quickly with you guys is that you can connect your Slack channel with Tableau Next, and it’s been really fun to try and to do that. I’m on the hunt to make this interactive, though, so the fact that I can send these over when I share them and then land over here has just been very, very fun.Then notice that just without it being that full, interactive, next-level licensing and all that, it still will include a link for me to go straight back into it over in Tableau Next.

That’s pretty slick. Then the next thing that I plan to do, and then as soon as I get it working I’ll share with you guys at a future DDC or something, or maybe I’ll make a video, but where you should be able to get it, I will be able to get it to where this is interactive here, and I can make a change and either trigger a workflow or Salesforce calls them flows, so I can trigger something to happen from here or I can just make an update to one of these things. Keep in mind this is going to take us back over to the pulse metrics that exist inside of Next. So I’m excited to finish that loop, but I have to have my demo environment right now for Slack is an unpaid channel, and you’ve got to have a paid channel for that.

That’s going to be very nice. The final thing I have to offer, let me just pause for a second so you can not see all the flashing of things in full screen mode. So have any of you built Viz extensions yet? Anybody on the call done that yet?

>> LAUREN: I have. Do I count?

>> CELIA: Yes, you do. Well, team, I want to just propose to you that it’s easier than you think, and I have a directory where I have a document that literally will walk you through it and the kind of questions you would need to say to Claude to make it possible. MCP is now hosted on, I think, all the Tableau platforms. So it’s not like you have to go do anything installing-wise to get it to work even. But this is just a really delightful experience to be able to do and to have something fresh, a Viz that you wanted to do and you want to make it your own. Let me see if I can get this to load up properly. I have a visual of what this is.

Let me just download this and I can open it then, the HTML part that’s in this directory. The HTML that’s in this directory is an illustration of what the Viz extension looks like. Here we go. Okay, so I’m kind of a top-down person. I travel a lot, and I like to learn cities by, like, the top-down view. I think that way it kind of carries over into my professional life. I want to know, what are the parts and pieces that are involved in a Viz extension? Because my assumption was you see that directory inside of my Tableau repository for extensions, and you assume that that means that that is all self-contained in there. Not the case.

So up until, like, current time, when you have a Viz extension, and this is part of why some people are aware and then get a little nervous about it. Even when you’re using one from Tableau Cloud or Tableau Desktop, where it’s a published one and it’s available, it’s actually hosted somewhere. And their T-R-E-X file is, like, under a pointer that is doing directions, if you will. So I built one called Funnel Bars just for fun. It’s basically the manifest. So it doesn’t hold the code. It’s pointing. Even if I built it on my system, then I have to have it posted and a port open for it. Okay?

Well, Cloud can handle that. It’s just that you’ve got to know that that has to happen. And it’s going to point over to on another part of your computer, where it’s tucked it away, an index.html and a viz.js. That’s the core instructions there, that just prior to this moment in time, you’d have to spend a whole lot of time building. Then notice this barrier here. This is the extension API that Tableau published a while back. I think the first version of it may have been, like, goodness, 2022 or maybe even before that. It’s a mature technology as well. Right? And then you get to assign. It basically co-ops over the Mars card.

So you can’t use the functions of the Mars card, but you create your own. You can just do it as well and delightfully as you want. One of my favorite colleagues is from out of California. He has his settings box as a stretchy box, his resizes, his floats. It has all the complement of colors, sizing, labeling, inside, outside, you name it, in this one pop-up box. It’s only limited by your imagination, because Cloud can code it up anyhow you want it to be and then Tableau has the facility for it to sit inside there and be added in. Just know the one thing you’ll need to add to your local system is Node.JS, but Cloud will tell you that.

The point that I wanted to make about this piece here is that as you do this, all your data is private. It’s protected. It’s safe. There’s no write back to your data. It’s just using instructions that have been built over here to reformat how your data looks. It is never able to query or do anything that would compromise the security of your data source. All this flavorful stuff that now is available really does just connect in the most really satisfying way and can provide you some outlets on pretty sure this is also, like, it’s supposed to be right now being also hosted on, like, generally available on Next.

It is on Tableau Public. You can practice all this stuff without having to pay for a license as well. But this is kind of the architecture. If you’re a top-down thinker like I am, this is kind of the flow of how this works and how the pieces fit together. So I have a directory I’d be happy to share and in that directory, let me just show you what’s there. Let’s see if I can get out of this now that it’s taken over my screen. There we go. Okay. I have an example of a walkthrough here. Then this is a markdown file that is some starter instructions. If you’re using Claude, I recommend that you have your Claude read this markdown file.

This was a fun one we did in Denver a while back where it was a lollipop that was a unified piece. Right now lots of us have learned to do lollipops as a dual axis, and, you know, they can be attractive. But this one has the settings file with it already. This was a starter. It’s one you’d want to embellish and do more with, right? But this is an example that you can work with. Then this is the HTML file I had just a second ago. But this kind of goes into a lot of the details and the definitions and what you need to do. And this also is in the walkthrough. What you want to ask for, what you want to know about it, and then some things to just be aware of.

It also shows you some of the visual, what the code behind it would be that Claude will handle. You don’t need to know too much about that other than the fact that this is what’s required to make it happen. Let me just throw this into chat and since you guys are here, I’m not necessarily going to send this out on the follow-up e-mail. But you guys came today, so thank you for that. Let me throw this into chat and if you have any trouble with it, feel free to let me know. It should work on you being able to download the things out of here. So let’s just make sure.

Commenter usually gets to be able to download. All right, so a little bit of a whirlwind tour. Hopefully soon we’ll be able to share and show the interactivity of live dashboards in Slack. I just have to finish that proof of concept to make it so that that will be doable. If you get a chance to experiment with what’s going on with business preferences, I strongly recommend it. One other thing about those Vis extensions with the data apps that are coming out, I just want to mention, we probably are not going to need to host those things in the future. They’re going to be in workbooks under this manage workbook extension.

That right there is where they’re more than likely going to be tied in on the managed data apps that’s coming soon. But for now, we are still hosting it. You’ll notice if you’ve ever worked with the custom apps or from info topics to things that Tableau has released, you know that especially for Tableau Cloud, there’s an address. It tells you to put into the allowed list. That’s what’s happening. It’s because it’s hosted somewhere. It’s just Tableau hosted it for us and people have been concerned that that would be a security violation of their data. Now that I know more about it, I don’t think so at all.

But you also could have the chance to host those things on an internal, if you have a VPN or something where you need to keep it all in-house, that’s entirely possible. What questions do we have? And or requests for other sessions. Anything, folks? Well, I really appreciate you guys coming. Lauren, I know you have been super tight on your time. Thank you for being here today. Appreciate you. They’ll send out an email by the end of the week with the recording and then some resources connected to what we’ve talked about today. As always, if there’s anything you guys need assistance with or want clarity over, please just send me an email or something like that.

t’s good to see these. I recognize so many of your names. Thank you so much for being here, really. All right, friends. Okay Lauren. Well, I’m going to give everybody five minutes back. How about that?

>> LAUREN: Yeah, that sounds good.

>> CELIA: Yes, okay. All right, y’all. Take care. Thank you. Bye-bye.

>> [00: 51:12] [END OF AUDIO]

Conversational Analytics Across Tableau Presentation

Session Outline

  • Preparing the Data for Conversational Analytics
  • Reviewing the Path from Question to Answer
  • Removing Ambiguity from Fields and Descriptions
  • Using Business Preferences for Business Context
  • Comparing Preferences Across Tableau Next and Tableau Cloud
  • Keeping Calculations Separate from Presentation Formatting
  • Writing Clear Follow-Up Questions
  • Accounting for Differences in the Data Model
  • Establishing a Repeatable Validation Process
  • Exploring Tableau Next Content in Slack
  • Building Custom Viz Extensions
  • Final Takeaways

Preparing the Data for Conversational Analytics

Before you begin, confirm access. Users need AI Access and Full Data Query permissions, and row-level security has to live in the data source rather than in user filters on a sheet or dashboard. If it does not, the agent declines to answer.

In my demonstration, I started in Tableau Next with the semantic model which was intentionally prepared to support the business environment. Clear names and detailed descriptions are key to the preparation because the metadata connects a business question to the right interpretation and correlates the data fields that supply content for the response.

This model also included governed metrics and supporting calculations. Tableau Next documents the order it resolves these: metrics first, then calculated fields, then raw fields. Defining a metric is how you take the measurement out of the agent’s hands and give it an established calculation to use, rather than leaving the result open to interpretation.

Accuracy in this information will always be important. It will need updates as the business environment changes. Find ways to leverage your time, as you invest in the semantic model. While Einstein is present in Tableau Next semantic model setup to assist with definitions, I highly recommend importing descriptions from your governed data dictionary, when possible. Salesforce provides an API to accomplish this via scripts. This activity can also be done with assistance from Claude. I recommend keeping a single source of definitional “truth,” as a business glossary or dictionary, regardless of whether it is stored in a spreadsheet or an upstream database environment.

Reviewing the Path from Question to Answer

In the demo, I followed the sequence from a question through the displayed plan, query, and response. Reviewing this process will confirm alignment or identify where the query departed from what was intended.

The final answer was only one part of the review. Tableau Next also displays sources and the table columns used to produce the output. The generated tables can be downloaded as CSV files, providing another way to examine the results.

I also tested a broad question after supplying substantial business context. The response showed how preparation can support a general request, though clear questions remain important for getting useful results. When troubleshooting, I recommended examining the displayed plan alongside the numbers rather than relying only on the final response.

Removing Ambiguity from Fields and Descriptions

One example of unexpected ambiguity came from an annual revenue field in an account table. The field described the account company’s own overall revenue as a part of their profile. My questions to the Tableau Agent asked about client revenues associated with bookings from that client. The similar terminology created initial ambiguity, and the agent calculated from the “annual revenue” field, as if it represented revenue received from that account. Clarification was required.

In the event that a field will cause ongoing confusion or ambiguity, that field can be hidden. This is the “hard” control over what an agent can or cannot see. Hide a field whenever the content should never be used in an agent’s answer.

Renaming a field can increase clarity for its content and purpose. A clearer name is a strong hint, but the agent still weighs it against everything else it reads. As additional examples, I discussed duplicate country fields with slightly varying names, account identifiers appearing with source table suffixes, and helper fields supporting complex calculations. Each needed review and deliberate renaming so the fields served the intended purposes.

Descriptions and business preferences have complementary roles. Descriptions will tell the agent what the data represents and business preferences explain how it should be used. Improving the underlying metadata is always a better strategy, when possible, than compensating with business preference rules.

Fix the content first. Write rules second.

Using Business Preferences for Business Context

Business preferences provide a place to document terminology, defaults, policies, and response guidance. They are especially useful when the language stakeholders use differs from the names or definitions in the data.

I provided a series of questions around discounting to illustrate the need. First, I asked about high discounts without defining a value for “high.” In return, the agent inferred a high threshold above 20%. My question didn’t provide a numeric threshold, so the resulting classification was unmatched to anything specific to the business operational guidance. Providing clarity about how this business defines “high” is a good use case for a Business Preference. For example: # Discounts above 0.60 are a policy violation. That makes it very clear for the agent, enables it to alert stakeholders, and shortens the needed details in the questions.

Keep in mind that an undefined term does not go unanswered. It gets defined by something other than your business.

Business Preferences can be grouped into four areas:

  • Meaning: Connect business terminology and jargon to the appropriate fields and measurements.
  • Defaults: Specify how to handle omitted details, including when clarification is needed.
  • Policies and thresholds: Define the criteria for terms such as high discounts or performance targets.
  • Response behavior: Require calculated support for reported measurements and establish boundaries around assumptions.

Keep these instructions focused and check for conflicts. More text doesn’t automatically improve the outcome, especially if different rules point to different interpretations of the same question or present overlapping criteria.

Comparing Preferences Across Tableau Next and Tableau Cloud

As of the beginning of October 2026, Tableau Next uses one business preferences file per semantic model, limited to 30,000 characters. Tableau Cloud pairs a preferences file with an individual dashboard and allows 8,000 characters and up to 50 guidelines or rules.

I also noted a slight syntax difference in the file formatting between the two environments. The Tableau Next format placed the heading text immediately after the pound sign, while Tableau Cloud required a space after the pound sign. In my recent Cloud testing, I also needed to save the file as Markdown.

These products are evolving quickly, so please confirm the latest guidance on syntax, character limits and the number of permitted business rule lines in your specific product.

Keeping Calculations Separate from Presentation Formatting

One of my troubleshooting examples began with a presentation concern. I had written a business preference asking for rounding and currency formatting, and it was ignored. The output showed unnecessary decimal places and did not display currency as expected. Having spent many years writing SQL, I added an instruction to format it inside the SQL query.

The resulting conversion changed the numeric values into strings. The agent had used a classic SQL function to_char to follow my instructions. The unintended consequence was an inability for the agent to see the values as numbers, creating a more significant problem than display formatting.

Writing Clear Follow-Up Questions

Conversational interaction can make it tempting to assume every condition will carry forward automatically. In my Tableau Cloud testing, I found it improved the outcomes to explicitly mention that we were continuing to build on the prior results when asking a follow-on question.

Without this connection, a later response can silently drop a filter and use a broader scope than intended. The answer might be valid for the broader question while failing to preserve the focused condition from the previous exchange.

Shorter questions also improved Tableau Cloud Agent results. While longer, more complex questions worked in Tableau Next, they needed to be divided into smaller requests for Tableau Cloud’s Agent.

It is noteworthy that the Tableau Agent in both platforms will respect activated dashboard filters and reflect that inclusion or exclusion of data in the responses it creates.

Accounting for Differences in the Data Model

I also shared observations from loading Tableau semantics into Tableau Desktop and then publishing to Tableau Cloud. Calculated fields and descriptions successfully transferred. However, Tableau Next’s Metrics did not. Those values should be recreated as Pulse Metrics or calculated fields, where appropriate.

Establishing a Repeatable Validation Process

Before testing conversational answers, I recommend establishing a baseline of known results. Verified calculations provide a reference for evaluating the output and help distinguish a query calculation problem from a misunderstanding of how to apply the underlying data.

When a result differs from the baseline, regression testing by modifying one thing at a time is a worthy method. That might involve clarifying a field name, hiding a helper field, revising a preference, or revising the question. I also keep numbered revisions of preference files so I can compare changes instead of repeatedly overwriting the same instructions.

Starting a fresh conversation was another recommended troubleshooting step, particularly after calculation errors or metadata changes. I noted cases where earlier field labels or unsuccessful query paths continued to affect later exchanges. At the time of writing, there were observed differences between dashboard edit mode and view mode, so it’s important to test the experience stakeholders will actually use.

Exploring Tableau Next Content in Slack

Near the end of the session, I shared a proof of concept connecting Tableau Next content with Slack. The content I shared included a link back to Tableau Next, providing a path from the Slack channel to the original analytics environment. The experience that maintains interactivity of the dashboard or metric inside Slack is in beta and will reach general availability soon.

Building Custom Viz Extensions

I closed with a brief introduction to custom Viz extensions and the role of AI-assisted coding in creating them. My examples included a custom funnel visualization and a starter lollipop chart, along with walkthrough materials describing the architecture of the components involved.

One important distinction is between the extension manifest and the code behind the visualization. The .trex file points to the hosted extension rather than containing its code. I used the architecture walkthrough to explain how the manifest, HTML, JavaScript, and Tableau extension API fit together.

I also discussed creating custom settings panels for colors, sizing, and labels. Coding assistance can help produce those components, while the designer still determines the visual requirements and evaluates the result. Hosting remains part of the setup, including the option to self-host or have the custom viz files hosted by a server shared with a broader audience.

Final Takeaways

My central recommendation is to create robust data structures. Add rules and preferences as support, but not as a replacement for data excellence. Confidently know that it is your investment in the semantic model that makes conversational analytics a reality.

Curating and validating will always be essential to establish and enable a broadly trusted resource.

My final encouragement is to dive in! Start small and build. Curate a list of verified questions as a base. Look for ways to leverage your resources and workflow. It’s a very exciting time to be involved with Data + Tableau!

Picture of Celia Fryar

Celia Fryar

Celia is a Training and Enablement Lead at XeoMatrix. A Data educator and strategist with over 20 years of industry experience, Celia is dedicated to turning analytics into action and opportunity. She's also an Adjunct Professor at the University of San Francisco.

Latest Blog Posts

Tableau+: Decoded

What is Tableau+? Explore how Tableau Agent, Pulse, Cloud, and Tableau Next support conversational analytics, governance, and trusted insights.

Upcoming Events