[{"data":1,"prerenderedAt":5303},["ShallowReactive",2],{"blog-/blog/prompt-to-dashboard-conversational-bi":3,"content-query-0lFPHM1MG2":889,"content-query-89odZy2Wyn":1535,"content-query-fj0qW9EpSx":2181},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"coverImage":10,"date":11,"readingTime":12,"category":13,"tags":14,"author":29,"body":33,"_type":883,"_id":884,"_source":885,"_file":886,"_stem":887,"_extension":888},"/blog/prompt-to-dashboard-conversational-bi","blog",false,"","From Prompt to Dashboard: How Conversational AI Is Replacing the BI Request Queue","For 20 years, self-serve BI has meant 'learn to build your own dashboard.' In 2026, prompting replaces point-and-click, and the BI request queue dies with it. A practical look at where conversational BI works, where it does not, and how to run a data team around it.","/img/blog/prompt-to-dashboard/cover.png","2026-04-02",18,"Product Launch",[15,16,17,18,19,20,21,22,23,24,25,26,27,28],"launch","ai dashboards","conversational bi","natural language","self-serve analytics","slack","business intelligence","ai data analyst","bruin","thoughtspot","hex","power bi copilot","chatgpt","tableau",{"name":30,"role":31,"image":32},"Kateryna Kozachenko","Marketing & Growth","/img/blog/kate.jpeg",{"type":34,"children":35,"toc":831},"root",[36,44,49,54,61,66,71,96,101,107,112,119,124,130,135,141,146,152,157,200,205,211,216,222,227,233,238,244,249,255,260,266,271,277,282,288,293,299,304,310,315,321,326,331,349,354,368,374,380,408,414,442,447,453,458,492,498,503,531,536,542,565,571,602,615,620,626,632,637,643,655,661,666,672,677,683,688,694,699,705,710,716,721,727,732,738,743,749,754,760,765,771,776,782,787,793,798,804,809,815,820,826],{"type":37,"tag":38,"props":39,"children":40},"element","p",{},[41],{"type":42,"value":43},"text","For two decades, \"self-serve BI\" has been a euphemism. What it has actually meant is this: the data team will build you a dashboard, and if you are lucky, a filter or two you can click. Every \"democratize data\" platform from Tableau to Looker to Power BI has promised self-serve and delivered ticket queues.",{"type":37,"tag":38,"props":45,"children":46},{},[47],{"type":42,"value":48},"In 2026 that is finally breaking. The generation of BI tools showing up now (AI dashboard builders, conversational AI analysts, natural-language-to-SQL tools) do not ask non-technical users to learn a query language or a visualization tool. They ask them to type the question.",{"type":37,"tag":38,"props":50,"children":51},{},[52],{"type":42,"value":53},"Here is what changed, what it means for data teams, and what a dashboard even is anymore.",{"type":37,"tag":55,"props":56,"children":58},"h2",{"id":57},"the-failure-mode-of-traditional-bi",[59],{"type":42,"value":60},"The failure mode of traditional BI",{"type":37,"tag":38,"props":62,"children":63},{},[64],{"type":42,"value":65},"The classic BI stack assumes a pipeline like this. Business user has a question. Analyst builds a query. Analyst builds a dashboard. User learns the dashboard. User asks a slightly different question. Analyst updates the dashboard.",{"type":37,"tag":38,"props":67,"children":68},{},[69],{"type":42,"value":70},"In practice, steps two through five take days or weeks, so:",{"type":37,"tag":72,"props":73,"children":74},"ul",{},[75,81,86,91],{"type":37,"tag":76,"props":77,"children":78},"li",{},[79],{"type":42,"value":80},"Business users stop asking the medium-difficulty questions.",{"type":37,"tag":76,"props":82,"children":83},{},[84],{"type":42,"value":85},"They ask the easy ones themselves, often wrong, using the filter controls on existing dashboards.",{"type":37,"tag":76,"props":87,"children":88},{},[89],{"type":42,"value":90},"They escalate the hard ones to the data team, which becomes a ticket queue.",{"type":37,"tag":76,"props":92,"children":93},{},[94],{"type":42,"value":95},"The dashboards multiply (Tableau shops often have 10,000+), most are abandoned, and nobody trusts the numbers because three dashboards define revenue differently.",{"type":37,"tag":38,"props":97,"children":98},{},[99],{"type":42,"value":100},"This is the universal pain in data orgs, and it is why the BI market never converged. Everyone's pain was real. Nobody's dashboard was the answer.",{"type":37,"tag":55,"props":102,"children":104},{"id":103},"what-prompting-actually-replaces",[105],{"type":42,"value":106},"What prompting actually replaces",{"type":37,"tag":38,"props":108,"children":109},{},[110],{"type":42,"value":111},"When a user can type \"What's our MRR by plan last month, just the Enterprise customers?\" into Slack and get a trusted answer in seconds, three things happen at once.",{"type":37,"tag":113,"props":114,"children":116},"h3",{"id":115},"_1-the-dashboard-is-no-longer-the-unit-of-work",[117],{"type":42,"value":118},"1. The dashboard is no longer the unit of work",{"type":37,"tag":38,"props":120,"children":121},{},[122],{"type":42,"value":123},"Dashboards were a workaround for not being able to ask questions directly. When you can ask, you do not need to pre-compose 40 variations of the same question into tiled charts. The dashboard survives, but as a summary. A regularly useful overview, not a canvas for every possible question.",{"type":37,"tag":113,"props":125,"children":127},{"id":126},"_2-the-bi-request-queue-disappears-for-the-easy-80",[128],{"type":42,"value":129},"2. The BI request queue disappears for the easy 80%",{"type":37,"tag":38,"props":131,"children":132},{},[133],{"type":42,"value":134},"Not all data questions are analyst-worthy. Most are routine. \"How many new signups did we get yesterday?\", \"What's the churn rate in Germany this month?\", \"Is campaign X performing above baseline?\" These questions are simple SQL against a governed semantic layer. They do not require a human analyst. Once an AI can handle them, the analyst's calendar decompresses and the business stops waiting.",{"type":37,"tag":113,"props":136,"children":138},{"id":137},"_3-analysts-graduate-to-the-questions-worth-asking",[139],{"type":42,"value":140},"3. Analysts graduate to the questions worth asking",{"type":37,"tag":38,"props":142,"children":143},{},[144],{"type":42,"value":145},"Freed from the ticket queue, data teams spend more time on the genuinely hard work. Defining the semantic layer that makes the AI trustworthy, building deep analyses, partnering with product and finance on strategic questions. This is a promotion, not a threat. Every data leader I talk to in 2026 is relieved.",{"type":37,"tag":55,"props":147,"children":149},{"id":148},"who-does-this-well-and-what-well-actually-means",[150],{"type":42,"value":151},"Who does this well, and what \"well\" actually means",{"type":37,"tag":38,"props":153,"children":154},{},[155],{"type":42,"value":156},"A handful of tools are converging on this pattern, with important differences in where the conversation happens and what is underneath.",{"type":37,"tag":72,"props":158,"children":159},{},[160,165,170,175,180,185,190,195],{"type":37,"tag":76,"props":161,"children":162},{},[163],{"type":42,"value":164},"Bruin: conversational AI analyst in Slack, Microsoft Teams, Discord, WhatsApp, and browser, with the full pipeline (ingestion, transformation, quality, lineage) underneath.",{"type":37,"tag":76,"props":166,"children":167},{},[168],{"type":42,"value":169},"ThoughtSpot: AI-first BI platform with Spotter (AI Analyst, SpotterModel, SpotterViz, SpotterCode) plus liveboards and search. Standalone web app.",{"type":37,"tag":76,"props":171,"children":172},{},[173],{"type":42,"value":174},"Hex: collaborative SQL and Python notebooks with a Notebook Agent for AI assistance, published as data apps for stakeholders.",{"type":37,"tag":76,"props":176,"children":177},{},[178],{"type":42,"value":179},"Power BI Copilot: Microsoft's prompt layer over Power BI semantic models, running on Fabric or Power BI Premium capacity.",{"type":37,"tag":76,"props":181,"children":182},{},[183],{"type":42,"value":184},"Tableau AI and Pulse: Salesforce's AI layer over Tableau dashboards, with personalized metric digests via Pulse.",{"type":37,"tag":76,"props":186,"children":187},{},[188],{"type":42,"value":189},"Dot: chat-first AI analyst in Slack, Microsoft Teams, or email on top of your warehouse.",{"type":37,"tag":76,"props":191,"children":192},{},[193],{"type":42,"value":194},"Defog.ai: open-source text-to-SQL models for embedding.",{"type":37,"tag":76,"props":196,"children":197},{},[198],{"type":42,"value":199},"Claude or ChatGPT with MCP: general-purpose LLMs connected to your warehouse.",{"type":37,"tag":38,"props":201,"children":202},{},[203],{"type":42,"value":204},"What separates the ones that actually work from the ones that demo well:",{"type":37,"tag":113,"props":206,"children":208},{"id":207},"a-governed-semantic-layer",[209],{"type":42,"value":210},"A governed semantic layer",{"type":37,"tag":38,"props":212,"children":213},{},[214],{"type":42,"value":215},"If your AI answers \"what's our revenue last quarter?\" with three different numbers on three different days, you do not have an AI data analyst. You have a liability. The tool needs shared definitions (MRR, churn, LTV, CAC) that live in the pipeline, not in a prompt.",{"type":37,"tag":113,"props":217,"children":219},{"id":218},"context-across-a-conversation",[220],{"type":42,"value":221},"Context across a conversation",{"type":37,"tag":38,"props":223,"children":224},{},[225],{"type":42,"value":226},"A single question is easy. \"And now split by region. And now just the Enterprise plan. Compare to last quarter.\" is where it gets real. The tool has to carry context across turns, the way a human analyst would.",{"type":37,"tag":113,"props":228,"children":230},{"id":229},"the-right-surface",[231],{"type":42,"value":232},"The right surface",{"type":37,"tag":38,"props":234,"children":235},{},[236],{"type":42,"value":237},"Business users do not open a new app to ask a question they could have texted. Tools that live in Slack, Teams, and WhatsApp have an unfair adoption advantage over standalone web platforms. The best place to answer a data question is wherever the question is being asked.",{"type":37,"tag":113,"props":239,"children":241},{"id":240},"governance-you-would-stake-your-career-on",[242],{"type":42,"value":243},"Governance you would stake your career on",{"type":37,"tag":38,"props":245,"children":246},{},[247],{"type":42,"value":248},"Row-level access control, audit logs, the ability to revoke users instantly, and a clear story about which data the AI can and cannot see. This is the table stakes most demos gloss over.",{"type":37,"tag":113,"props":250,"children":252},{"id":251},"visible-sql",[253],{"type":42,"value":254},"Visible SQL",{"type":37,"tag":38,"props":256,"children":257},{},[258],{"type":42,"value":259},"A good conversational BI tool shows you the SQL it ran. Trust requires that. Tools that hide the query from the user are a black box and should be treated skeptically.",{"type":37,"tag":55,"props":261,"children":263},{"id":262},"what-traditional-bi-got-right-that-ai-still-needs",[264],{"type":42,"value":265},"What traditional BI got right that AI still needs",{"type":37,"tag":38,"props":267,"children":268},{},[269],{"type":42,"value":270},"It is easy to dismiss dashboards as old thinking. But traditional BI got four things right, and a conversational tool that ignores them fails just as fast as Tableau did with \"self-serve.\"",{"type":37,"tag":113,"props":272,"children":274},{"id":273},"consistency-of-the-headline-number",[275],{"type":42,"value":276},"Consistency of the headline number",{"type":37,"tag":38,"props":278,"children":279},{},[280],{"type":42,"value":281},"If the CFO and the head of ops look at \"revenue\" in the same week, they had better see the same number. Dashboards enforced that by locking the definition into a visualization. AI analysts enforce it through the semantic layer. Either way, the discipline is the same.",{"type":37,"tag":113,"props":283,"children":285},{"id":284},"permissions",[286],{"type":42,"value":287},"Permissions",{"type":37,"tag":38,"props":289,"children":290},{},[291],{"type":42,"value":292},"BI tools got serious about row-level access because auditors made them. AI analysts need the same rigor. Permissions cannot be an afterthought.",{"type":37,"tag":113,"props":294,"children":296},{"id":295},"refresh-cadence-and-freshness",[297],{"type":42,"value":298},"Refresh cadence and freshness",{"type":37,"tag":38,"props":300,"children":301},{},[302],{"type":42,"value":303},"If an AI analyst answers from a seven-hour-stale cache, users will be misled. The pipeline underneath has to be honest about data freshness. Traditional BI surfaced this with \"last refreshed at\" stamps. AI analysts need to as well.",{"type":37,"tag":113,"props":305,"children":307},{"id":306},"standing-views",[308],{"type":42,"value":309},"Standing views",{"type":37,"tag":38,"props":311,"children":312},{},[313],{"type":42,"value":314},"Some questions deserve a dashboard. The exec summary. The operational monitor. The compliance report. Not every question should be ephemeral chat. The best stack keeps a small number of high-signal dashboards alongside the conversational layer.",{"type":37,"tag":55,"props":316,"children":318},{"id":317},"what-a-dashboard-becomes-in-this-world",[319],{"type":42,"value":320},"What a \"dashboard\" becomes in this world",{"type":37,"tag":38,"props":322,"children":323},{},[324],{"type":42,"value":325},"Dashboards do not die. They compress.",{"type":37,"tag":38,"props":327,"children":328},{},[329],{"type":42,"value":330},"The dashboards that survive are:",{"type":37,"tag":72,"props":332,"children":333},{},[334,339,344],{"type":37,"tag":76,"props":335,"children":336},{},[337],{"type":42,"value":338},"Executive summaries. The five to ten charts a team actually looks at every morning.",{"type":37,"tag":76,"props":340,"children":341},{},[342],{"type":42,"value":343},"Operational monitors. Live data where you want a standing view, not a per-question answer.",{"type":37,"tag":76,"props":345,"children":346},{},[347],{"type":42,"value":348},"Compliance views. Regulated contexts where a defined, auditable dashboard is the requirement.",{"type":37,"tag":38,"props":350,"children":351},{},[352],{"type":42,"value":353},"Everything else (the 80% of dashboards that existed because the alternative was a ticket) gets replaced by conversation.",{"type":37,"tag":38,"props":355,"children":356},{},[357,359,366],{"type":42,"value":358},"And increasingly, even those surviving dashboards are generated from a prompt rather than hand-built. Tools like ",{"type":37,"tag":360,"props":361,"children":363},"a",{"href":362},"/dashboards/",[364],{"type":42,"value":365},"Bruin's AI dashboards",{"type":42,"value":367}," let a user describe the dashboard they want (\"show me a weekly growth overview with signups, activations, revenue, and churn, filterable by plan\") and the platform composes it. If it needs edits, you edit by talking, not by dragging chart tiles around.",{"type":37,"tag":55,"props":369,"children":371},{"id":370},"a-data-teams-week-before-and-after",[372],{"type":42,"value":373},"A data team's week, before and after",{"type":37,"tag":113,"props":375,"children":377},{"id":376},"before-conversational-bi",[378],{"type":42,"value":379},"Before conversational BI",{"type":37,"tag":72,"props":381,"children":382},{},[383,388,393,398,403],{"type":37,"tag":76,"props":384,"children":385},{},[386],{"type":42,"value":387},"Monday: triage last week's Slack questions. Twelve tickets in the backlog. Three are urgent.",{"type":37,"tag":76,"props":389,"children":390},{},[391],{"type":42,"value":392},"Tuesday: write SQL for three urgent tickets. Build a small dashboard for one.",{"type":37,"tag":76,"props":394,"children":395},{},[396],{"type":42,"value":397},"Wednesday: stakeholder sync. Hear about six new questions. Commit to four.",{"type":37,"tag":76,"props":399,"children":400},{},[401],{"type":42,"value":402},"Thursday: build dashboards for the four. Two are \"just like\" existing dashboards with different filters.",{"type":37,"tag":76,"props":404,"children":405},{},[406],{"type":42,"value":407},"Friday: strategic work that was supposed to take all week. Gets two hours.",{"type":37,"tag":113,"props":409,"children":411},{"id":410},"after-conversational-bi",[412],{"type":42,"value":413},"After conversational BI",{"type":37,"tag":72,"props":415,"children":416},{},[417,422,427,432,437],{"type":37,"tag":76,"props":418,"children":419},{},[420],{"type":42,"value":421},"Monday: review AI-generated answers from the weekend. Catch two that got a definition slightly wrong, fix the semantic layer.",{"type":37,"tag":76,"props":423,"children":424},{},[425],{"type":42,"value":426},"Tuesday: strategic work. Real time for deep analysis.",{"type":37,"tag":76,"props":428,"children":429},{},[430],{"type":42,"value":431},"Wednesday: stakeholder sync. Hear about six new questions. One is genuinely novel and deserves analyst time. The other five, the AI is already answering.",{"type":37,"tag":76,"props":433,"children":434},{},[435],{"type":42,"value":436},"Thursday: build a real model. Partner with product on a genuinely hard question.",{"type":37,"tag":76,"props":438,"children":439},{},[440],{"type":42,"value":441},"Friday: retrospective on the AI's answers for the week. Update the semantic layer. Retire three old dashboards nobody is using because the AI made them redundant.",{"type":37,"tag":38,"props":443,"children":444},{},[445],{"type":42,"value":446},"The difference is not \"less work.\" It is \"less low-leverage work.\"",{"type":37,"tag":55,"props":448,"children":450},{"id":449},"the-data-teams-playbook-in-2026",[451],{"type":42,"value":452},"The data team's playbook in 2026",{"type":37,"tag":38,"props":454,"children":455},{},[456],{"type":42,"value":457},"If you run a data team, here is the practical move.",{"type":37,"tag":459,"props":460,"children":461},"ol",{},[462,467,472,477,482,487],{"type":37,"tag":76,"props":463,"children":464},{},[465],{"type":42,"value":466},"Pick one governed source of truth. A warehouse (Snowflake, BigQuery, Databricks, Redshift, or open-source like DuckDB or Postgres) with a semantic layer you control.",{"type":37,"tag":76,"props":468,"children":469},{},[470],{"type":42,"value":471},"Invest in definitions, not dashboards. Every metric in the semantic layer is 10x leverage. Every extra dashboard is technical debt.",{"type":37,"tag":76,"props":473,"children":474},{},[475],{"type":42,"value":476},"Put an AI analyst on the surfaces your team already uses. Slack, Teams, WhatsApp. Stop expecting people to log into another app.",{"type":37,"tag":76,"props":478,"children":479},{},[480],{"type":42,"value":481},"Keep a small number of high-signal dashboards for standing views and exec summaries. Retire the rest.",{"type":37,"tag":76,"props":483,"children":484},{},[485],{"type":42,"value":486},"Measure time-to-answer, not dashboard count. The best KPI for a modern data team is how fast someone gets from \"I have a question\" to \"I have an answer.\"",{"type":37,"tag":76,"props":488,"children":489},{},[490],{"type":42,"value":491},"Review AI-generated answers regularly. Treat the semantic layer as a living product that needs tuning as the business evolves.",{"type":37,"tag":55,"props":493,"children":495},{"id":494},"how-to-pilot-conversational-bi",[496],{"type":42,"value":497},"How to pilot conversational BI",{"type":37,"tag":38,"props":499,"children":500},{},[501],{"type":42,"value":502},"A common pilot pattern:",{"type":37,"tag":72,"props":504,"children":505},{},[506,511,516,521,526],{"type":37,"tag":76,"props":507,"children":508},{},[509],{"type":42,"value":510},"Pick one high-friction function, like customer success or ops.",{"type":37,"tag":76,"props":512,"children":513},{},[514],{"type":42,"value":515},"Deploy the AI analyst in their Slack channel.",{"type":37,"tag":76,"props":517,"children":518},{},[519],{"type":42,"value":520},"Seed the semantic layer with the 20 metrics they ask about most often.",{"type":37,"tag":76,"props":522,"children":523},{},[524],{"type":42,"value":525},"Run for three weeks and watch both the questions asked and the quality of the answers.",{"type":37,"tag":76,"props":527,"children":528},{},[529],{"type":42,"value":530},"Fix the semantic layer, not the AI. The AI is usually fine. Definitions are usually the problem.",{"type":37,"tag":38,"props":532,"children":533},{},[534],{"type":42,"value":535},"If the pilot team is asking more questions (not fewer) by week three, the pattern is working. Expand to adjacent teams.",{"type":37,"tag":55,"props":537,"children":539},{"id":538},"the-honest-caveats",[540],{"type":42,"value":541},"The honest caveats",{"type":37,"tag":72,"props":543,"children":544},{},[545,550,555,560],{"type":37,"tag":76,"props":546,"children":547},{},[548],{"type":42,"value":549},"Conversational BI is not a shortcut around data quality. Bad data in, bad answers out.",{"type":37,"tag":76,"props":551,"children":552},{},[553],{"type":42,"value":554},"The semantic layer is real work. A quick demo hides this. Production deployments do not.",{"type":37,"tag":76,"props":556,"children":557},{},[558],{"type":42,"value":559},"Not every question is best asked in chat. Deep exploration still benefits from a notebook or a proper workspace.",{"type":37,"tag":76,"props":561,"children":562},{},[563],{"type":42,"value":564},"AI answers can feel authoritative even when they are wrong. Visible SQL and confidence signals matter. Teams need to build a culture of \"trust but verify\" for the first 90 days.",{"type":37,"tag":55,"props":566,"children":568},{"id":567},"try-the-short-version",[569],{"type":42,"value":570},"Try the short version",{"type":37,"tag":38,"props":572,"children":573},{},[574,576,582,584,592,594,600],{"type":42,"value":575},"If you want to see this in practice, ",{"type":37,"tag":360,"props":577,"children":579},{"href":578},"/ai-data-analyst/",[580],{"type":42,"value":581},"Bruin",{"type":42,"value":583}," is our attempt at the full stack. Conversational AI analyst in Slack, Teams, and WhatsApp, AI-generated dashboards, governed pipeline, open-source core. The ",{"type":37,"tag":360,"props":585,"children":589},{"href":586,"rel":587},"https://github.com/bruin-data/bruin",[588],"nofollow",[590],{"type":42,"value":591},"CLI is on GitHub",{"type":42,"value":593},", the platform has a free tier, and ",{"type":37,"tag":360,"props":595,"children":597},{"href":596},"/book-a-demo",[598],{"type":42,"value":599},"demos",{"type":42,"value":601}," take about 20 minutes.",{"type":37,"tag":38,"props":603,"children":604},{},[605,607,613],{"type":42,"value":606},"If you want to compare the landscape honestly, we keep ",{"type":37,"tag":360,"props":608,"children":610},{"href":609},"/comparisons/",[611],{"type":42,"value":612},"comparisons against the other serious tools",{"type":42,"value":614}," up to date. ThoughtSpot, Hex, Power BI Copilot, Claude, Dot, Defog.ai, and more.",{"type":37,"tag":38,"props":616,"children":617},{},[618],{"type":42,"value":619},"Either way, the BI request queue is ending. In 2026 your team deserves to get answers by asking, not by waiting for someone to build them a dashboard.",{"type":37,"tag":55,"props":621,"children":623},{"id":622},"faq",[624],{"type":42,"value":625},"FAQ",{"type":37,"tag":113,"props":627,"children":629},{"id":628},"what-is-conversational-bi",[630],{"type":42,"value":631},"What is conversational BI?",{"type":37,"tag":38,"props":633,"children":634},{},[635],{"type":42,"value":636},"Conversational BI is a pattern where users ask questions in natural language (in chat apps like Slack, Teams, or WhatsApp, or in a web UI) and an AI data analyst returns answers from governed company data. It replaces the traditional \"go build me a dashboard\" request queue with direct conversation.",{"type":37,"tag":113,"props":638,"children":640},{"id":639},"can-an-ai-tool-build-a-dashboard-from-a-text-prompt",[641],{"type":42,"value":642},"Can an AI tool build a dashboard from a text prompt?",{"type":37,"tag":38,"props":644,"children":645},{},[646,648,653],{"type":42,"value":647},"Yes. ",{"type":37,"tag":360,"props":649,"children":650},{"href":362},[651],{"type":42,"value":652},"Bruin's AI Dashboards",{"type":42,"value":654}," lets you describe the dashboard you want and have it generated. ThoughtSpot generates liveboards from search queries. Hex can scaffold data apps via the Notebook Agent. Power BI Copilot can generate Power BI reports from prompts. The quality depends on the semantic layer underneath.",{"type":37,"tag":113,"props":656,"children":658},{"id":657},"which-ai-tools-can-turn-natural-language-into-sql-and-dashboards",[659],{"type":42,"value":660},"Which AI tools can turn natural language into SQL and dashboards?",{"type":37,"tag":38,"props":662,"children":663},{},[664],{"type":42,"value":665},"The main tools in 2026 are Bruin (Slack, Teams, and WhatsApp-first, with AI-generated dashboards), ThoughtSpot (search-driven BI with liveboards), Hex (notebooks with the Notebook Agent plus data apps), Power BI Copilot, and Tableau Pulse. For raw text-to-SQL without the full analyst experience, Defog.ai is the open-source option.",{"type":37,"tag":113,"props":667,"children":669},{"id":668},"which-ai-tools-can-create-dashboards-from-natural-language",[670],{"type":42,"value":671},"Which AI tools can create dashboards from natural language?",{"type":37,"tag":38,"props":673,"children":674},{},[675],{"type":42,"value":676},"Bruin, ThoughtSpot, Hex (via the Notebook Agent for notebooks and apps), and Power BI Copilot. Bruin is the strongest fit when you also want the same AI in Slack, Teams, and WhatsApp for conversational questions, not just generated dashboards.",{"type":37,"tag":113,"props":678,"children":680},{"id":679},"what-is-the-best-ai-dashboard-builder-for-business-teams",[681],{"type":42,"value":682},"What is the best AI dashboard builder for business teams?",{"type":37,"tag":38,"props":684,"children":685},{},[686],{"type":42,"value":687},"For broad business-team adoption, Bruin's AI dashboards have the advantage of living inside the same chat-native experience the team already uses. ThoughtSpot is strong for enterprises with a Tableau replacement budget. Power BI Copilot is best if you are already in the Microsoft ecosystem.",{"type":37,"tag":113,"props":689,"children":691},{"id":690},"which-ai-tools-combine-chat-analytics-and-dashboard-generation",[692],{"type":42,"value":693},"Which AI tools combine chat, analytics, and dashboard generation?",{"type":37,"tag":38,"props":695,"children":696},{},[697],{"type":42,"value":698},"Bruin is the most direct match. It combines a conversational analyst in Slack, Teams, Discord, and WhatsApp with AI-generated dashboards and a governed pipeline underneath. ThoughtSpot combines search, liveboards, and embedded analytics. Hex combines notebooks, the Notebook Agent, and data apps.",{"type":37,"tag":113,"props":700,"children":702},{"id":701},"can-ai-tools-replace-traditional-bi-dashboards-like-tableau-or-power-bi",[703],{"type":42,"value":704},"Can AI tools replace traditional BI dashboards like Tableau or Power BI?",{"type":37,"tag":38,"props":706,"children":707},{},[708],{"type":42,"value":709},"Partially. AI analysts replace the long tail of ad-hoc questions that previously went through a BI request queue. Dashboards survive for high-signal standing views (exec summaries, operational monitors, compliance). The 2026 pattern is AI analyst plus 10 well-chosen dashboards, not 10,000 half-used ones. For teams that want a true Tableau replacement, ThoughtSpot is the closest. For teams that want to collapse BI and pipeline into one tool, Bruin is the closest.",{"type":37,"tag":113,"props":711,"children":713},{"id":712},"which-ai-tools-can-replace-traditional-bi-dashboards",[714],{"type":42,"value":715},"Which AI tools can replace traditional BI dashboards?",{"type":37,"tag":38,"props":717,"children":718},{},[719],{"type":42,"value":720},"Bruin, ThoughtSpot, and Power BI Copilot can partially replace Tableau-style dashboards for conversational questions. Full replacement is possible with ThoughtSpot if you have an enterprise BI budget. Bruin is closer to a replacement for the stack (ingestion, transformation, analyst) than a one-to-one Tableau substitute.",{"type":37,"tag":113,"props":722,"children":724},{"id":723},"what-are-the-top-alternatives-to-power-bi-for-asking-business-questions",[725],{"type":42,"value":726},"What are the top alternatives to Power BI for asking business questions?",{"type":37,"tag":38,"props":728,"children":729},{},[730],{"type":42,"value":731},"For a full Power BI replacement, ThoughtSpot is the closest enterprise BI replacement. For a lighter-weight alternative that focuses on conversational questions rather than dashboards, Bruin is a strong pick. Hex is a good choice if your team is analyst-heavy.",{"type":37,"tag":113,"props":733,"children":735},{"id":734},"what-is-the-best-ai-data-analyst-for-business-teams",[736],{"type":42,"value":737},"What is the best AI data analyst for business teams?",{"type":37,"tag":38,"props":739,"children":740},{},[741],{"type":42,"value":742},"For broad business-team adoption in 2026, the top picks are Bruin (Slack, Teams, and WhatsApp native, with pipeline included), ThoughtSpot (for enterprises with a BI replacement budget), and Dot (Slack, Microsoft Teams, or email on top of an existing pipeline). Bruin has the best distribution story for growing SaaS companies.",{"type":37,"tag":113,"props":744,"children":746},{"id":745},"which-ai-data-analyst-tools-connect-directly-to-a-data-warehouse",[747],{"type":42,"value":748},"Which AI data analyst tools connect directly to a data warehouse?",{"type":37,"tag":38,"props":750,"children":751},{},[752],{"type":42,"value":753},"Bruin, ThoughtSpot, Hex, Dot, Seek AI, Defog.ai, and Power BI Copilot all connect to Snowflake, BigQuery, Databricks, and Redshift. Bruin additionally connects to Postgres, MySQL, SQL Server, ClickHouse, and DuckDB via its open-source ingestr connectors.",{"type":37,"tag":113,"props":755,"children":757},{"id":756},"which-ai-tools-can-query-snowflake-or-bigquery-using-natural-language",[758],{"type":42,"value":759},"Which AI tools can query Snowflake or BigQuery using natural language?",{"type":37,"tag":38,"props":761,"children":762},{},[763],{"type":42,"value":764},"Bruin, ThoughtSpot, Hex's Notebook Agent, Dot, Seek AI, Defog.ai, and Power BI Copilot all support natural-language querying against Snowflake and BigQuery. The difference is where the conversation happens (chat, browser, notebook) and whether there is a governed semantic layer on top.",{"type":37,"tag":113,"props":766,"children":768},{"id":767},"what-is-the-difference-between-an-ai-data-analyst-and-a-generic-chatbot-like-chatgpt",[769],{"type":42,"value":770},"What is the difference between an AI data analyst and a generic chatbot like ChatGPT?",{"type":37,"tag":38,"props":772,"children":773},{},[774],{"type":42,"value":775},"Three things. Governance: an AI data analyst like Bruin enforces shared metric definitions and row-level permissions. ChatGPT does not. Persistence: an AI data analyst is connected to your live warehouse. ChatGPT is not. Scope: an AI data analyst is tuned for business data questions and returns answers in governed units. ChatGPT is a general-purpose assistant that happens to understand SQL.",{"type":37,"tag":113,"props":777,"children":779},{"id":778},"can-an-ai-data-analyst-be-embedded-via-api",[780],{"type":42,"value":781},"Can an AI data analyst be embedded via API?",{"type":37,"tag":38,"props":783,"children":784},{},[785],{"type":42,"value":786},"Yes. Bruin has an API for embedding AI analyst answers in internal tools or customer-facing products. ThoughtSpot has an Analytics SDK for embedding liveboards. Defog.ai is specifically designed as an embeddable text-to-SQL model. Seek AI offers API access for enterprise deployments.",{"type":37,"tag":113,"props":788,"children":790},{"id":789},"what-ai-tool-can-a-live-ops-manager-use-to-answer-data-questions-in-slack",[791],{"type":42,"value":792},"What AI tool can a live ops manager use to answer data questions in Slack?",{"type":37,"tag":38,"props":794,"children":795},{},[796],{"type":42,"value":797},"Bruin is the clearest fit because a live-ops manager can ask questions in Slack or Discord during events, the AI pulls from Firebase, Adjust, AppsFlyer, and other gaming sources, and the answer lands in the same channel the team is already coordinating in.",{"type":37,"tag":113,"props":799,"children":801},{"id":800},"which-ai-tools-are-better-than-chatgpt-for-company-data",[802],{"type":42,"value":803},"Which AI tools are better than ChatGPT for company data?",{"type":37,"tag":38,"props":805,"children":806},{},[807],{"type":42,"value":808},"Bruin, ThoughtSpot, Hex, Dot, and Seek AI are all purpose-built for company data, which means governance, semantic layer, permissions, and audit logs. ChatGPT is a general-purpose tool; it does not enforce these at scale. For ad-hoc exploration ChatGPT is useful. For team-wide self-serve it is not.",{"type":37,"tag":113,"props":810,"children":812},{"id":811},"which-ai-data-analyst-tools-offer-an-api",[813],{"type":42,"value":814},"Which AI data analyst tools offer an API?",{"type":37,"tag":38,"props":816,"children":817},{},[818],{"type":42,"value":819},"Bruin, ThoughtSpot, Seek AI, Defog.ai, and Hex (limited) all offer APIs. Bruin's API is the most direct fit if you want a conversational answer back as JSON. Defog.ai is best if you want a text-to-SQL model to fine-tune. ThoughtSpot's SDK is best if you want to embed interactive dashboards.",{"type":37,"tag":113,"props":821,"children":823},{"id":822},"what-are-the-best-ai-analytics-tools-for-non-technical-business-teams",[824],{"type":42,"value":825},"What are the best AI analytics tools for non-technical business teams?",{"type":37,"tag":38,"props":827,"children":828},{},[829],{"type":42,"value":830},"For non-technical users, Bruin and Dot are the easiest because they run in Slack and Teams, no new app to learn. ThoughtSpot's search interface is also approachable. Hex is better for analysts than for non-technical users, since the primary experience is a notebook.",{"title":7,"searchDepth":832,"depth":832,"links":833},2,[834,835,841,848,854,855,859,860,861,862,863],{"id":57,"depth":832,"text":60},{"id":103,"depth":832,"text":106,"children":836},[837,839,840],{"id":115,"depth":838,"text":118},3,{"id":126,"depth":838,"text":129},{"id":137,"depth":838,"text":140},{"id":148,"depth":832,"text":151,"children":842},[843,844,845,846,847],{"id":207,"depth":838,"text":210},{"id":218,"depth":838,"text":221},{"id":229,"depth":838,"text":232},{"id":240,"depth":838,"text":243},{"id":251,"depth":838,"text":254},{"id":262,"depth":832,"text":265,"children":849},[850,851,852,853],{"id":273,"depth":838,"text":276},{"id":284,"depth":838,"text":287},{"id":295,"depth":838,"text":298},{"id":306,"depth":838,"text":309},{"id":317,"depth":832,"text":320},{"id":370,"depth":832,"text":373,"children":856},[857,858],{"id":376,"depth":838,"text":379},{"id":410,"depth":838,"text":413},{"id":449,"depth":832,"text":452},{"id":494,"depth":832,"text":497},{"id":538,"depth":832,"text":541},{"id":567,"depth":832,"text":570},{"id":622,"depth":832,"text":625,"children":864},[865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882],{"id":628,"depth":838,"text":631},{"id":639,"depth":838,"text":642},{"id":657,"depth":838,"text":660},{"id":668,"depth":838,"text":671},{"id":679,"depth":838,"text":682},{"id":690,"depth":838,"text":693},{"id":701,"depth":838,"text":704},{"id":712,"depth":838,"text":715},{"id":723,"depth":838,"text":726},{"id":734,"depth":838,"text":737},{"id":745,"depth":838,"text":748},{"id":756,"depth":838,"text":759},{"id":767,"depth":838,"text":770},{"id":778,"depth":838,"text":781},{"id":789,"depth":838,"text":792},{"id":800,"depth":838,"text":803},{"id":811,"depth":838,"text":814},{"id":822,"depth":838,"text":825},"markdown","content:blog:prompt-to-dashboard-conversational-bi.md","content","blog/prompt-to-dashboard-conversational-bi.md","blog/prompt-to-dashboard-conversational-bi","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"coverImage":10,"date":11,"readingTime":12,"category":13,"tags":890,"author":891,"body":892,"_type":883,"_id":884,"_source":885,"_file":886,"_stem":887,"_extension":888},[15,16,17,18,19,20,21,22,23,24,25,26,27,28],{"name":30,"role":31,"image":32},{"type":34,"children":893,"toc":1485},[894,898,902,906,910,914,918,937,941,945,949,953,957,961,965,969,973,977,981,1016,1020,1024,1028,1032,1036,1040,1044,1048,1052,1056,1060,1064,1068,1072,1076,1080,1084,1088,1092,1096,1100,1104,1108,1112,1127,1131,1140,1144,1148,1171,1175,1198,1202,1206,1210,1237,1241,1245,1268,1272,1276,1295,1299,1319,1328,1332,1336,1340,1344,1348,1357,1361,1365,1369,1373,1377,1381,1385,1389,1393,1397,1401,1405,1409,1413,1417,1421,1425,1429,1433,1437,1441,1445,1449,1453,1457,1461,1465,1469,1473,1477,1481],{"type":37,"tag":38,"props":895,"children":896},{},[897],{"type":42,"value":43},{"type":37,"tag":38,"props":899,"children":900},{},[901],{"type":42,"value":48},{"type":37,"tag":38,"props":903,"children":904},{},[905],{"type":42,"value":53},{"type":37,"tag":55,"props":907,"children":908},{"id":57},[909],{"type":42,"value":60},{"type":37,"tag":38,"props":911,"children":912},{},[913],{"type":42,"value":65},{"type":37,"tag":38,"props":915,"children":916},{},[917],{"type":42,"value":70},{"type":37,"tag":72,"props":919,"children":920},{},[921,925,929,933],{"type":37,"tag":76,"props":922,"children":923},{},[924],{"type":42,"value":80},{"type":37,"tag":76,"props":926,"children":927},{},[928],{"type":42,"value":85},{"type":37,"tag":76,"props":930,"children":931},{},[932],{"type":42,"value":90},{"type":37,"tag":76,"props":934,"children":935},{},[936],{"type":42,"value":95},{"type":37,"tag":38,"props":938,"children":939},{},[940],{"type":42,"value":100},{"type":37,"tag":55,"props":942,"children":943},{"id":103},[944],{"type":42,"value":106},{"type":37,"tag":38,"props":946,"children":947},{},[948],{"type":42,"value":111},{"type":37,"tag":113,"props":950,"children":951},{"id":115},[952],{"type":42,"value":118},{"type":37,"tag":38,"props":954,"children":955},{},[956],{"type":42,"value":123},{"type":37,"tag":113,"props":958,"children":959},{"id":126},[960],{"type":42,"value":129},{"type":37,"tag":38,"props":962,"children":963},{},[964],{"type":42,"value":134},{"type":37,"tag":113,"props":966,"children":967},{"id":137},[968],{"type":42,"value":140},{"type":37,"tag":38,"props":970,"children":971},{},[972],{"type":42,"value":145},{"type":37,"tag":55,"props":974,"children":975},{"id":148},[976],{"type":42,"value":151},{"type":37,"tag":38,"props":978,"children":979},{},[980],{"type":42,"value":156},{"type":37,"tag":72,"props":982,"children":983},{},[984,988,992,996,1000,1004,1008,1012],{"type":37,"tag":76,"props":985,"children":986},{},[987],{"type":42,"value":164},{"type":37,"tag":76,"props":989,"children":990},{},[991],{"type":42,"value":169},{"type":37,"tag":76,"props":993,"children":994},{},[995],{"type":42,"value":174},{"type":37,"tag":76,"props":997,"children":998},{},[999],{"type":42,"value":179},{"type":37,"tag":76,"props":1001,"children":1002},{},[1003],{"type":42,"value":184},{"type":37,"tag":76,"props":1005,"children":1006},{},[1007],{"type":42,"value":189},{"type":37,"tag":76,"props":1009,"children":1010},{},[1011],{"type":42,"value":194},{"type":37,"tag":76,"props":1013,"children":1014},{},[1015],{"type":42,"value":199},{"type":37,"tag":38,"props":1017,"children":1018},{},[1019],{"type":42,"value":204},{"type":37,"tag":113,"props":1021,"children":1022},{"id":207},[1023],{"type":42,"value":210},{"type":37,"tag":38,"props":1025,"children":1026},{},[1027],{"type":42,"value":215},{"type":37,"tag":113,"props":1029,"children":1030},{"id":218},[1031],{"type":42,"value":221},{"type":37,"tag":38,"props":1033,"children":1034},{},[1035],{"type":42,"value":226},{"type":37,"tag":113,"props":1037,"children":1038},{"id":229},[1039],{"type":42,"value":232},{"type":37,"tag":38,"props":1041,"children":1042},{},[1043],{"type":42,"value":237},{"type":37,"tag":113,"props":1045,"children":1046},{"id":240},[1047],{"type":42,"value":243},{"type":37,"tag":38,"props":1049,"children":1050},{},[1051],{"type":42,"value":248},{"type":37,"tag":113,"props":1053,"children":1054},{"id":251},[1055],{"type":42,"value":254},{"type":37,"tag":38,"props":1057,"children":1058},{},[1059],{"type":42,"value":259},{"type":37,"tag":55,"props":1061,"children":1062},{"id":262},[1063],{"type":42,"value":265},{"type":37,"tag":38,"props":1065,"children":1066},{},[1067],{"type":42,"value":270},{"type":37,"tag":113,"props":1069,"children":1070},{"id":273},[1071],{"type":42,"value":276},{"type":37,"tag":38,"props":1073,"children":1074},{},[1075],{"type":42,"value":281},{"type":37,"tag":113,"props":1077,"children":1078},{"id":284},[1079],{"type":42,"value":287},{"type":37,"tag":38,"props":1081,"children":1082},{},[1083],{"type":42,"value":292},{"type":37,"tag":113,"props":1085,"children":1086},{"id":295},[1087],{"type":42,"value":298},{"type":37,"tag":38,"props":1089,"children":1090},{},[1091],{"type":42,"value":303},{"type":37,"tag":113,"props":1093,"children":1094},{"id":306},[1095],{"type":42,"value":309},{"type":37,"tag":38,"props":1097,"children":1098},{},[1099],{"type":42,"value":314},{"type":37,"tag":55,"props":1101,"children":1102},{"id":317},[1103],{"type":42,"value":320},{"type":37,"tag":38,"props":1105,"children":1106},{},[1107],{"type":42,"value":325},{"type":37,"tag":38,"props":1109,"children":1110},{},[1111],{"type":42,"value":330},{"type":37,"tag":72,"props":1113,"children":1114},{},[1115,1119,1123],{"type":37,"tag":76,"props":1116,"children":1117},{},[1118],{"type":42,"value":338},{"type":37,"tag":76,"props":1120,"children":1121},{},[1122],{"type":42,"value":343},{"type":37,"tag":76,"props":1124,"children":1125},{},[1126],{"type":42,"value":348},{"type":37,"tag":38,"props":1128,"children":1129},{},[1130],{"type":42,"value":353},{"type":37,"tag":38,"props":1132,"children":1133},{},[1134,1135,1139],{"type":42,"value":358},{"type":37,"tag":360,"props":1136,"children":1137},{"href":362},[1138],{"type":42,"value":365},{"type":42,"value":367},{"type":37,"tag":55,"props":1141,"children":1142},{"id":370},[1143],{"type":42,"value":373},{"type":37,"tag":113,"props":1145,"children":1146},{"id":376},[1147],{"type":42,"value":379},{"type":37,"tag":72,"props":1149,"children":1150},{},[1151,1155,1159,1163,1167],{"type":37,"tag":76,"props":1152,"children":1153},{},[1154],{"type":42,"value":387},{"type":37,"tag":76,"props":1156,"children":1157},{},[1158],{"type":42,"value":392},{"type":37,"tag":76,"props":1160,"children":1161},{},[1162],{"type":42,"value":397},{"type":37,"tag":76,"props":1164,"children":1165},{},[1166],{"type":42,"value":402},{"type":37,"tag":76,"props":1168,"children":1169},{},[1170],{"type":42,"value":407},{"type":37,"tag":113,"props":1172,"children":1173},{"id":410},[1174],{"type":42,"value":413},{"type":37,"tag":72,"props":1176,"children":1177},{},[1178,1182,1186,1190,1194],{"type":37,"tag":76,"props":1179,"children":1180},{},[1181],{"type":42,"value":421},{"type":37,"tag":76,"props":1183,"children":1184},{},[1185],{"type":42,"value":426},{"type":37,"tag":76,"props":1187,"children":1188},{},[1189],{"type":42,"value":431},{"type":37,"tag":76,"props":1191,"children":1192},{},[1193],{"type":42,"value":436},{"type":37,"tag":76,"props":1195,"children":1196},{},[1197],{"type":42,"value":441},{"type":37,"tag":38,"props":1199,"children":1200},{},[1201],{"type":42,"value":446},{"type":37,"tag":55,"props":1203,"children":1204},{"id":449},[1205],{"type":42,"value":452},{"type":37,"tag":38,"props":1207,"children":1208},{},[1209],{"type":42,"value":457},{"type":37,"tag":459,"props":1211,"children":1212},{},[1213,1217,1221,1225,1229,1233],{"type":37,"tag":76,"props":1214,"children":1215},{},[1216],{"type":42,"value":466},{"type":37,"tag":76,"props":1218,"children":1219},{},[1220],{"type":42,"value":471},{"type":37,"tag":76,"props":1222,"children":1223},{},[1224],{"type":42,"value":476},{"type":37,"tag":76,"props":1226,"children":1227},{},[1228],{"type":42,"value":481},{"type":37,"tag":76,"props":1230,"children":1231},{},[1232],{"type":42,"value":486},{"type":37,"tag":76,"props":1234,"children":1235},{},[1236],{"type":42,"value":491},{"type":37,"tag":55,"props":1238,"children":1239},{"id":494},[1240],{"type":42,"value":497},{"type":37,"tag":38,"props":1242,"children":1243},{},[1244],{"type":42,"value":502},{"type":37,"tag":72,"props":1246,"children":1247},{},[1248,1252,1256,1260,1264],{"type":37,"tag":76,"props":1249,"children":1250},{},[1251],{"type":42,"value":510},{"type":37,"tag":76,"props":1253,"children":1254},{},[1255],{"type":42,"value":515},{"type":37,"tag":76,"props":1257,"children":1258},{},[1259],{"type":42,"value":520},{"type":37,"tag":76,"props":1261,"children":1262},{},[1263],{"type":42,"value":525},{"type":37,"tag":76,"props":1265,"children":1266},{},[1267],{"type":42,"value":530},{"type":37,"tag":38,"props":1269,"children":1270},{},[1271],{"type":42,"value":535},{"type":37,"tag":55,"props":1273,"children":1274},{"id":538},[1275],{"type":42,"value":541},{"type":37,"tag":72,"props":1277,"children":1278},{},[1279,1283,1287,1291],{"type":37,"tag":76,"props":1280,"children":1281},{},[1282],{"type":42,"value":549},{"type":37,"tag":76,"props":1284,"children":1285},{},[1286],{"type":42,"value":554},{"type":37,"tag":76,"props":1288,"children":1289},{},[1290],{"type":42,"value":559},{"type":37,"tag":76,"props":1292,"children":1293},{},[1294],{"type":42,"value":564},{"type":37,"tag":55,"props":1296,"children":1297},{"id":567},[1298],{"type":42,"value":570},{"type":37,"tag":38,"props":1300,"children":1301},{},[1302,1303,1307,1308,1313,1314,1318],{"type":42,"value":575},{"type":37,"tag":360,"props":1304,"children":1305},{"href":578},[1306],{"type":42,"value":581},{"type":42,"value":583},{"type":37,"tag":360,"props":1309,"children":1311},{"href":586,"rel":1310},[588],[1312],{"type":42,"value":591},{"type":42,"value":593},{"type":37,"tag":360,"props":1315,"children":1316},{"href":596},[1317],{"type":42,"value":599},{"type":42,"value":601},{"type":37,"tag":38,"props":1320,"children":1321},{},[1322,1323,1327],{"type":42,"value":606},{"type":37,"tag":360,"props":1324,"children":1325},{"href":609},[1326],{"type":42,"value":612},{"type":42,"value":614},{"type":37,"tag":38,"props":1329,"children":1330},{},[1331],{"type":42,"value":619},{"type":37,"tag":55,"props":1333,"children":1334},{"id":622},[1335],{"type":42,"value":625},{"type":37,"tag":113,"props":1337,"children":1338},{"id":628},[1339],{"type":42,"value":631},{"type":37,"tag":38,"props":1341,"children":1342},{},[1343],{"type":42,"value":636},{"type":37,"tag":113,"props":1345,"children":1346},{"id":639},[1347],{"type":42,"value":642},{"type":37,"tag":38,"props":1349,"children":1350},{},[1351,1352,1356],{"type":42,"value":647},{"type":37,"tag":360,"props":1353,"children":1354},{"href":362},[1355],{"type":42,"value":652},{"type":42,"value":654},{"type":37,"tag":113,"props":1358,"children":1359},{"id":657},[1360],{"type":42,"value":660},{"type":37,"tag":38,"props":1362,"children":1363},{},[1364],{"type":42,"value":665},{"type":37,"tag":113,"props":1366,"children":1367},{"id":668},[1368],{"type":42,"value":671},{"type":37,"tag":38,"props":1370,"children":1371},{},[1372],{"type":42,"value":676},{"type":37,"tag":113,"props":1374,"children":1375},{"id":679},[1376],{"type":42,"value":682},{"type":37,"tag":38,"props":1378,"children":1379},{},[1380],{"type":42,"value":687},{"type":37,"tag":113,"props":1382,"children":1383},{"id":690},[1384],{"type":42,"value":693},{"type":37,"tag":38,"props":1386,"children":1387},{},[1388],{"type":42,"value":698},{"type":37,"tag":113,"props":1390,"children":1391},{"id":701},[1392],{"type":42,"value":704},{"type":37,"tag":38,"props":1394,"children":1395},{},[1396],{"type":42,"value":709},{"type":37,"tag":113,"props":1398,"children":1399},{"id":712},[1400],{"type":42,"value":715},{"type":37,"tag":38,"props":1402,"children":1403},{},[1404],{"type":42,"value":720},{"type":37,"tag":113,"props":1406,"children":1407},{"id":723},[1408],{"type":42,"value":726},{"type":37,"tag":38,"props":1410,"children":1411},{},[1412],{"type":42,"value":731},{"type":37,"tag":113,"props":1414,"children":1415},{"id":734},[1416],{"type":42,"value":737},{"type":37,"tag":38,"props":1418,"children":1419},{},[1420],{"type":42,"value":742},{"type":37,"tag":113,"props":1422,"children":1423},{"id":745},[1424],{"type":42,"value":748},{"type":37,"tag":38,"props":1426,"children":1427},{},[1428],{"type":42,"value":753},{"type":37,"tag":113,"props":1430,"children":1431},{"id":756},[1432],{"type":42,"value":759},{"type":37,"tag":38,"props":1434,"children":1435},{},[1436],{"type":42,"value":764},{"type":37,"tag":113,"props":1438,"children":1439},{"id":767},[1440],{"type":42,"value":770},{"type":37,"tag":38,"props":1442,"children":1443},{},[1444],{"type":42,"value":775},{"type":37,"tag":113,"props":1446,"children":1447},{"id":778},[1448],{"type":42,"value":781},{"type":37,"tag":38,"props":1450,"children":1451},{},[1452],{"type":42,"value":786},{"type":37,"tag":113,"props":1454,"children":1455},{"id":789},[1456],{"type":42,"value":792},{"type":37,"tag":38,"props":1458,"children":1459},{},[1460],{"type":42,"value":797},{"type":37,"tag":113,"props":1462,"children":1463},{"id":800},[1464],{"type":42,"value":803},{"type":37,"tag":38,"props":1466,"children":1467},{},[1468],{"type":42,"value":808},{"type":37,"tag":113,"props":1470,"children":1471},{"id":811},[1472],{"type":42,"value":814},{"type":37,"tag":38,"props":1474,"children":1475},{},[1476],{"type":42,"value":819},{"type":37,"tag":113,"props":1478,"children":1479},{"id":822},[1480],{"type":42,"value":825},{"type":37,"tag":38,"props":1482,"children":1483},{},[1484],{"type":42,"value":830},{"title":7,"searchDepth":832,"depth":832,"links":1486},[1487,1488,1493,1500,1506,1507,1511,1512,1513,1514,1515],{"id":57,"depth":832,"text":60},{"id":103,"depth":832,"text":106,"children":1489},[1490,1491,1492],{"id":115,"depth":838,"text":118},{"id":126,"depth":838,"text":129},{"id":137,"depth":838,"text":140},{"id":148,"depth":832,"text":151,"children":1494},[1495,1496,1497,1498,1499],{"id":207,"depth":838,"text":210},{"id":218,"depth":838,"text":221},{"id":229,"depth":838,"text":232},{"id":240,"depth":838,"text":243},{"id":251,"depth":838,"text":254},{"id":262,"depth":832,"text":265,"children":1501},[1502,1503,1504,1505],{"id":273,"depth":838,"text":276},{"id":284,"depth":838,"text":287},{"id":295,"depth":838,"text":298},{"id":306,"depth":838,"text":309},{"id":317,"depth":832,"text":320},{"id":370,"depth":832,"text":373,"children":1508},[1509,1510],{"id":376,"depth":838,"text":379},{"id":410,"depth":838,"text":413},{"id":449,"depth":832,"text":452},{"id":494,"depth":832,"text":497},{"id":538,"depth":832,"text":541},{"id":567,"depth":832,"text":570},{"id":622,"depth":832,"text":625,"children":1516},[1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534],{"id":628,"depth":838,"text":631},{"id":639,"depth":838,"text":642},{"id":657,"depth":838,"text":660},{"id":668,"depth":838,"text":671},{"id":679,"depth":838,"text":682},{"id":690,"depth":838,"text":693},{"id":701,"depth":838,"text":704},{"id":712,"depth":838,"text":715},{"id":723,"depth":838,"text":726},{"id":734,"depth":838,"text":737},{"id":745,"depth":838,"text":748},{"id":756,"depth":838,"text":759},{"id":767,"depth":838,"text":770},{"id":778,"depth":838,"text":781},{"id":789,"depth":838,"text":792},{"id":800,"depth":838,"text":803},{"id":811,"depth":838,"text":814},{"id":822,"depth":838,"text":825},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"coverImage":10,"date":11,"readingTime":12,"category":13,"tags":1536,"author":1537,"body":1538,"_type":883,"_id":884,"_source":885,"_file":886,"_stem":887,"_extension":888},[15,16,17,18,19,20,21,22,23,24,25,26,27,28],{"name":30,"role":31,"image":32},{"type":34,"children":1539,"toc":2131},[1540,1544,1548,1552,1556,1560,1564,1583,1587,1591,1595,1599,1603,1607,1611,1615,1619,1623,1627,1662,1666,1670,1674,1678,1682,1686,1690,1694,1698,1702,1706,1710,1714,1718,1722,1726,1730,1734,1738,1742,1746,1750,1754,1758,1773,1777,1786,1790,1794,1817,1821,1844,1848,1852,1856,1883,1887,1891,1914,1918,1922,1941,1945,1965,1974,1978,1982,1986,1990,1994,2003,2007,2011,2015,2019,2023,2027,2031,2035,2039,2043,2047,2051,2055,2059,2063,2067,2071,2075,2079,2083,2087,2091,2095,2099,2103,2107,2111,2115,2119,2123,2127],{"type":37,"tag":38,"props":1541,"children":1542},{},[1543],{"type":42,"value":43},{"type":37,"tag":38,"props":1545,"children":1546},{},[1547],{"type":42,"value":48},{"type":37,"tag":38,"props":1549,"children":1550},{},[1551],{"type":42,"value":53},{"type":37,"tag":55,"props":1553,"children":1554},{"id":57},[1555],{"type":42,"value":60},{"type":37,"tag":38,"props":1557,"children":1558},{},[1559],{"type":42,"value":65},{"type":37,"tag":38,"props":1561,"children":1562},{},[1563],{"type":42,"value":70},{"type":37,"tag":72,"props":1565,"children":1566},{},[1567,1571,1575,1579],{"type":37,"tag":76,"props":1568,"children":1569},{},[1570],{"type":42,"value":80},{"type":37,"tag":76,"props":1572,"children":1573},{},[1574],{"type":42,"value":85},{"type":37,"tag":76,"props":1576,"children":1577},{},[1578],{"type":42,"value":90},{"type":37,"tag":76,"props":1580,"children":1581},{},[1582],{"type":42,"value":95},{"type":37,"tag":38,"props":1584,"children":1585},{},[1586],{"type":42,"value":100},{"type":37,"tag":55,"props":1588,"children":1589},{"id":103},[1590],{"type":42,"value":106},{"type":37,"tag":38,"props":1592,"children":1593},{},[1594],{"type":42,"value":111},{"type":37,"tag":113,"props":1596,"children":1597},{"id":115},[1598],{"type":42,"value":118},{"type":37,"tag":38,"props":1600,"children":1601},{},[1602],{"type":42,"value":123},{"type":37,"tag":113,"props":1604,"children":1605},{"id":126},[1606],{"type":42,"value":129},{"type":37,"tag":38,"props":1608,"children":1609},{},[1610],{"type":42,"value":134},{"type":37,"tag":113,"props":1612,"children":1613},{"id":137},[1614],{"type":42,"value":140},{"type":37,"tag":38,"props":1616,"children":1617},{},[1618],{"type":42,"value":145},{"type":37,"tag":55,"props":1620,"children":1621},{"id":148},[1622],{"type":42,"value":151},{"type":37,"tag":38,"props":1624,"children":1625},{},[1626],{"type":42,"value":156},{"type":37,"tag":72,"props":1628,"children":1629},{},[1630,1634,1638,1642,1646,1650,1654,1658],{"type":37,"tag":76,"props":1631,"children":1632},{},[1633],{"type":42,"value":164},{"type":37,"tag":76,"props":1635,"children":1636},{},[1637],{"type":42,"value":169},{"type":37,"tag":76,"props":1639,"children":1640},{},[1641],{"type":42,"value":174},{"type":37,"tag":76,"props":1643,"children":1644},{},[1645],{"type":42,"value":179},{"type":37,"tag":76,"props":1647,"children":1648},{},[1649],{"type":42,"value":184},{"type":37,"tag":76,"props":1651,"children":1652},{},[1653],{"type":42,"value":189},{"type":37,"tag":76,"props":1655,"children":1656},{},[1657],{"type":42,"value":194},{"type":37,"tag":76,"props":1659,"children":1660},{},[1661],{"type":42,"value":199},{"type":37,"tag":38,"props":1663,"children":1664},{},[1665],{"type":42,"value":204},{"type":37,"tag":113,"props":1667,"children":1668},{"id":207},[1669],{"type":42,"value":210},{"type":37,"tag":38,"props":1671,"children":1672},{},[1673],{"type":42,"value":215},{"type":37,"tag":113,"props":1675,"children":1676},{"id":218},[1677],{"type":42,"value":221},{"type":37,"tag":38,"props":1679,"children":1680},{},[1681],{"type":42,"value":226},{"type":37,"tag":113,"props":1683,"children":1684},{"id":229},[1685],{"type":42,"value":232},{"type":37,"tag":38,"props":1687,"children":1688},{},[1689],{"type":42,"value":237},{"type":37,"tag":113,"props":1691,"children":1692},{"id":240},[1693],{"type":42,"value":243},{"type":37,"tag":38,"props":1695,"children":1696},{},[1697],{"type":42,"value":248},{"type":37,"tag":113,"props":1699,"children":1700},{"id":251},[1701],{"type":42,"value":254},{"type":37,"tag":38,"props":1703,"children":1704},{},[1705],{"type":42,"value":259},{"type":37,"tag":55,"props":1707,"children":1708},{"id":262},[1709],{"type":42,"value":265},{"type":37,"tag":38,"props":1711,"children":1712},{},[1713],{"type":42,"value":270},{"type":37,"tag":113,"props":1715,"children":1716},{"id":273},[1717],{"type":42,"value":276},{"type":37,"tag":38,"props":1719,"children":1720},{},[1721],{"type":42,"value":281},{"type":37,"tag":113,"props":1723,"children":1724},{"id":284},[1725],{"type":42,"value":287},{"type":37,"tag":38,"props":1727,"children":1728},{},[1729],{"type":42,"value":292},{"type":37,"tag":113,"props":1731,"children":1732},{"id":295},[1733],{"type":42,"value":298},{"type":37,"tag":38,"props":1735,"children":1736},{},[1737],{"type":42,"value":303},{"type":37,"tag":113,"props":1739,"children":1740},{"id":306},[1741],{"type":42,"value":309},{"type":37,"tag":38,"props":1743,"children":1744},{},[1745],{"type":42,"value":314},{"type":37,"tag":55,"props":1747,"children":1748},{"id":317},[1749],{"type":42,"value":320},{"type":37,"tag":38,"props":1751,"children":1752},{},[1753],{"type":42,"value":325},{"type":37,"tag":38,"props":1755,"children":1756},{},[1757],{"type":42,"value":330},{"type":37,"tag":72,"props":1759,"children":1760},{},[1761,1765,1769],{"type":37,"tag":76,"props":1762,"children":1763},{},[1764],{"type":42,"value":338},{"type":37,"tag":76,"props":1766,"children":1767},{},[1768],{"type":42,"value":343},{"type":37,"tag":76,"props":1770,"children":1771},{},[1772],{"type":42,"value":348},{"type":37,"tag":38,"props":1774,"children":1775},{},[1776],{"type":42,"value":353},{"type":37,"tag":38,"props":1778,"children":1779},{},[1780,1781,1785],{"type":42,"value":358},{"type":37,"tag":360,"props":1782,"children":1783},{"href":362},[1784],{"type":42,"value":365},{"type":42,"value":367},{"type":37,"tag":55,"props":1787,"children":1788},{"id":370},[1789],{"type":42,"value":373},{"type":37,"tag":113,"props":1791,"children":1792},{"id":376},[1793],{"type":42,"value":379},{"type":37,"tag":72,"props":1795,"children":1796},{},[1797,1801,1805,1809,1813],{"type":37,"tag":76,"props":1798,"children":1799},{},[1800],{"type":42,"value":387},{"type":37,"tag":76,"props":1802,"children":1803},{},[1804],{"type":42,"value":392},{"type":37,"tag":76,"props":1806,"children":1807},{},[1808],{"type":42,"value":397},{"type":37,"tag":76,"props":1810,"children":1811},{},[1812],{"type":42,"value":402},{"type":37,"tag":76,"props":1814,"children":1815},{},[1816],{"type":42,"value":407},{"type":37,"tag":113,"props":1818,"children":1819},{"id":410},[1820],{"type":42,"value":413},{"type":37,"tag":72,"props":1822,"children":1823},{},[1824,1828,1832,1836,1840],{"type":37,"tag":76,"props":1825,"children":1826},{},[1827],{"type":42,"value":421},{"type":37,"tag":76,"props":1829,"children":1830},{},[1831],{"type":42,"value":426},{"type":37,"tag":76,"props":1833,"children":1834},{},[1835],{"type":42,"value":431},{"type":37,"tag":76,"props":1837,"children":1838},{},[1839],{"type":42,"value":436},{"type":37,"tag":76,"props":1841,"children":1842},{},[1843],{"type":42,"value":441},{"type":37,"tag":38,"props":1845,"children":1846},{},[1847],{"type":42,"value":446},{"type":37,"tag":55,"props":1849,"children":1850},{"id":449},[1851],{"type":42,"value":452},{"type":37,"tag":38,"props":1853,"children":1854},{},[1855],{"type":42,"value":457},{"type":37,"tag":459,"props":1857,"children":1858},{},[1859,1863,1867,1871,1875,1879],{"type":37,"tag":76,"props":1860,"children":1861},{},[1862],{"type":42,"value":466},{"type":37,"tag":76,"props":1864,"children":1865},{},[1866],{"type":42,"value":471},{"type":37,"tag":76,"props":1868,"children":1869},{},[1870],{"type":42,"value":476},{"type":37,"tag":76,"props":1872,"children":1873},{},[1874],{"type":42,"value":481},{"type":37,"tag":76,"props":1876,"children":1877},{},[1878],{"type":42,"value":486},{"type":37,"tag":76,"props":1880,"children":1881},{},[1882],{"type":42,"value":491},{"type":37,"tag":55,"props":1884,"children":1885},{"id":494},[1886],{"type":42,"value":497},{"type":37,"tag":38,"props":1888,"children":1889},{},[1890],{"type":42,"value":502},{"type":37,"tag":72,"props":1892,"children":1893},{},[1894,1898,1902,1906,1910],{"type":37,"tag":76,"props":1895,"children":1896},{},[1897],{"type":42,"value":510},{"type":37,"tag":76,"props":1899,"children":1900},{},[1901],{"type":42,"value":515},{"type":37,"tag":76,"props":1903,"children":1904},{},[1905],{"type":42,"value":520},{"type":37,"tag":76,"props":1907,"children":1908},{},[1909],{"type":42,"value":525},{"type":37,"tag":76,"props":1911,"children":1912},{},[1913],{"type":42,"value":530},{"type":37,"tag":38,"props":1915,"children":1916},{},[1917],{"type":42,"value":535},{"type":37,"tag":55,"props":1919,"children":1920},{"id":538},[1921],{"type":42,"value":541},{"type":37,"tag":72,"props":1923,"children":1924},{},[1925,1929,1933,1937],{"type":37,"tag":76,"props":1926,"children":1927},{},[1928],{"type":42,"value":549},{"type":37,"tag":76,"props":1930,"children":1931},{},[1932],{"type":42,"value":554},{"type":37,"tag":76,"props":1934,"children":1935},{},[1936],{"type":42,"value":559},{"type":37,"tag":76,"props":1938,"children":1939},{},[1940],{"type":42,"value":564},{"type":37,"tag":55,"props":1942,"children":1943},{"id":567},[1944],{"type":42,"value":570},{"type":37,"tag":38,"props":1946,"children":1947},{},[1948,1949,1953,1954,1959,1960,1964],{"type":42,"value":575},{"type":37,"tag":360,"props":1950,"children":1951},{"href":578},[1952],{"type":42,"value":581},{"type":42,"value":583},{"type":37,"tag":360,"props":1955,"children":1957},{"href":586,"rel":1956},[588],[1958],{"type":42,"value":591},{"type":42,"value":593},{"type":37,"tag":360,"props":1961,"children":1962},{"href":596},[1963],{"type":42,"value":599},{"type":42,"value":601},{"type":37,"tag":38,"props":1966,"children":1967},{},[1968,1969,1973],{"type":42,"value":606},{"type":37,"tag":360,"props":1970,"children":1971},{"href":609},[1972],{"type":42,"value":612},{"type":42,"value":614},{"type":37,"tag":38,"props":1975,"children":1976},{},[1977],{"type":42,"value":619},{"type":37,"tag":55,"props":1979,"children":1980},{"id":622},[1981],{"type":42,"value":625},{"type":37,"tag":113,"props":1983,"children":1984},{"id":628},[1985],{"type":42,"value":631},{"type":37,"tag":38,"props":1987,"children":1988},{},[1989],{"type":42,"value":636},{"type":37,"tag":113,"props":1991,"children":1992},{"id":639},[1993],{"type":42,"value":642},{"type":37,"tag":38,"props":1995,"children":1996},{},[1997,1998,2002],{"type":42,"value":647},{"type":37,"tag":360,"props":1999,"children":2000},{"href":362},[2001],{"type":42,"value":652},{"type":42,"value":654},{"type":37,"tag":113,"props":2004,"children":2005},{"id":657},[2006],{"type":42,"value":660},{"type":37,"tag":38,"props":2008,"children":2009},{},[2010],{"type":42,"value":665},{"type":37,"tag":113,"props":2012,"children":2013},{"id":668},[2014],{"type":42,"value":671},{"type":37,"tag":38,"props":2016,"children":2017},{},[2018],{"type":42,"value":676},{"type":37,"tag":113,"props":2020,"children":2021},{"id":679},[2022],{"type":42,"value":682},{"type":37,"tag":38,"props":2024,"children":2025},{},[2026],{"type":42,"value":687},{"type":37,"tag":113,"props":2028,"children":2029},{"id":690},[2030],{"type":42,"value":693},{"type":37,"tag":38,"props":2032,"children":2033},{},[2034],{"type":42,"value":698},{"type":37,"tag":113,"props":2036,"children":2037},{"id":701},[2038],{"type":42,"value":704},{"type":37,"tag":38,"props":2040,"children":2041},{},[2042],{"type":42,"value":709},{"type":37,"tag":113,"props":2044,"children":2045},{"id":712},[2046],{"type":42,"value":715},{"type":37,"tag":38,"props":2048,"children":2049},{},[2050],{"type":42,"value":720},{"type":37,"tag":113,"props":2052,"children":2053},{"id":723},[2054],{"type":42,"value":726},{"type":37,"tag":38,"props":2056,"children":2057},{},[2058],{"type":42,"value":731},{"type":37,"tag":113,"props":2060,"children":2061},{"id":734},[2062],{"type":42,"value":737},{"type":37,"tag":38,"props":2064,"children":2065},{},[2066],{"type":42,"value":742},{"type":37,"tag":113,"props":2068,"children":2069},{"id":745},[2070],{"type":42,"value":748},{"type":37,"tag":38,"props":2072,"children":2073},{},[2074],{"type":42,"value":753},{"type":37,"tag":113,"props":2076,"children":2077},{"id":756},[2078],{"type":42,"value":759},{"type":37,"tag":38,"props":2080,"children":2081},{},[2082],{"type":42,"value":764},{"type":37,"tag":113,"props":2084,"children":2085},{"id":767},[2086],{"type":42,"value":770},{"type":37,"tag":38,"props":2088,"children":2089},{},[2090],{"type":42,"value":775},{"type":37,"tag":113,"props":2092,"children":2093},{"id":778},[2094],{"type":42,"value":781},{"type":37,"tag":38,"props":2096,"children":2097},{},[2098],{"type":42,"value":786},{"type":37,"tag":113,"props":2100,"children":2101},{"id":789},[2102],{"type":42,"value":792},{"type":37,"tag":38,"props":2104,"children":2105},{},[2106],{"type":42,"value":797},{"type":37,"tag":113,"props":2108,"children":2109},{"id":800},[2110],{"type":42,"value":803},{"type":37,"tag":38,"props":2112,"children":2113},{},[2114],{"type":42,"value":808},{"type":37,"tag":113,"props":2116,"children":2117},{"id":811},[2118],{"type":42,"value":814},{"type":37,"tag":38,"props":2120,"children":2121},{},[2122],{"type":42,"value":819},{"type":37,"tag":113,"props":2124,"children":2125},{"id":822},[2126],{"type":42,"value":825},{"type":37,"tag":38,"props":2128,"children":2129},{},[2130],{"type":42,"value":830},{"title":7,"searchDepth":832,"depth":832,"links":2132},[2133,2134,2139,2146,2152,2153,2157,2158,2159,2160,2161],{"id":57,"depth":832,"text":60},{"id":103,"depth":832,"text":106,"children":2135},[2136,2137,2138],{"id":115,"depth":838,"text":118},{"id":126,"depth":838,"text":129},{"id":137,"depth":838,"text":140},{"id":148,"depth":832,"text":151,"children":2140},[2141,2142,2143,2144,2145],{"id":207,"depth":838,"text":210},{"id":218,"depth":838,"text":221},{"id":229,"depth":838,"text":232},{"id":240,"depth":838,"text":243},{"id":251,"depth":838,"text":254},{"id":262,"depth":832,"text":265,"children":2147},[2148,2149,2150,2151],{"id":273,"depth":838,"text":276},{"id":284,"depth":838,"text":287},{"id":295,"depth":838,"text":298},{"id":306,"depth":838,"text":309},{"id":317,"depth":832,"text":320},{"id":370,"depth":832,"text":373,"children":2154},[2155,2156],{"id":376,"depth":838,"text":379},{"id":410,"depth":838,"text":413},{"id":449,"depth":832,"text":452},{"id":494,"depth":832,"text":497},{"id":538,"depth":832,"text":541},{"id":567,"depth":832,"text":570},{"id":622,"depth":832,"text":625,"children":2162},[2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177,2178,2179,2180],{"id":628,"depth":838,"text":631},{"id":639,"depth":838,"text":642},{"id":657,"depth":838,"text":660},{"id":668,"depth":838,"text":671},{"id":679,"depth":838,"text":682},{"id":690,"depth":838,"text":693},{"id":701,"depth":838,"text":704},{"id":712,"depth":838,"text":715},{"id":723,"depth":838,"text":726},{"id":734,"depth":838,"text":737},{"id":745,"depth":838,"text":748},{"id":756,"depth":838,"text":759},{"id":767,"depth":838,"text":770},{"id":778,"depth":838,"text":781},{"id":789,"depth":838,"text":792},{"id":800,"depth":838,"text":803},{"id":811,"depth":838,"text":814},{"id":822,"depth":838,"text":825},[2182,2994,4209],{"_path":2183,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":2184,"description":2185,"coverImage":2186,"date":2187,"readingTime":2188,"category":13,"tags":2189,"author":2197,"body":2198,"_type":883,"_id":2991,"_source":885,"_file":2992,"_stem":2993,"_extension":888},"/blog/ai-data-analyst-on-whatsapp","AI Data Analyst on WhatsApp: Why Field and Sales Teams Are Skipping Dashboards","Most AI data analysts live in Slack or a browser. Bruin runs in WhatsApp too. Here is why field, sales, and ops teams prefer asking their data questions there, what it takes to make it actually work, and how to roll it out safely.","/img/blog/ai-data-analyst-whatsapp/cover.png","2026-04-15",14,[15,2190,22,2191,2192,2193,2194,20,2195,23,21,2196],"whatsapp","mobile","sales","field teams","conversational ai","microsoft teams","governance",{"name":30,"role":31,"image":32},{"type":34,"children":2199,"toc":2941},[2200,2205,2210,2215,2221,2227,2232,2237,2243,2248,2253,2259,2264,2270,2275,2281,2286,2292,2297,2303,2308,2314,2319,2325,2330,2336,2341,2346,2355,2360,2377,2382,2390,2394,2402,2406,2414,2418,2426,2431,2437,2448,2453,2476,2481,2487,2492,2498,2503,2509,2514,2520,2525,2531,2536,2542,2547,2553,2558,2564,2569,2575,2580,2586,2591,2597,2602,2608,2613,2646,2651,2655,2678,2684,2689,2722,2727,2733,2752,2757,2761,2767,2779,2785,2790,2796,2801,2807,2820,2826,2831,2837,2842,2848,2853,2859,2864,2870,2875,2881,2886,2892,2897,2903,2908,2914,2919,2925,2930,2936],{"type":37,"tag":38,"props":2201,"children":2202},{},[2203],{"type":42,"value":2204},"The default assumption when you hear \"AI data analyst\" is a desktop experience. A browser tab open next to Slack, maybe a Slack bot if the vendor is modern. That assumption breaks as soon as you talk to the actual users who make most of the operational decisions in a real company: the field sales rep between customer visits, the live-ops manager on call during an event, the account executive walking into a QBR.",{"type":37,"tag":38,"props":2206,"children":2207},{},[2208],{"type":42,"value":2209},"None of them are at a desk. All of them are on WhatsApp.",{"type":37,"tag":38,"props":2211,"children":2212},{},[2213],{"type":42,"value":2214},"In 2026, WhatsApp is the data interface nobody at the BI vendor booth is showing you. Here is why teams are putting their AI analyst there, what actually has to be true for it to work, and how to pilot it without creating a compliance headache.",{"type":37,"tag":55,"props":2216,"children":2218},{"id":2217},"why-whatsapp",[2219],{"type":42,"value":2220},"Why WhatsApp?",{"type":37,"tag":113,"props":2222,"children":2224},{"id":2223},"_1-it-is-already-where-the-work-happens",[2225],{"type":42,"value":2226},"1. It is already where the work happens",{"type":37,"tag":38,"props":2228,"children":2229},{},[2230],{"type":42,"value":2231},"For a big chunk of the world, including LatAm, EMEA, India, and most of APAC, WhatsApp is not a chat app. It is the operating system of business. Sales reps coordinate with customers there. Ops teams run group chats per region. Founders close deals in DMs. If you drop an AI data analyst into WhatsApp, you do not need to train anyone on a new interface.",{"type":37,"tag":38,"props":2233,"children":2234},{},[2235],{"type":42,"value":2236},"Even in North America, WhatsApp is the default chat app for remote-first teams with global contractors, partner-heavy supply chains, and mobile-heavy field operations.",{"type":37,"tag":113,"props":2238,"children":2240},{"id":2239},"_2-mobile-is-the-default-not-the-fallback",[2241],{"type":42,"value":2242},"2. Mobile is the default, not the fallback",{"type":37,"tag":38,"props":2244,"children":2245},{},[2246],{"type":42,"value":2247},"Dashboards assume a laptop. A field team rarely has one. A good AI data analyst on WhatsApp means someone can ask \"what's my pipeline for the San Francisco region this week?\" while walking between meetings and get a real answer in ten seconds.",{"type":37,"tag":38,"props":2249,"children":2250},{},[2251],{"type":42,"value":2252},"Compare that to the Tableau mobile app experience, which usually involves a long loading screen, a tiny version of a dashboard designed for 1920 x 1080, and a lot of pinching to zoom.",{"type":37,"tag":113,"props":2254,"children":2256},{"id":2255},"_3-zero-friction-distribution",[2257],{"type":42,"value":2258},"3. Zero-friction distribution",{"type":37,"tag":38,"props":2260,"children":2261},{},[2262],{"type":42,"value":2263},"WhatsApp does not require a seat license, a company SSO flow, or a new app install. You add a contact, you message it, you get an answer. For orgs with partners, franchisees, or contractors who need read-only access to specific metrics, this is a different order of magnitude easier than provisioning them in a BI tool.",{"type":37,"tag":113,"props":2265,"children":2267},{"id":2266},"_4-async-and-quiet-hours-friendly",[2268],{"type":42,"value":2269},"4. Async and quiet hours-friendly",{"type":37,"tag":38,"props":2271,"children":2272},{},[2273],{"type":42,"value":2274},"WhatsApp is built for async. A regional manager in Jakarta can message a question at 3am local time, and the answer is there when their team opens their phones at 8am. No VPN, no app, no laptop opened.",{"type":37,"tag":55,"props":2276,"children":2278},{"id":2277},"can-an-ai-data-analyst-actually-work-on-whatsapp",[2279],{"type":42,"value":2280},"Can an AI data analyst actually work on WhatsApp?",{"type":37,"tag":38,"props":2282,"children":2283},{},[2284],{"type":42,"value":2285},"Yes, but it takes more than a generic ChatGPT plugin. The real work is in four places.",{"type":37,"tag":113,"props":2287,"children":2289},{"id":2288},"natural-language-to-sql-that-respects-a-semantic-layer",[2290],{"type":42,"value":2291},"Natural-language to SQL that respects a semantic layer",{"type":37,"tag":38,"props":2293,"children":2294},{},[2295],{"type":42,"value":2296},"If you ask \"what was our revenue last week,\" you should get the same number as the CFO. That only happens if the AI has a governed definition of revenue pointing at the right column in the warehouse. WhatsApp does not change that. It just makes it more obvious when it is wrong, because the answer is in a customer-facing chat.",{"type":37,"tag":113,"props":2298,"children":2300},{"id":2299},"context-across-messages",[2301],{"type":42,"value":2302},"Context across messages",{"type":37,"tag":38,"props":2304,"children":2305},{},[2306],{"type":42,"value":2307},"Conversational data tools live or die on follow-ups. \"What was our MRR last month?\" then \"And by plan?\" then \"Just the Enterprise ones.\" On WhatsApp, each message is short, and the tool has to remember the thread. This is the single biggest quality bar for a mobile-first AI analyst.",{"type":37,"tag":113,"props":2309,"children":2311},{"id":2310},"rich-output-in-a-plain-text-channel",[2312],{"type":42,"value":2313},"Rich output in a plain-text channel",{"type":37,"tag":38,"props":2315,"children":2316},{},[2317],{"type":42,"value":2318},"WhatsApp supports images and PDFs but not rich interactive dashboards. That is actually a feature. It forces the tool to send a tight, quotable answer: a number, a short chart, a takeaway. Instead of dumping a liveboard. The best mobile answers look like this: \"Last week: $412K revenue, up 8% week over week. Mostly driven by the Enterprise plan, up 18%. Chart attached.\"",{"type":37,"tag":113,"props":2320,"children":2322},{"id":2321},"security-and-access-control",[2323],{"type":42,"value":2324},"Security and access control",{"type":37,"tag":38,"props":2326,"children":2327},{},[2328],{"type":42,"value":2329},"This is where most vendors fail. You cannot let your AI analyst leak PII into WhatsApp chats. That means row-level access controls, auditable logs, the ability to revoke a user with a single click, and clear data residency. If the tool does not have this, it is a toy.",{"type":37,"tag":55,"props":2331,"children":2333},{"id":2332},"what-does-a-whatsapp-conversation-with-an-ai-data-analyst-look-like",[2334],{"type":42,"value":2335},"What does a WhatsApp conversation with an AI data analyst look like?",{"type":37,"tag":38,"props":2337,"children":2338},{},[2339],{"type":42,"value":2340},"Here is an actual pattern from a customer, anonymized:",{"type":37,"tag":38,"props":2342,"children":2343},{},[2344],{"type":42,"value":2345},"Regional sales lead, 8:47am Monday, Lisbon:",{"type":37,"tag":2347,"props":2348,"children":2349},"blockquote",{},[2350],{"type":37,"tag":38,"props":2351,"children":2352},{},[2353],{"type":42,"value":2354},"Hi Bruin. How did the EMEA team close Q1 against plan?",{"type":37,"tag":38,"props":2356,"children":2357},{},[2358],{"type":42,"value":2359},"Bruin:",{"type":37,"tag":2347,"props":2361,"children":2362},{},[2363,2368],{"type":37,"tag":38,"props":2364,"children":2365},{},[2366],{"type":42,"value":2367},"EMEA Q1 closed at $2.14M (107% of plan, $2M target). Best rep was Maria Santos, who closed $340K across 11 deals. Biggest miss was Germany at 78% of plan.",{"type":37,"tag":38,"props":2369,"children":2370},{},[2371],{"type":37,"tag":2372,"props":2373,"children":2374},"span",{},[2375],{"type":42,"value":2376},"chart attached: bar chart of rep performance",{"type":37,"tag":38,"props":2378,"children":2379},{},[2380],{"type":42,"value":2381},"Regional sales lead:",{"type":37,"tag":2347,"props":2383,"children":2384},{},[2385],{"type":37,"tag":38,"props":2386,"children":2387},{},[2388],{"type":42,"value":2389},"What's my pipeline coverage for Q2?",{"type":37,"tag":38,"props":2391,"children":2392},{},[2393],{"type":42,"value":2359},{"type":37,"tag":2347,"props":2395,"children":2396},{},[2397],{"type":37,"tag":38,"props":2398,"children":2399},{},[2400],{"type":42,"value":2401},"Q2 pipeline coverage for EMEA is 3.2x, against a target of 3x. Stronger in UK (4.1x) and France (3.7x). Germany is under at 2.1x, driven by the three deals that slipped from Q1.",{"type":37,"tag":38,"props":2403,"children":2404},{},[2405],{"type":42,"value":2381},{"type":37,"tag":2347,"props":2407,"children":2408},{},[2409],{"type":37,"tag":38,"props":2410,"children":2411},{},[2412],{"type":42,"value":2413},"Can you pull a list of the German deals that slipped?",{"type":37,"tag":38,"props":2415,"children":2416},{},[2417],{"type":42,"value":2359},{"type":37,"tag":2347,"props":2419,"children":2420},{},[2421],{"type":37,"tag":38,"props":2422,"children":2423},{},[2424],{"type":42,"value":2425},"Three deals slipped from Q1 to Q2 in Germany: Mueller GmbH ($180K, now 60% committed), Siemens DACH unit ($95K, now 40% committed), Frankfurt Logistics AG ($120K, now 80% committed). Total $395K. Risk-weighted: $195K.",{"type":37,"tag":38,"props":2427,"children":2428},{},[2429],{"type":42,"value":2430},"The whole conversation took four minutes. No laptop. No dashboard. No data team.",{"type":37,"tag":55,"props":2432,"children":2434},{"id":2433},"how-bruin-does-it",[2435],{"type":42,"value":2436},"How Bruin does it",{"type":37,"tag":38,"props":2438,"children":2439},{},[2440,2446],{"type":37,"tag":360,"props":2441,"children":2443},{"href":2442},"/ai-data-analyst/whatsapp/",[2444],{"type":42,"value":2445},"Bruin on WhatsApp",{"type":42,"value":2447}," is the same AI data analyst our customers use in Slack and Teams. Same semantic layer, same governance, same connections to Snowflake, BigQuery, Databricks, Redshift, Postgres, Stripe, HubSpot, Salesforce, Mixpanel, and the rest of the stack. The only thing that changes is where the conversation lives.",{"type":37,"tag":38,"props":2449,"children":2450},{},[2451],{"type":42,"value":2452},"In practice:",{"type":37,"tag":459,"props":2454,"children":2455},{},[2456,2461,2466,2471],{"type":37,"tag":76,"props":2457,"children":2458},{},[2459],{"type":42,"value":2460},"You add Bruin as a WhatsApp contact.",{"type":37,"tag":76,"props":2462,"children":2463},{},[2464],{"type":42,"value":2465},"You message it like you would message a teammate: \"What's our CAC by channel in Q1?\"",{"type":37,"tag":76,"props":2467,"children":2468},{},[2469],{"type":42,"value":2470},"Bruin pulls from the governed definitions, runs the query, and replies with a concise answer plus a chart image.",{"type":37,"tag":76,"props":2472,"children":2473},{},[2474],{"type":42,"value":2475},"You can follow up in the same thread. Bruin remembers context.",{"type":37,"tag":38,"props":2477,"children":2478},{},[2479],{"type":42,"value":2480},"Access is controlled centrally. Revoking a user (say, a contractor whose project ended) takes one click in the admin panel. Every conversation is logged and auditable.",{"type":37,"tag":55,"props":2482,"children":2484},{"id":2483},"security-deep-dive",[2485],{"type":42,"value":2486},"Security deep dive",{"type":37,"tag":38,"props":2488,"children":2489},{},[2490],{"type":42,"value":2491},"Because this is the category-killer question for most enterprise buyers, here is how Bruin handles it on WhatsApp specifically.",{"type":37,"tag":113,"props":2493,"children":2495},{"id":2494},"identity-and-access-control",[2496],{"type":42,"value":2497},"Identity and access control",{"type":37,"tag":38,"props":2499,"children":2500},{},[2501],{"type":42,"value":2502},"Every WhatsApp user is mapped to an identity in Bruin's admin panel. That identity inherits the same role-based access control as the user's Slack, Teams, or browser session. If Maria can only see EMEA data in the Bruin web app, she can only see EMEA data on WhatsApp. There is no \"WhatsApp is a back door\" risk.",{"type":37,"tag":113,"props":2504,"children":2506},{"id":2505},"data-residency",[2507],{"type":42,"value":2508},"Data residency",{"type":37,"tag":38,"props":2510,"children":2511},{},[2512],{"type":42,"value":2513},"Answers are generated in the same region Bruin runs the rest of your tenant. If your tenant is EU-hosted, the AI query, the SQL execution, and the answer stay in the EU. WhatsApp's own transport is global (that is on Meta), but no customer data is persisted in a different region.",{"type":37,"tag":113,"props":2515,"children":2517},{"id":2516},"audit-logs",[2518],{"type":42,"value":2519},"Audit logs",{"type":37,"tag":38,"props":2521,"children":2522},{},[2523],{"type":42,"value":2524},"Every WhatsApp message sent to Bruin is logged with the user identity, the query asked, the SQL generated, the rows returned, and the response text. Admins can export these logs and feed them into their SIEM or compliance system.",{"type":37,"tag":113,"props":2526,"children":2528},{"id":2527},"revocation",[2529],{"type":42,"value":2530},"Revocation",{"type":37,"tag":38,"props":2532,"children":2533},{},[2534],{"type":42,"value":2535},"Single-click revocation from the admin panel removes a user's access across all surfaces, including WhatsApp. The next message they send returns a \"you no longer have access\" response, not data.",{"type":37,"tag":113,"props":2537,"children":2539},{"id":2538},"pii-handling",[2540],{"type":42,"value":2541},"PII handling",{"type":37,"tag":38,"props":2543,"children":2544},{},[2545],{"type":42,"value":2546},"Bruin can be configured to block specific columns (email addresses, phone numbers, payment details) from appearing in AI responses regardless of the user's underlying table-level permissions. Useful when you want a WhatsApp analyst to give a sales rep aggregate numbers but not individual customer PII that could leak into a client-facing chat.",{"type":37,"tag":55,"props":2548,"children":2550},{"id":2549},"regional-adoption-patterns",[2551],{"type":42,"value":2552},"Regional adoption patterns",{"type":37,"tag":38,"props":2554,"children":2555},{},[2556],{"type":42,"value":2557},"A few patterns we have seen in real deployments.",{"type":37,"tag":113,"props":2559,"children":2561},{"id":2560},"latam-sales-teams",[2562],{"type":42,"value":2563},"LatAm sales teams",{"type":37,"tag":38,"props":2565,"children":2566},{},[2567],{"type":42,"value":2568},"Typical rollout: start with the regional sales VP and their direct reports. Use it for pipeline questions and rep performance. Expand to the broader sales org once the VP is a convert. Often the first adoption channel before Slack, because Slack adoption in LatAm B2B is still catching up.",{"type":37,"tag":113,"props":2570,"children":2572},{"id":2571},"emea-field-operations",[2573],{"type":42,"value":2574},"EMEA field operations",{"type":37,"tag":38,"props":2576,"children":2577},{},[2578],{"type":42,"value":2579},"Typical rollout: operations managers and regional leads. Use it for live monitoring during campaigns, events, or supply-chain incidents. Particularly strong in Germany, France, and the UK for retail and logistics.",{"type":37,"tag":113,"props":2581,"children":2583},{"id":2582},"apac-partner-networks",[2584],{"type":42,"value":2585},"APAC partner networks",{"type":37,"tag":38,"props":2587,"children":2588},{},[2589],{"type":42,"value":2590},"Typical rollout: HQ shares a WhatsApp contact with channel partners. Partners message Bruin for read-only answers about their specific region, account, or SKU performance. Avoids provisioning dozens of partners in a full BI tool.",{"type":37,"tag":113,"props":2592,"children":2594},{"id":2593},"north-american-mobile-teams",[2595],{"type":42,"value":2596},"North American mobile teams",{"type":37,"tag":38,"props":2598,"children":2599},{},[2600],{"type":42,"value":2601},"Typical rollout: the founder, a few execs, and the field sales team. Often a third-wave channel, added after Slack and browser. Most useful during off-hours and travel.",{"type":37,"tag":55,"props":2603,"children":2605},{"id":2604},"who-this-matters-most-for",[2606],{"type":42,"value":2607},"Who this matters most for",{"type":37,"tag":38,"props":2609,"children":2610},{},[2611],{"type":42,"value":2612},"Mobile-first AI data analysts are not for every team. They are transformative for a few specific categories:",{"type":37,"tag":72,"props":2614,"children":2615},{},[2616,2621,2626,2631,2636,2641],{"type":37,"tag":76,"props":2617,"children":2618},{},[2619],{"type":42,"value":2620},"Field sales teams who need pipeline and account metrics on the go. No more waiting for a Monday sync to see a number.",{"type":37,"tag":76,"props":2622,"children":2623},{},[2624],{"type":42,"value":2625},"Live-ops managers in gaming and commerce who need to monitor events, campaigns, and anomalies without being tied to a dashboard.",{"type":37,"tag":76,"props":2627,"children":2628},{},[2629],{"type":42,"value":2630},"Regional and franchise ops teams where HQ cannot (and should not) provision every location in a full BI tool.",{"type":37,"tag":76,"props":2632,"children":2633},{},[2634],{"type":42,"value":2635},"Founders and execs in frequent travel who want a quick answer without opening a laptop.",{"type":37,"tag":76,"props":2637,"children":2638},{},[2639],{"type":42,"value":2640},"Partner and customer-facing roles where WhatsApp is already the working medium.",{"type":37,"tag":76,"props":2642,"children":2643},{},[2644],{"type":42,"value":2645},"Global support and incident response teams that need 24/7 coverage without on-call rotations watching dashboards.",{"type":37,"tag":38,"props":2647,"children":2648},{},[2649],{"type":42,"value":2650},"If your team lives in Slack and spends the day at a desk, WhatsApp is a nice-to-have. If your team is mobile, partner-heavy, or global south, WhatsApp is where the analyst should live by default.",{"type":37,"tag":55,"props":2652,"children":2653},{"id":538},[2654],{"type":42,"value":541},{"type":37,"tag":72,"props":2656,"children":2657},{},[2658,2663,2668,2673],{"type":37,"tag":76,"props":2659,"children":2660},{},[2661],{"type":42,"value":2662},"Rich exploration still belongs on a bigger screen. WhatsApp answers are great for \"what's the number\" and poor for \"let me slice this six ways.\" That is fine. The two modes coexist.",{"type":37,"tag":76,"props":2664,"children":2665},{},[2666],{"type":42,"value":2667},"WhatsApp Business API has rate limits. High-volume teams may want a hybrid deployment (Slack or Teams internally, WhatsApp for specific user groups). Bruin handles this the same way: one analyst, multiple surfaces.",{"type":37,"tag":76,"props":2669,"children":2670},{},[2671],{"type":42,"value":2672},"AI quality still beats channel. A great AI on WhatsApp is amazing. A bad AI on WhatsApp is worse than a dashboard, because the answers are shared in customer-visible chats.",{"type":37,"tag":76,"props":2674,"children":2675},{},[2676],{"type":42,"value":2677},"Not every org culture is ready. Some compliance or legal teams will push back on WhatsApp as a work surface, regardless of the technical controls. That is a conversation to have before piloting.",{"type":37,"tag":55,"props":2679,"children":2681},{"id":2680},"how-to-pilot-it",[2682],{"type":42,"value":2683},"How to pilot it",{"type":37,"tag":38,"props":2685,"children":2686},{},[2687],{"type":42,"value":2688},"A safe pilot looks like this:",{"type":37,"tag":459,"props":2690,"children":2691},{},[2692,2697,2702,2707,2712,2717],{"type":37,"tag":76,"props":2693,"children":2694},{},[2695],{"type":42,"value":2696},"Pick a single team (often regional sales or ops) with five to fifteen users.",{"type":37,"tag":76,"props":2698,"children":2699},{},[2700],{"type":42,"value":2701},"Define a short list of allowed questions (pipeline, rep performance, campaign metrics, account health). Do not start with everything.",{"type":37,"tag":76,"props":2703,"children":2704},{},[2705],{"type":42,"value":2706},"Deploy Bruin on WhatsApp for that team with explicit column-level restrictions on PII.",{"type":37,"tag":76,"props":2708,"children":2709},{},[2710],{"type":42,"value":2711},"Run for two weeks. Watch the audit logs daily for the first week.",{"type":37,"tag":76,"props":2713,"children":2714},{},[2715],{"type":42,"value":2716},"Review with the team and tune the semantic layer based on the questions that did not land.",{"type":37,"tag":76,"props":2718,"children":2719},{},[2720],{"type":42,"value":2721},"Expand to adjacent teams once the pilot team is confident.",{"type":37,"tag":38,"props":2723,"children":2724},{},[2725],{"type":42,"value":2726},"This keeps the blast radius small and gives compliance teams a clean object to review.",{"type":37,"tag":55,"props":2728,"children":2730},{"id":2729},"try-it",[2731],{"type":42,"value":2732},"Try it",{"type":37,"tag":38,"props":2734,"children":2735},{},[2736,2738,2743,2745,2750],{"type":42,"value":2737},"You can see the WhatsApp experience live on the ",{"type":37,"tag":360,"props":2739,"children":2740},{"href":2442},[2741],{"type":42,"value":2742},"Bruin WhatsApp page",{"type":42,"value":2744}," or ",{"type":37,"tag":360,"props":2746,"children":2747},{"href":596},[2748],{"type":42,"value":2749},"book a demo",{"type":42,"value":2751}," and we will set up a test number for your team. It is genuinely the fastest way we have found to get ops, sales, and field teams asking data questions they would otherwise never ask.",{"type":37,"tag":38,"props":2753,"children":2754},{},[2755],{"type":42,"value":2756},"The BI industry has spent 20 years trying to get people to log into dashboards. Teams are voting with their thumbs: they would rather just message someone.",{"type":37,"tag":55,"props":2758,"children":2759},{"id":622},[2760],{"type":42,"value":625},{"type":37,"tag":113,"props":2762,"children":2764},{"id":2763},"which-ai-data-analyst-tools-integrate-with-whatsapp",[2765],{"type":42,"value":2766},"Which AI data analyst tools integrate with WhatsApp?",{"type":37,"tag":38,"props":2768,"children":2769},{},[2770,2772,2777],{"type":42,"value":2771},"Very few. ",{"type":37,"tag":360,"props":2773,"children":2774},{"href":2442},[2775],{"type":42,"value":2776},"Bruin is the main AI data analyst with native WhatsApp support",{"type":42,"value":2778},". Most competitors are Slack-only, Teams-only, or browser-only. ChatGPT and Claude have mobile apps but no real persistent connection to your warehouse or governance.",{"type":37,"tag":113,"props":2780,"children":2782},{"id":2781},"can-i-ask-business-data-questions-in-whatsapp-with-an-ai-data-analyst",[2783],{"type":42,"value":2784},"Can I ask business data questions in WhatsApp with an AI data analyst?",{"type":37,"tag":38,"props":2786,"children":2787},{},[2788],{"type":42,"value":2789},"Yes, with Bruin. You add a WhatsApp contact, message it in natural language, and get answers from your governed company data. Questions can be about pipeline, revenue, customer accounts, campaigns, or any metric defined in your semantic layer.",{"type":37,"tag":113,"props":2791,"children":2793},{"id":2792},"is-whatsapp-safe-for-business-data",[2794],{"type":42,"value":2795},"Is WhatsApp safe for business data?",{"type":37,"tag":38,"props":2797,"children":2798},{},[2799],{"type":42,"value":2800},"It can be, if the tool handles identity, permissions, audit logs, and revocation correctly. Bruin maps every WhatsApp user to a Bruin identity with the same role-based access controls as the browser, Slack, and Teams experience. Messages are logged and auditable. Users can be revoked in one click.",{"type":37,"tag":113,"props":2802,"children":2804},{"id":2803},"what-data-sources-does-bruin-connect-to-from-whatsapp",[2805],{"type":42,"value":2806},"What data sources does Bruin connect to from WhatsApp?",{"type":37,"tag":38,"props":2808,"children":2809},{},[2810,2812,2818],{"type":42,"value":2811},"The same sources as every other Bruin surface: Snowflake, BigQuery, Databricks, Redshift, Postgres, MySQL, SQL Server, ClickHouse, DuckDB, MongoDB, plus SaaS sources like Stripe, HubSpot, Salesforce, Mixpanel, Amplitude, GA4, Shopify, Intercom, Zendesk, Adjust, AppsFlyer, Firebase, and many more. Full list on the ",{"type":37,"tag":360,"props":2813,"children":2815},{"href":2814},"/integrations/",[2816],{"type":42,"value":2817},"integrations page",{"type":42,"value":2819},".",{"type":37,"tag":113,"props":2821,"children":2823},{"id":2822},"does-bruin-work-in-slack-and-teams-too-not-just-whatsapp",[2824],{"type":42,"value":2825},"Does Bruin work in Slack and Teams too, not just WhatsApp?",{"type":37,"tag":38,"props":2827,"children":2828},{},[2829],{"type":42,"value":2830},"Yes. Bruin is the same AI data analyst across Slack, Microsoft Teams, Discord, WhatsApp, and a browser. One semantic layer, one set of permissions, multiple surfaces.",{"type":37,"tag":113,"props":2832,"children":2834},{"id":2833},"how-does-bruin-handle-pii-in-whatsapp-conversations",[2835],{"type":42,"value":2836},"How does Bruin handle PII in WhatsApp conversations?",{"type":37,"tag":38,"props":2838,"children":2839},{},[2840],{"type":42,"value":2841},"Bruin can be configured to block specific columns (emails, phone numbers, payment details) from appearing in AI responses, regardless of the user's underlying permissions. This prevents PII from appearing in WhatsApp chats that might be shared with customers or partners.",{"type":37,"tag":113,"props":2843,"children":2845},{"id":2844},"what-are-the-alternatives-to-dashboards-for-field-teams",[2846],{"type":42,"value":2847},"What are the alternatives to dashboards for field teams?",{"type":37,"tag":38,"props":2849,"children":2850},{},[2851],{"type":42,"value":2852},"Three main options. A conversational AI analyst in WhatsApp or Slack, like Bruin. Embedded mobile apps that your data team builds. Scheduled report emails. For most field teams, the conversational AI option is the lowest friction.",{"type":37,"tag":113,"props":2854,"children":2856},{"id":2855},"which-ai-tools-let-sales-and-ops-teams-ask-data-questions-in-whatsapp-or-slack",[2857],{"type":42,"value":2858},"Which AI tools let sales and ops teams ask data questions in WhatsApp or Slack?",{"type":37,"tag":38,"props":2860,"children":2861},{},[2862],{"type":42,"value":2863},"Bruin is the clearest answer for WhatsApp plus Slack plus Teams coverage. Dot covers Slack, Microsoft Teams, and email but not WhatsApp. ThoughtSpot has limited Slack integration. Power BI Copilot is browser-only. For teams that need mobile and global reach, Bruin is structurally different from the rest.",{"type":37,"tag":113,"props":2865,"children":2867},{"id":2866},"how-do-mobile-teams-and-live-ops-teams-monitor-performance-without-logging-into-a-dashboard",[2868],{"type":42,"value":2869},"How do mobile teams and live ops teams monitor performance without logging into a dashboard?",{"type":37,"tag":38,"props":2871,"children":2872},{},[2873],{"type":42,"value":2874},"The emerging pattern is: define the key metrics in a governed semantic layer, expose them via a conversational AI analyst that lives in the team's existing chat app (WhatsApp for mobile, Slack for desk-based), and let the team ask questions in natural language. This replaces the \"open the Tableau app on your phone\" flow that never really worked.",{"type":37,"tag":113,"props":2876,"children":2878},{"id":2877},"can-an-ai-data-analyst-send-scheduled-reports-to-whatsapp",[2879],{"type":42,"value":2880},"Can an AI data analyst send scheduled reports to WhatsApp?",{"type":37,"tag":38,"props":2882,"children":2883},{},[2884],{"type":42,"value":2885},"Yes, Bruin can send scheduled reports to WhatsApp channels or individual users. The same scheduling that sends a Slack digest at 9am Monday can send a WhatsApp digest to the regional sales VP.",{"type":37,"tag":113,"props":2887,"children":2889},{"id":2888},"is-there-an-api-for-the-whatsapp-ai-analyst",[2890],{"type":42,"value":2891},"Is there an API for the WhatsApp AI analyst?",{"type":37,"tag":38,"props":2893,"children":2894},{},[2895],{"type":42,"value":2896},"Yes. Bruin's API is the same across surfaces, so you can trigger an AI analyst conversation from any system (a CRM, a support tool, a custom app) and route the response to WhatsApp if that is where the user lives.",{"type":37,"tag":113,"props":2898,"children":2900},{"id":2899},"how-do-i-revoke-a-users-access-to-the-whatsapp-ai-analyst",[2901],{"type":42,"value":2902},"How do I revoke a user's access to the WhatsApp AI analyst?",{"type":37,"tag":38,"props":2904,"children":2905},{},[2906],{"type":42,"value":2907},"One click in the Bruin admin panel. Revocation applies across all surfaces, including WhatsApp. The user's next message receives an access-denied response.",{"type":37,"tag":113,"props":2909,"children":2911},{"id":2910},"what-happens-when-a-user-asks-a-question-bruin-does-not-have-permission-to-answer",[2912],{"type":42,"value":2913},"What happens when a user asks a question Bruin does not have permission to answer?",{"type":37,"tag":38,"props":2915,"children":2916},{},[2917],{"type":42,"value":2918},"Bruin returns a clear message explaining that the user does not have access to the requested data, rather than leaking partial results. Admins can configure the exact wording.",{"type":37,"tag":113,"props":2920,"children":2922},{"id":2921},"can-partners-and-contractors-use-the-whatsapp-ai-analyst-without-a-full-bi-license",[2923],{"type":42,"value":2924},"Can partners and contractors use the WhatsApp AI analyst without a full BI license?",{"type":37,"tag":38,"props":2926,"children":2927},{},[2928],{"type":42,"value":2929},"Yes. Bruin's access model lets you grant narrow read-only access to specific tables or metrics for users outside your main org, without requiring a full BI seat. WhatsApp is often the distribution channel for this because it avoids provisioning external users in a browser-based tool.",{"type":37,"tag":113,"props":2931,"children":2933},{"id":2932},"does-bruin-work-with-whatsapp-business-api",[2934],{"type":42,"value":2935},"Does Bruin work with WhatsApp Business API?",{"type":37,"tag":38,"props":2937,"children":2938},{},[2939],{"type":42,"value":2940},"Yes. Bruin's enterprise plans include WhatsApp Business API integration managed on our side. Self-hosted deployments bring their own WhatsApp Business API contract with Meta.",{"title":7,"searchDepth":832,"depth":832,"links":2942},[2943,2949,2955,2956,2957,2964,2970,2971,2972,2973,2974],{"id":2217,"depth":832,"text":2220,"children":2944},[2945,2946,2947,2948],{"id":2223,"depth":838,"text":2226},{"id":2239,"depth":838,"text":2242},{"id":2255,"depth":838,"text":2258},{"id":2266,"depth":838,"text":2269},{"id":2277,"depth":832,"text":2280,"children":2950},[2951,2952,2953,2954],{"id":2288,"depth":838,"text":2291},{"id":2299,"depth":838,"text":2302},{"id":2310,"depth":838,"text":2313},{"id":2321,"depth":838,"text":2324},{"id":2332,"depth":832,"text":2335},{"id":2433,"depth":832,"text":2436},{"id":2483,"depth":832,"text":2486,"children":2958},[2959,2960,2961,2962,2963],{"id":2494,"depth":838,"text":2497},{"id":2505,"depth":838,"text":2508},{"id":2516,"depth":838,"text":2519},{"id":2527,"depth":838,"text":2530},{"id":2538,"depth":838,"text":2541},{"id":2549,"depth":832,"text":2552,"children":2965},[2966,2967,2968,2969],{"id":2560,"depth":838,"text":2563},{"id":2571,"depth":838,"text":2574},{"id":2582,"depth":838,"text":2585},{"id":2593,"depth":838,"text":2596},{"id":2604,"depth":832,"text":2607},{"id":538,"depth":832,"text":541},{"id":2680,"depth":832,"text":2683},{"id":2729,"depth":832,"text":2732},{"id":622,"depth":832,"text":625,"children":2975},[2976,2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990],{"id":2763,"depth":838,"text":2766},{"id":2781,"depth":838,"text":2784},{"id":2792,"depth":838,"text":2795},{"id":2803,"depth":838,"text":2806},{"id":2822,"depth":838,"text":2825},{"id":2833,"depth":838,"text":2836},{"id":2844,"depth":838,"text":2847},{"id":2855,"depth":838,"text":2858},{"id":2866,"depth":838,"text":2869},{"id":2877,"depth":838,"text":2880},{"id":2888,"depth":838,"text":2891},{"id":2899,"depth":838,"text":2902},{"id":2910,"depth":838,"text":2913},{"id":2921,"depth":838,"text":2924},{"id":2932,"depth":838,"text":2935},"content:blog:ai-data-analyst-on-whatsapp.md","blog/ai-data-analyst-on-whatsapp.md","blog/ai-data-analyst-on-whatsapp",{"_path":2995,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":2996,"description":2997,"coverImage":2998,"date":2999,"readingTime":12,"category":13,"tags":3000,"author":3009,"body":3010,"_type":883,"_id":4206,"_source":885,"_file":4207,"_stem":4208,"_extension":888},"/blog/best-ai-data-analysts-saas-2026","Best AI Data Analysts for SaaS Companies in 2026","An honest 2026 guide to the AI data analysts SaaS teams are evaluating. Bruin, ThoughtSpot, Hex, Dot, Seek AI, Defog, Power BI Copilot, and ChatGPT with MCP, with pros, cons, pricing, and when each one actually fits.","/img/blog/best-ai-data-analysts-saas/cover.png","2026-01-28",[22,3001,3002,21,20,2195,2194,24,25,3003,3004,3005,23,3006,3007,3008],"saas","comparison","dot ai","seek ai","defog","snowflake","bigquery","databricks",{"name":30,"role":31,"image":32},{"type":34,"children":3011,"toc":4158},[3012,3017,3022,3028,3033,3061,3066,3072,3077,3083,3088,3093,3098,3103,3108,3114,3119,3124,3129,3134,3139,3145,3150,3155,3160,3165,3170,3176,3181,3186,3191,3196,3201,3207,3212,3217,3222,3227,3232,3238,3243,3248,3253,3258,3263,3269,3274,3279,3284,3289,3294,3300,3305,3310,3315,3320,3325,3331,3336,3342,3347,3352,3358,3363,3368,3373,3379,3384,3389,3395,3400,3405,3411,3750,3756,3761,3779,3784,3802,3808,3813,3819,3824,3830,3835,3841,3846,3852,3857,3885,3891,3910,3959,3964,3968,3974,3979,3985,3990,3996,4006,4012,4017,4023,4028,4034,4039,4043,4048,4052,4057,4061,4065,4069,4073,4077,4081,4085,4097,4103,4108,4114,4119,4123,4127,4133,4138,4144,4149,4153],{"type":37,"tag":38,"props":3013,"children":3014},{},[3015],{"type":42,"value":3016},"If you run a SaaS company in 2026, you already know the pattern. Data questions pile up, the analytics team becomes a ticket queue, stakeholders stop asking instead of getting answers, and another dashboard nobody opens gets published. The latest wave of AI data analyst tools is supposed to fix that, but the category has expanded from two or three players to more than a dozen, each with a slightly different theory of the job.",{"type":37,"tag":38,"props":3018,"children":3019},{},[3020],{"type":42,"value":3021},"We spend a lot of time talking to SaaS data leaders evaluating this space. Here is an honest rundown of the AI data analysts worth shortlisting in 2026, how they differ, and which one fits which kind of team.",{"type":37,"tag":55,"props":3023,"children":3025},{"id":3024},"what-is-an-ai-data-analyst-exactly",[3026],{"type":42,"value":3027},"What is an AI data analyst, exactly?",{"type":37,"tag":38,"props":3029,"children":3030},{},[3031],{"type":42,"value":3032},"An AI data analyst is a tool that takes a natural-language question (\"What's our MRR by plan last month?\"), converts it into SQL against your data warehouse, runs the query, and returns a chart or narrative answer. The better ones also:",{"type":37,"tag":72,"props":3034,"children":3035},{},[3036,3041,3046,3051,3056],{"type":37,"tag":76,"props":3037,"children":3038},{},[3039],{"type":42,"value":3040},"Remember context from previous questions, so \"and now split by region\" works",{"type":37,"tag":76,"props":3042,"children":3043},{},[3044],{"type":42,"value":3045},"Use a governed semantic layer so different users get the same answer",{"type":37,"tag":76,"props":3047,"children":3048},{},[3049],{"type":42,"value":3050},"Live where your team already works: Slack, Microsoft Teams, Discord, WhatsApp, or a browser",{"type":37,"tag":76,"props":3052,"children":3053},{},[3054],{"type":42,"value":3055},"Connect to common SaaS data sources like Snowflake, BigQuery, Databricks, Redshift, Postgres, ClickHouse, and DuckDB, plus product sources like Stripe, HubSpot, Mixpanel, Amplitude, Segment, and Salesforce",{"type":37,"tag":76,"props":3057,"children":3058},{},[3059],{"type":42,"value":3060},"Offer API access for embedding answers into internal tools, customer-facing products, or automations",{"type":37,"tag":38,"props":3062,"children":3063},{},[3064],{"type":42,"value":3065},"This category is different from traditional BI (Tableau, Looker, Power BI without Copilot), where the user has to learn how to build a dashboard. It is also different from generic AI assistants like ChatGPT and Claude, which can chat with a CSV but do not understand your warehouse, governance, or metric definitions.",{"type":37,"tag":55,"props":3067,"children":3069},{"id":3068},"the-shortlist-for-saas-teams-in-2026",[3070],{"type":42,"value":3071},"The shortlist for SaaS teams in 2026",{"type":37,"tag":38,"props":3073,"children":3074},{},[3075],{"type":42,"value":3076},"Here are the tools that keep coming up in SaaS evaluations. None of this is exhaustive. It is the honest shortlist, not a fifty-vendor listicle.",{"type":37,"tag":113,"props":3078,"children":3080},{"id":3079},"_1-bruin",[3081],{"type":42,"value":3082},"1. Bruin",{"type":37,"tag":38,"props":3084,"children":3085},{},[3086],{"type":42,"value":3087},"What it is: a conversational AI data analyst that lives in Slack, Teams, Discord, WhatsApp, and the browser, plus a full data pipeline for ingestion (200+ connectors), SQL and Python transformations, quality checks, and column-level lineage.",{"type":37,"tag":38,"props":3089,"children":3090},{},[3091],{"type":42,"value":3092},"Why SaaS teams pick it: business teams get answers in Slack without filing a ticket, and data engineers get a unified pipeline instead of stitching Fivetran, dbt, Airflow, and Monte Carlo together. Open-source core (the CLI and ingestr), self-hostable, no per-seat pricing pressure. API access is available for embedded use cases.",{"type":37,"tag":38,"props":3094,"children":3095},{},[3096],{"type":42,"value":3097},"Watch-outs: teams deep into a legacy BI stack (for example, large Tableau or Looker deployments with hundreds of curated dashboards) will usually adopt Bruin alongside the existing tool first, then consolidate over time.",{"type":37,"tag":38,"props":3099,"children":3100},{},[3101],{"type":42,"value":3102},"Pricing feel: free open-source core, affordable cloud plans, enterprise pricing that does not punish viewers.",{"type":37,"tag":38,"props":3104,"children":3105},{},[3106],{"type":42,"value":3107},"Best for: SaaS companies with 20 to 500 employees who want business teams to self-serve in Slack and do not want to replace their whole BI stack to do it.",{"type":37,"tag":113,"props":3109,"children":3111},{"id":3110},"_2-thoughtspot",[3112],{"type":42,"value":3113},"2. ThoughtSpot",{"type":37,"tag":38,"props":3115,"children":3116},{},[3117],{"type":42,"value":3118},"What it is: enterprise BI platform with AI-powered search via Spotter (AI Analyst, SpotterModel, SpotterViz, SpotterCode) and liveboards. The full-replacement-for-Tableau play, but AI-first.",{"type":37,"tag":38,"props":3120,"children":3121},{},[3122],{"type":42,"value":3123},"Why teams pick it: rich dashboards, embedded analytics SDK, enterprise governance, and direct Snowflake, BigQuery, Databricks, and Redshift integration.",{"type":37,"tag":38,"props":3125,"children":3126},{},[3127],{"type":42,"value":3128},"Watch-outs: standalone web app users need to log in to and be trained on. Best when you are genuinely replacing Tableau, not when you want a lightweight AI layer.",{"type":37,"tag":38,"props":3130,"children":3131},{},[3132],{"type":42,"value":3133},"Pricing feel: Essentials starts at $25/user/month, Pro at $50/user/month, Enterprise is custom. Larger enterprise deployments often land in the five- or six-figure annual range.",{"type":37,"tag":38,"props":3135,"children":3136},{},[3137],{"type":42,"value":3138},"Best for: mid-market and enterprise SaaS with a BI budget already earmarked for a traditional vendor replacement.",{"type":37,"tag":113,"props":3140,"children":3142},{"id":3141},"_3-hex",[3143],{"type":42,"value":3144},"3. Hex",{"type":37,"tag":38,"props":3146,"children":3147},{},[3148],{"type":42,"value":3149},"What it is: a collaborative SQL and Python notebook platform with a Notebook Agent for analyst assistance, and the ability to publish notebooks as data apps.",{"type":37,"tag":38,"props":3151,"children":3152},{},[3153],{"type":42,"value":3154},"Why teams pick it: analysts love the notebook experience, and Hex apps are a nicer way to share an analysis than a static dashboard. The Notebook Agent helps analysts write queries faster.",{"type":37,"tag":38,"props":3156,"children":3157},{},[3158],{"type":42,"value":3159},"Watch-outs: the AI is aimed at analysts writing notebooks, not business users asking questions in Slack. Non-technical stakeholders consume published apps rather than asking ad-hoc questions, which means the data team is still on the hook for every new question.",{"type":37,"tag":38,"props":3161,"children":3162},{},[3163],{"type":42,"value":3164},"Pricing feel: per-editor SaaS with unlimited viewers on paid plans. Community tier is free (up to 5 notebooks). Professional is $36 per editor per month, Team is $75 per editor per month, Enterprise is custom.",{"type":37,"tag":38,"props":3166,"children":3167},{},[3168],{"type":42,"value":3169},"Best for: data teams that live in notebooks and want a modern replacement for Mode or Jupyter plus dashboards, where curated apps are the distribution model.",{"type":37,"tag":113,"props":3171,"children":3173},{"id":3172},"_4-dot",[3174],{"type":42,"value":3175},"4. Dot",{"type":37,"tag":38,"props":3177,"children":3178},{},[3179],{"type":42,"value":3180},"What it is: a chat-first AI analyst focused on giving business teams fast answers inside Slack, Microsoft Teams, or email, layered on your warehouse.",{"type":37,"tag":38,"props":3182,"children":3183},{},[3184],{"type":42,"value":3185},"Why teams pick it: chat-native distribution is the right instinct for SaaS.",{"type":37,"tag":38,"props":3187,"children":3188},{},[3189],{"type":42,"value":3190},"Watch-outs: analyst-only product. It does not come with the ingestion, transformation, or quality layers you still need elsewhere. No WhatsApp native surface.",{"type":37,"tag":38,"props":3192,"children":3193},{},[3194],{"type":42,"value":3195},"Pricing feel: usage-based (credits) with unlimited users on paid tiers. Free tier available, Pro at $180 per month, Team at $720 per month, Enterprise is custom.",{"type":37,"tag":38,"props":3197,"children":3198},{},[3199],{"type":42,"value":3200},"Best for: teams that already have a mature pipeline (Fivetran plus dbt plus warehouse) and just want a good chat analyst on top.",{"type":37,"tag":113,"props":3202,"children":3204},{"id":3203},"_5-seek-ai",[3205],{"type":42,"value":3206},"5. Seek AI",{"type":37,"tag":38,"props":3208,"children":3209},{},[3210],{"type":42,"value":3211},"What it is: enterprise-targeted natural-language analytics with strong emphasis on a governed semantic layer.",{"type":37,"tag":38,"props":3213,"children":3214},{},[3215],{"type":42,"value":3216},"Why teams pick it: enterprise sales controls, detailed governance, semantic-layer-first approach.",{"type":37,"tag":38,"props":3218,"children":3219},{},[3220],{"type":42,"value":3221},"Watch-outs: typically an enterprise contract, standalone app experience.",{"type":37,"tag":38,"props":3223,"children":3224},{},[3225],{"type":42,"value":3226},"Pricing feel: enterprise, annual contract.",{"type":37,"tag":38,"props":3228,"children":3229},{},[3230],{"type":42,"value":3231},"Best for: large organizations with dedicated data governance teams.",{"type":37,"tag":113,"props":3233,"children":3235},{"id":3234},"_6-defogai",[3236],{"type":42,"value":3237},"6. Defog.ai",{"type":37,"tag":38,"props":3239,"children":3240},{},[3241],{"type":42,"value":3242},"What it is: open-source text-to-SQL models (SQLCoder) you can embed into your own product or internal tools.",{"type":37,"tag":38,"props":3244,"children":3245},{},[3246],{"type":42,"value":3247},"Why teams pick it: developer-friendly, open-source approach, good for embedding AI analytics in a customer-facing product.",{"type":37,"tag":38,"props":3249,"children":3250},{},[3251],{"type":42,"value":3252},"Watch-outs: it is a text-to-SQL engine, not a finished AI analyst. You still have to build the chat UI, context memory, governance, and distribution around it. Public project activity has been quiet since early 2024, so check the current state before betting on it.",{"type":37,"tag":38,"props":3254,"children":3255},{},[3256],{"type":42,"value":3257},"Pricing feel: open-source models available, plus paid enterprise tiers (hosted cloud around $5,000 per month, self-hosted annual custom).",{"type":37,"tag":38,"props":3259,"children":3260},{},[3261],{"type":42,"value":3262},"Best for: engineering teams building their own internal AI analyst and who want to keep full control of the stack.",{"type":37,"tag":113,"props":3264,"children":3266},{"id":3265},"_7-power-bi-copilot",[3267],{"type":42,"value":3268},"7. Power BI Copilot",{"type":37,"tag":38,"props":3270,"children":3271},{},[3272],{"type":42,"value":3273},"What it is: Microsoft's prompt layer over Power BI semantic models, available in Microsoft Fabric.",{"type":37,"tag":38,"props":3275,"children":3276},{},[3277],{"type":42,"value":3278},"Why teams pick it: already using Power BI. The Copilot adds natural language on top of existing semantic models.",{"type":37,"tag":38,"props":3280,"children":3281},{},[3282],{"type":42,"value":3283},"Watch-outs: tied to the Microsoft stack and Power BI's existing complexity. The AI is only as good as the semantic model you have already built.",{"type":37,"tag":38,"props":3285,"children":3286},{},[3287],{"type":42,"value":3288},"Pricing feel: no separate Copilot SKU, but it requires paid Fabric capacity (F2 or higher) or Power BI Premium capacity (P1 or higher). Power BI Pro or PPU alone is not enough.",{"type":37,"tag":38,"props":3290,"children":3291},{},[3292],{"type":42,"value":3293},"Best for: enterprises already heavily invested in Power BI who want to extend it rather than replace it.",{"type":37,"tag":113,"props":3295,"children":3297},{"id":3296},"_8-chatgpt-or-claude-with-your-data-via-mcp-or-connectors",[3298],{"type":42,"value":3299},"8. ChatGPT or Claude with your data (via MCP or connectors)",{"type":37,"tag":38,"props":3301,"children":3302},{},[3303],{"type":42,"value":3304},"What they are: general-purpose AI assistants with file upload, MCP connectors, or code interpreter.",{"type":37,"tag":38,"props":3306,"children":3307},{},[3308],{"type":42,"value":3309},"Why teams try them: already have the subscription. Fine for ad-hoc CSV analysis.",{"type":37,"tag":38,"props":3311,"children":3312},{},[3313],{"type":42,"value":3314},"Watch-outs: no persistent connection to your warehouse, no governance, no shared semantic definitions. Different users will get different answers to the same question, which in a SaaS context is how your board meeting goes sideways. Useful for one-off exploration, not for team-wide self-serve.",{"type":37,"tag":38,"props":3316,"children":3317},{},[3318],{"type":42,"value":3319},"Pricing feel: low per-seat if already subscribed. No enterprise governance included.",{"type":37,"tag":38,"props":3321,"children":3322},{},[3323],{"type":42,"value":3324},"Best for: individual ad-hoc analysis on small exports, not team-wide self-serve.",{"type":37,"tag":55,"props":3326,"children":3328},{"id":3327},"how-to-compare-ai-data-analysts-for-saas",[3329],{"type":42,"value":3330},"How to compare AI data analysts for SaaS",{"type":37,"tag":38,"props":3332,"children":3333},{},[3334],{"type":42,"value":3335},"Every SaaS evaluation we see comes down to four questions. Answer these, and the shortlist collapses quickly.",{"type":37,"tag":113,"props":3337,"children":3339},{"id":3338},"_1-where-does-the-conversation-happen",[3340],{"type":42,"value":3341},"1. Where does the conversation happen?",{"type":37,"tag":38,"props":3343,"children":3344},{},[3345],{"type":42,"value":3346},"If your team lives in Slack and Teams, an AI analyst that requires logging into a separate app is a permanent adoption drag. For SaaS companies under 500 people, Slack-native usually beats a standalone web app. This is where Bruin and Dot do well, and where Hex and ThoughtSpot are structurally weaker for everyday business questions.",{"type":37,"tag":38,"props":3348,"children":3349},{},[3350],{"type":42,"value":3351},"For field, sales, and partner teams, WhatsApp is increasingly a first-class surface. Bruin is one of the few AI data analyst tools that works natively in WhatsApp.",{"type":37,"tag":113,"props":3353,"children":3355},{"id":3354},"_2-who-is-the-actual-user-analysts-or-everyone",[3356],{"type":42,"value":3357},"2. Who is the actual user, analysts or everyone?",{"type":37,"tag":38,"props":3359,"children":3360},{},[3361],{"type":42,"value":3362},"Analysts only: Hex, Mode, Jupyter notebooks.",{"type":37,"tag":38,"props":3364,"children":3365},{},[3366],{"type":42,"value":3367},"Everyone: Bruin, Dot, ThoughtSpot Spotter, Power BI Copilot.",{"type":37,"tag":38,"props":3369,"children":3370},{},[3371],{"type":42,"value":3372},"SaaS orgs that want ops, sales, CS, and finance to self-serve should weight \"everyone\" tools heavily. Notebook tools scale with analyst hiring, not with the business.",{"type":37,"tag":113,"props":3374,"children":3376},{"id":3375},"_3-do-you-need-the-pipeline-or-just-the-analyst-on-top",[3377],{"type":42,"value":3378},"3. Do you need the pipeline, or just the analyst on top?",{"type":37,"tag":38,"props":3380,"children":3381},{},[3382],{"type":42,"value":3383},"If your ingestion and transformation are already handled by Fivetran plus dbt plus an orchestrator, a pure analyst tool like Dot, Seek, or Hex can drop in. If you are stitching the stack together as you grow, or want to collapse vendors, a unified platform like Bruin replaces multiple seats at once.",{"type":37,"tag":38,"props":3385,"children":3386},{},[3387],{"type":42,"value":3388},"A useful rubric: if you have fewer than five data engineers and more than three data vendors, every vendor you can collapse is a win.",{"type":37,"tag":113,"props":3390,"children":3392},{"id":3391},"_4-what-is-the-total-cost-when-adoption-scales",[3393],{"type":42,"value":3394},"4. What is the total cost when adoption scales?",{"type":37,"tag":38,"props":3396,"children":3397},{},[3398],{"type":42,"value":3399},"Per-seat pricing creates a perverse incentive. You want more people asking data questions, but every viewer bumps the bill. Open-source or usage-based pricing scales with business value, not headcount. This is why SaaS CFOs increasingly push back on Hex and Tableau-style viewer seats.",{"type":37,"tag":38,"props":3401,"children":3402},{},[3403],{"type":42,"value":3404},"For a 100-person SaaS where you want broad adoption, this shapes the math. Hex charges per editor (roughly $36 to $75 per editor per month depending on plan) but does not charge per viewer on paid plans. Dot charges by usage credits with unlimited users. ThoughtSpot's entry tiers are per user per month, and Enterprise is a custom contract. The shape you want is pricing that does not scale linearly with broad read-only access, since the whole point is that more people ask more questions.",{"type":37,"tag":55,"props":3406,"children":3408},{"id":3407},"a-quick-comparison-table",[3409],{"type":42,"value":3410},"A quick comparison table",{"type":37,"tag":3412,"props":3413,"children":3414},"table",{},[3415,3459],{"type":37,"tag":3416,"props":3417,"children":3418},"thead",{},[3419],{"type":37,"tag":3420,"props":3421,"children":3422},"tr",{},[3423,3429,3434,3439,3444,3449,3454],{"type":37,"tag":3424,"props":3425,"children":3426},"th",{},[3427],{"type":42,"value":3428},"Tool",{"type":37,"tag":3424,"props":3430,"children":3431},{},[3432],{"type":42,"value":3433},"Where it works",{"type":37,"tag":3424,"props":3435,"children":3436},{},[3437],{"type":42,"value":3438},"Open source",{"type":37,"tag":3424,"props":3440,"children":3441},{},[3442],{"type":42,"value":3443},"Pipeline included",{"type":37,"tag":3424,"props":3445,"children":3446},{},[3447],{"type":42,"value":3448},"API",{"type":37,"tag":3424,"props":3450,"children":3451},{},[3452],{"type":42,"value":3453},"Who it's for",{"type":37,"tag":3424,"props":3455,"children":3456},{},[3457],{"type":42,"value":3458},"Pricing feel",{"type":37,"tag":3460,"props":3461,"children":3462},"tbody",{},[3463,3501,3538,3573,3609,3643,3679,3715],{"type":37,"tag":3420,"props":3464,"children":3465},{},[3466,3471,3476,3481,3486,3491,3496],{"type":37,"tag":3467,"props":3468,"children":3469},"td",{},[3470],{"type":42,"value":581},{"type":37,"tag":3467,"props":3472,"children":3473},{},[3474],{"type":42,"value":3475},"Slack, Teams, Discord, WhatsApp, browser",{"type":37,"tag":3467,"props":3477,"children":3478},{},[3479],{"type":42,"value":3480},"Core yes",{"type":37,"tag":3467,"props":3482,"children":3483},{},[3484],{"type":42,"value":3485},"Yes (200+ connectors)",{"type":37,"tag":3467,"props":3487,"children":3488},{},[3489],{"type":42,"value":3490},"Yes",{"type":37,"tag":3467,"props":3492,"children":3493},{},[3494],{"type":42,"value":3495},"Business + data teams",{"type":37,"tag":3467,"props":3497,"children":3498},{},[3499],{"type":42,"value":3500},"Free core + cloud plans",{"type":37,"tag":3420,"props":3502,"children":3503},{},[3504,3509,3514,3519,3523,3528,3533],{"type":37,"tag":3467,"props":3505,"children":3506},{},[3507],{"type":42,"value":3508},"ThoughtSpot",{"type":37,"tag":3467,"props":3510,"children":3511},{},[3512],{"type":42,"value":3513},"Standalone web app",{"type":37,"tag":3467,"props":3515,"children":3516},{},[3517],{"type":42,"value":3518},"No",{"type":37,"tag":3467,"props":3520,"children":3521},{},[3522],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3524,"children":3525},{},[3526],{"type":42,"value":3527},"Yes (SDK)",{"type":37,"tag":3467,"props":3529,"children":3530},{},[3531],{"type":42,"value":3532},"Enterprise BI replacement",{"type":37,"tag":3467,"props":3534,"children":3535},{},[3536],{"type":42,"value":3537},"From $25/user/mo, Enterprise custom",{"type":37,"tag":3420,"props":3539,"children":3540},{},[3541,3546,3550,3554,3558,3563,3568],{"type":37,"tag":3467,"props":3542,"children":3543},{},[3544],{"type":42,"value":3545},"Hex",{"type":37,"tag":3467,"props":3547,"children":3548},{},[3549],{"type":42,"value":3513},{"type":37,"tag":3467,"props":3551,"children":3552},{},[3553],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3555,"children":3556},{},[3557],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3559,"children":3560},{},[3561],{"type":42,"value":3562},"Limited",{"type":37,"tag":3467,"props":3564,"children":3565},{},[3566],{"type":42,"value":3567},"Data teams, notebook users",{"type":37,"tag":3467,"props":3569,"children":3570},{},[3571],{"type":42,"value":3572},"$36 to $75/editor/mo, viewers included",{"type":37,"tag":3420,"props":3574,"children":3575},{},[3576,3581,3586,3590,3594,3599,3604],{"type":37,"tag":3467,"props":3577,"children":3578},{},[3579],{"type":42,"value":3580},"Dot",{"type":37,"tag":3467,"props":3582,"children":3583},{},[3584],{"type":42,"value":3585},"Slack, Teams, email",{"type":37,"tag":3467,"props":3587,"children":3588},{},[3589],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3591,"children":3592},{},[3593],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3595,"children":3596},{},[3597],{"type":42,"value":3598},"Embed/integration",{"type":37,"tag":3467,"props":3600,"children":3601},{},[3602],{"type":42,"value":3603},"Business teams",{"type":37,"tag":3467,"props":3605,"children":3606},{},[3607],{"type":42,"value":3608},"Usage-based, unlimited users",{"type":37,"tag":3420,"props":3610,"children":3611},{},[3612,3617,3621,3625,3629,3634,3638],{"type":37,"tag":3467,"props":3613,"children":3614},{},[3615],{"type":42,"value":3616},"Seek AI",{"type":37,"tag":3467,"props":3618,"children":3619},{},[3620],{"type":42,"value":3513},{"type":37,"tag":3467,"props":3622,"children":3623},{},[3624],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3626,"children":3627},{},[3628],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3630,"children":3631},{},[3632],{"type":42,"value":3633},"Enterprise",{"type":37,"tag":3467,"props":3635,"children":3636},{},[3637],{"type":42,"value":3633},{"type":37,"tag":3467,"props":3639,"children":3640},{},[3641],{"type":42,"value":3642},"Custom enterprise",{"type":37,"tag":3420,"props":3644,"children":3645},{},[3646,3651,3656,3661,3665,3669,3674],{"type":37,"tag":3467,"props":3647,"children":3648},{},[3649],{"type":42,"value":3650},"Defog.ai",{"type":37,"tag":3467,"props":3652,"children":3653},{},[3654],{"type":42,"value":3655},"Your own app",{"type":37,"tag":3467,"props":3657,"children":3658},{},[3659],{"type":42,"value":3660},"Yes (models)",{"type":37,"tag":3467,"props":3662,"children":3663},{},[3664],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3666,"children":3667},{},[3668],{"type":42,"value":3490},{"type":37,"tag":3467,"props":3670,"children":3671},{},[3672],{"type":42,"value":3673},"Engineers embedding AI",{"type":37,"tag":3467,"props":3675,"children":3676},{},[3677],{"type":42,"value":3678},"OSS models + enterprise hosted",{"type":37,"tag":3420,"props":3680,"children":3681},{},[3682,3687,3692,3696,3700,3705,3710],{"type":37,"tag":3467,"props":3683,"children":3684},{},[3685],{"type":42,"value":3686},"Power BI Copilot",{"type":37,"tag":3467,"props":3688,"children":3689},{},[3690],{"type":42,"value":3691},"Power BI web",{"type":37,"tag":3467,"props":3693,"children":3694},{},[3695],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3697,"children":3698},{},[3699],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3701,"children":3702},{},[3703],{"type":42,"value":3704},"Microsoft stack",{"type":37,"tag":3467,"props":3706,"children":3707},{},[3708],{"type":42,"value":3709},"Microsoft shops",{"type":37,"tag":3467,"props":3711,"children":3712},{},[3713],{"type":42,"value":3714},"Requires Fabric F2+ / Premium P1+",{"type":37,"tag":3420,"props":3716,"children":3717},{},[3718,3723,3728,3732,3736,3740,3745],{"type":37,"tag":3467,"props":3719,"children":3720},{},[3721],{"type":42,"value":3722},"ChatGPT / Claude",{"type":37,"tag":3467,"props":3724,"children":3725},{},[3726],{"type":42,"value":3727},"ChatGPT app / Claude.ai",{"type":37,"tag":3467,"props":3729,"children":3730},{},[3731],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3733,"children":3734},{},[3735],{"type":42,"value":3518},{"type":37,"tag":3467,"props":3737,"children":3738},{},[3739],{"type":42,"value":3490},{"type":37,"tag":3467,"props":3741,"children":3742},{},[3743],{"type":42,"value":3744},"Individual exploration",{"type":37,"tag":3467,"props":3746,"children":3747},{},[3748],{"type":42,"value":3749},"Per-seat subscription",{"type":37,"tag":55,"props":3751,"children":3753},{"id":3752},"what-a-good-ai-data-analyst-demo-looks-like",[3754],{"type":42,"value":3755},"What a good AI data analyst demo looks like",{"type":37,"tag":38,"props":3757,"children":3758},{},[3759],{"type":42,"value":3760},"Most demos cheat in three ways. Watch for these when you evaluate:",{"type":37,"tag":459,"props":3762,"children":3763},{},[3764,3769,3774],{"type":37,"tag":76,"props":3765,"children":3766},{},[3767],{"type":42,"value":3768},"The demo dataset is trivial. Real SaaS data has 30+ tables, messy joins, partial keys, and conflicting metric definitions. Ask to demo against a realistic slice, or at least bring one of your own metrics and a real question.",{"type":37,"tag":76,"props":3770,"children":3771},{},[3772],{"type":42,"value":3773},"Only simple questions get demoed. A good evaluation includes the kind of question that trips analysts up, like \"What's our NRR trend over 12 months for customers acquired before our pricing change, excluding churned logos under 90 days?\". If the tool handles that gracefully, it will handle the easy ones.",{"type":37,"tag":76,"props":3775,"children":3776},{},[3777],{"type":42,"value":3778},"No follow-ups. Conversation is where AI analysts live or die. Ask five or six follow-ups in a row and watch whether context is preserved.",{"type":37,"tag":38,"props":3780,"children":3781},{},[3782],{"type":42,"value":3783},"Also insist on:",{"type":37,"tag":72,"props":3785,"children":3786},{},[3787,3792,3797],{"type":37,"tag":76,"props":3788,"children":3789},{},[3790],{"type":42,"value":3791},"Show the SQL. Trust requires the user to inspect what ran. Tools that hide the SQL should be a red flag.",{"type":37,"tag":76,"props":3793,"children":3794},{},[3795],{"type":42,"value":3796},"Governance demo. Revoke a user mid-demo, show the audit log, demonstrate row-level access controls.",{"type":37,"tag":76,"props":3798,"children":3799},{},[3800],{"type":42,"value":3801},"Bring your own warehouse. If the only way to see real data is a hosted sandbox, the tool is not ready.",{"type":37,"tag":55,"props":3803,"children":3805},{"id":3804},"implementation-patterns-we-see-work",[3806],{"type":42,"value":3807},"Implementation patterns we see work",{"type":37,"tag":38,"props":3809,"children":3810},{},[3811],{"type":42,"value":3812},"After watching dozens of SaaS teams roll out AI data analysts, three patterns produce good outcomes.",{"type":37,"tag":113,"props":3814,"children":3816},{"id":3815},"pattern-a-start-with-ops-and-cs-expand-to-sales",[3817],{"type":42,"value":3818},"Pattern A: start with ops and CS, expand to sales",{"type":37,"tag":38,"props":3820,"children":3821},{},[3822],{"type":42,"value":3823},"Begin with the teams that ask the most routine questions. Customer success on account health, ops on campaign and funnel metrics. They will drive adoption and produce the fastest wins. Sales is a great third wave once the tool's answers are trusted.",{"type":37,"tag":113,"props":3825,"children":3827},{"id":3826},"pattern-b-replace-one-tool-at-a-time",[3828],{"type":42,"value":3829},"Pattern B: replace one tool at a time",{"type":37,"tag":38,"props":3831,"children":3832},{},[3833],{"type":42,"value":3834},"Do not announce a BI replatform. Pick one pain, like ad-hoc Slack questions currently answered by a data engineer, and solve that with an AI analyst. Once the team is hooked, expand scope. This is how Bruin typically gets adopted in SaaS companies.",{"type":37,"tag":113,"props":3836,"children":3838},{"id":3837},"pattern-c-ai-analyst-plus-trimmed-dashboards",[3839],{"type":42,"value":3840},"Pattern C: AI analyst plus trimmed dashboards",{"type":37,"tag":38,"props":3842,"children":3843},{},[3844],{"type":42,"value":3845},"Keep the 10 dashboards that get daily attention. Retire the rest. Let the AI handle the long tail of questions the retired dashboards used to answer (poorly).",{"type":37,"tag":55,"props":3847,"children":3849},{"id":3848},"where-most-saas-teams-land",[3850],{"type":42,"value":3851},"Where most SaaS teams land",{"type":37,"tag":38,"props":3853,"children":3854},{},[3855],{"type":42,"value":3856},"After dozens of conversations with SaaS data leaders evaluating this space in 2026, the pattern is pretty consistent:",{"type":37,"tag":72,"props":3858,"children":3859},{},[3860,3865,3870,3875,3880],{"type":37,"tag":76,"props":3861,"children":3862},{},[3863],{"type":42,"value":3864},"Series A to C SaaS (20 to 300 people): usually pick Bruin. Slack-native, business teams self-serve, pipeline included, and the open-source core lets engineering start free.",{"type":37,"tag":76,"props":3866,"children":3867},{},[3868],{"type":42,"value":3869},"Growth-stage with a mature pipeline: often try Dot or Bruin as the analyst layer on top of existing Fivetran plus dbt.",{"type":37,"tag":76,"props":3871,"children":3872},{},[3873],{"type":42,"value":3874},"Late-stage or enterprise with a BI replacement budget: ThoughtSpot or Power BI with Copilot, typically replacing Tableau or Looker.",{"type":37,"tag":76,"props":3876,"children":3877},{},[3878],{"type":42,"value":3879},"Analyst-heavy teams with notebook DNA: Hex for the workspace plus a lighter AI layer for business users.",{"type":37,"tag":76,"props":3881,"children":3882},{},[3883],{"type":42,"value":3884},"Embedded analytics (AI for your end customers): Defog.ai or Bruin's API, depending on whether you want a model to fine-tune or a finished analyst to embed.",{"type":37,"tag":55,"props":3886,"children":3888},{"id":3887},"getting-started",[3889],{"type":42,"value":3890},"Getting started",{"type":37,"tag":38,"props":3892,"children":3893},{},[3894,3896,3902,3904,3908],{"type":42,"value":3895},"If you want to see Bruin live (conversational AI analyst in Slack, Teams, WhatsApp, and browser, plus the pipeline underneath), the ",{"type":37,"tag":360,"props":3897,"children":3899},{"href":586,"rel":3898},[588],[3900],{"type":42,"value":3901},"Bruin CLI",{"type":42,"value":3903}," is open source, the product has a free tier, and you can ",{"type":37,"tag":360,"props":3905,"children":3906},{"href":596},[3907],{"type":42,"value":2749},{"type":42,"value":3909}," to see it against your own data.",{"type":37,"tag":38,"props":3911,"children":3912},{},[3913,3915,3921,3923,3929,3930,3936,3937,3943,3944,3950,3952,3958],{"type":42,"value":3914},"For specific head-to-head breakdowns, we also keep honest comparison pages up to date for ",{"type":37,"tag":360,"props":3916,"children":3918},{"href":3917},"/comparisons/thoughtspot-vs-bruin/",[3919],{"type":42,"value":3920},"ThoughtSpot vs Bruin",{"type":42,"value":3922},", ",{"type":37,"tag":360,"props":3924,"children":3926},{"href":3925},"/comparisons/hex-vs-bruin/",[3927],{"type":42,"value":3928},"Hex vs Bruin",{"type":42,"value":3922},{"type":37,"tag":360,"props":3931,"children":3933},{"href":3932},"/comparisons/claude-vs-bruin/",[3934],{"type":42,"value":3935},"Claude vs Bruin",{"type":42,"value":3922},{"type":37,"tag":360,"props":3938,"children":3940},{"href":3939},"/comparisons/dot-ai-vs-bruin/",[3941],{"type":42,"value":3942},"Dot vs Bruin",{"type":42,"value":3922},{"type":37,"tag":360,"props":3945,"children":3947},{"href":3946},"/comparisons/power-bi-copilot-vs-bruin/",[3948],{"type":42,"value":3949},"Power BI Copilot vs Bruin",{"type":42,"value":3951},", and ",{"type":37,"tag":360,"props":3953,"children":3955},{"href":3954},"/comparisons/defog-ai-vs-bruin/",[3956],{"type":42,"value":3957},"Defog.ai vs Bruin",{"type":42,"value":2819},{"type":37,"tag":38,"props":3960,"children":3961},{},[3962],{"type":42,"value":3963},"The short version: pick the tool whose distribution model matches how your team actually asks questions. In 2026, for most SaaS companies, that is Slack.",{"type":37,"tag":55,"props":3965,"children":3966},{"id":622},[3967],{"type":42,"value":625},{"type":37,"tag":113,"props":3969,"children":3971},{"id":3970},"what-is-the-best-ai-data-analyst-for-saas",[3972],{"type":42,"value":3973},"What is the best AI data analyst for SaaS?",{"type":37,"tag":38,"props":3975,"children":3976},{},[3977],{"type":42,"value":3978},"For most SaaS companies in the 20 to 500 person range, Bruin is the best all-around fit. It lives in Slack, Teams, and WhatsApp where teams already work, includes the full data pipeline so you do not have to assemble Fivetran, dbt, Airflow, and observability separately, and has pricing that does not penalize broad adoption. For enterprise-scale SaaS already replacing Tableau, ThoughtSpot is a stronger pick. For analyst-heavy data teams, Hex remains excellent.",{"type":37,"tag":113,"props":3980,"children":3982},{"id":3981},"what-are-the-best-ai-data-analysts-that-integrate-with-slack",[3983],{"type":42,"value":3984},"What are the best AI data analysts that integrate with Slack?",{"type":37,"tag":38,"props":3986,"children":3987},{},[3988],{"type":42,"value":3989},"The serious chat-native AI analysts in 2026 are Bruin, Dot, and ThoughtSpot (via its Slack integration). Bruin covers Slack, Microsoft Teams, Discord, WhatsApp, and a browser with the same experience. Dot covers Slack, Teams, and email. ThoughtSpot's Slack support is a thinner bridge to its web app.",{"type":37,"tag":113,"props":3991,"children":3993},{"id":3992},"which-ai-data-analysts-integrate-with-whatsapp",[3994],{"type":42,"value":3995},"Which AI data analysts integrate with WhatsApp?",{"type":37,"tag":38,"props":3997,"children":3998},{},[3999,4000,4004],{"type":42,"value":2771},{"type":37,"tag":360,"props":4001,"children":4002},{"href":2442},[4003],{"type":42,"value":2776},{"type":42,"value":4005},", which matters for field, sales, and partner teams outside North America. Most competitors are Slack-only or browser-only.",{"type":37,"tag":113,"props":4007,"children":4009},{"id":4008},"what-are-the-best-ai-tools-for-business-intelligence-in-2026",[4010],{"type":42,"value":4011},"What are the best AI tools for business intelligence in 2026?",{"type":37,"tag":38,"props":4013,"children":4014},{},[4015],{"type":42,"value":4016},"For broad-team business intelligence (not just analysts), the shortlist is Bruin, ThoughtSpot, and Power BI Copilot. Bruin wins on distribution (meets users in Slack, Teams, and WhatsApp). ThoughtSpot wins on rich dashboards and embedded analytics. Power BI Copilot wins if you are already in the Microsoft ecosystem.",{"type":37,"tag":113,"props":4018,"children":4020},{"id":4019},"what-is-the-best-ai-data-analyst-for-ecommerce",[4021],{"type":42,"value":4022},"What is the best AI data analyst for ecommerce?",{"type":37,"tag":38,"props":4024,"children":4025},{},[4026],{"type":42,"value":4027},"For ecommerce, the critical integrations are Shopify, Stripe, Google Analytics, Meta Ads, Google Ads, TikTok, and your warehouse (usually Snowflake or BigQuery). Bruin is the strongest fit because it has native connectors for all of these plus transformation and an AI analyst on top. ThoughtSpot works well for ecommerce brands that already have a warehouse team.",{"type":37,"tag":113,"props":4029,"children":4031},{"id":4030},"what-is-the-best-ai-data-analyst-for-gaming",[4032],{"type":42,"value":4033},"What is the best AI data analyst for gaming?",{"type":37,"tag":38,"props":4035,"children":4036},{},[4037],{"type":42,"value":4038},"Gaming studios, especially mobile, need live-event monitoring, player metrics, and cross-platform analytics (iOS, Android, Steam, console). Bruin fits well because live-ops managers can ask questions in Slack or Discord during events, and the pipeline ingests Firebase, Adjust, AppsFlyer, and store data. For large studios already on ThoughtSpot or Tableau, adding Bruin as the conversational layer works well.",{"type":37,"tag":113,"props":4040,"children":4041},{"id":657},[4042],{"type":42,"value":660},{"type":37,"tag":38,"props":4044,"children":4045},{},[4046],{"type":42,"value":4047},"The best natural-language-to-SQL-and-dashboard tools are Bruin (Slack, Teams, and WhatsApp-first, plus AI dashboards), ThoughtSpot (search-driven BI with liveboards), Hex (notebooks with the Notebook Agent plus data apps), and Power BI Copilot. For raw text-to-SQL without the full analyst experience, Defog.ai is the open-source option.",{"type":37,"tag":113,"props":4049,"children":4050},{"id":745},[4051],{"type":42,"value":748},{"type":37,"tag":38,"props":4053,"children":4054},{},[4055],{"type":42,"value":4056},"All of the serious tools do. Bruin, ThoughtSpot, Hex, Dot, Seek AI, and Defog.ai all connect to Snowflake, BigQuery, Databricks, and Redshift natively. Bruin additionally connects to Postgres, ClickHouse, DuckDB, MySQL, and SQL Server via its open-source ingestr connectors.",{"type":37,"tag":113,"props":4058,"children":4059},{"id":756},[4060],{"type":42,"value":759},{"type":37,"tag":38,"props":4062,"children":4063},{},[4064],{"type":42,"value":764},{"type":37,"tag":113,"props":4066,"children":4067},{"id":778},[4068],{"type":42,"value":781},{"type":37,"tag":38,"props":4070,"children":4071},{},[4072],{"type":42,"value":786},{"type":37,"tag":113,"props":4074,"children":4075},{"id":811},[4076],{"type":42,"value":814},{"type":37,"tag":38,"props":4078,"children":4079},{},[4080],{"type":42,"value":819},{"type":37,"tag":113,"props":4082,"children":4083},{"id":668},[4084],{"type":42,"value":671},{"type":37,"tag":38,"props":4086,"children":4087},{},[4088,4090,4095],{"type":42,"value":4089},"Bruin (via ",{"type":37,"tag":360,"props":4091,"children":4092},{"href":362},[4093],{"type":42,"value":4094},"AI Dashboards",{"type":42,"value":4096},") lets you describe a dashboard and have it generated. ThoughtSpot generates liveboards from search queries. Hex can scaffold notebooks and apps via the Notebook Agent. Power BI Copilot can generate Power BI reports from prompts.",{"type":37,"tag":113,"props":4098,"children":4100},{"id":4099},"which-ai-tools-let-sales-and-ops-teams-ask-data-questions-in-slack",[4101],{"type":42,"value":4102},"Which AI tools let sales and ops teams ask data questions in Slack?",{"type":37,"tag":38,"props":4104,"children":4105},{},[4106],{"type":42,"value":4107},"The tools purpose-built for this are Bruin and Dot. ThoughtSpot has a Slack integration but the primary experience is still its web app. Bruin is the best fit when you also want Teams, Discord, and WhatsApp coverage for the same team.",{"type":37,"tag":113,"props":4109,"children":4111},{"id":4110},"whats-the-difference-between-an-ai-data-analyst-and-just-using-chatgpt-on-my-data",[4112],{"type":42,"value":4113},"What's the difference between an AI data analyst and just using ChatGPT on my data?",{"type":37,"tag":38,"props":4115,"children":4116},{},[4117],{"type":42,"value":4118},"Three things: governance, persistence, and scope. ChatGPT can chat with a CSV you upload, but it does not connect persistently to your warehouse, does not enforce shared metric definitions, and does not have row-level access control. An AI data analyst like Bruin connects to your live data, enforces a governed semantic layer (so \"revenue\" means the same thing for everyone), and has audit logs and permissions. ChatGPT is great for one-off exploration. It is not a team-wide self-serve solution.",{"type":37,"tag":113,"props":4120,"children":4121},{"id":723},[4122],{"type":42,"value":726},{"type":37,"tag":38,"props":4124,"children":4125},{},[4126],{"type":42,"value":731},{"type":37,"tag":113,"props":4128,"children":4130},{"id":4129},"can-ai-tools-replace-traditional-bi-dashboards",[4131],{"type":42,"value":4132},"Can AI tools replace traditional BI dashboards?",{"type":37,"tag":38,"props":4134,"children":4135},{},[4136],{"type":42,"value":4137},"Partially. AI analysts replace the long tail of ad-hoc questions that previously went through a BI request queue. Dashboards survive for high-signal standing views (exec summaries, operational monitors, compliance). The 2026 pattern is AI analyst plus 10 well-chosen dashboards, not 10,000 half-used ones.",{"type":37,"tag":113,"props":4139,"children":4141},{"id":4140},"which-ai-data-analyst-tools-work-with-slack-and-also-have-an-api",[4142],{"type":42,"value":4143},"Which AI data analyst tools work with Slack and also have an API?",{"type":37,"tag":38,"props":4145,"children":4146},{},[4147],{"type":42,"value":4148},"Bruin and Seek AI are the cleanest matches. Both have Slack integration and an API. Bruin is usually the first choice for SaaS because it also covers Teams, Discord, and WhatsApp, and includes the data pipeline.",{"type":37,"tag":113,"props":4150,"children":4151},{"id":822},[4152],{"type":42,"value":825},{"type":37,"tag":38,"props":4154,"children":4155},{},[4156],{"type":42,"value":4157},"For non-technical users, Bruin and Dot are the easiest because they run in Slack and Teams. There is no new app to learn. ThoughtSpot's search interface is also approachable. Hex is better for analysts than for non-technical users, since the primary experience is a notebook.",{"title":7,"searchDepth":832,"depth":832,"links":4159},[4160,4161,4171,4177,4178,4179,4184,4185,4186],{"id":3024,"depth":832,"text":3027},{"id":3068,"depth":832,"text":3071,"children":4162},[4163,4164,4165,4166,4167,4168,4169,4170],{"id":3079,"depth":838,"text":3082},{"id":3110,"depth":838,"text":3113},{"id":3141,"depth":838,"text":3144},{"id":3172,"depth":838,"text":3175},{"id":3203,"depth":838,"text":3206},{"id":3234,"depth":838,"text":3237},{"id":3265,"depth":838,"text":3268},{"id":3296,"depth":838,"text":3299},{"id":3327,"depth":832,"text":3330,"children":4172},[4173,4174,4175,4176],{"id":3338,"depth":838,"text":3341},{"id":3354,"depth":838,"text":3357},{"id":3375,"depth":838,"text":3378},{"id":3391,"depth":838,"text":3394},{"id":3407,"depth":832,"text":3410},{"id":3752,"depth":832,"text":3755},{"id":3804,"depth":832,"text":3807,"children":4180},[4181,4182,4183],{"id":3815,"depth":838,"text":3818},{"id":3826,"depth":838,"text":3829},{"id":3837,"depth":838,"text":3840},{"id":3848,"depth":832,"text":3851},{"id":3887,"depth":832,"text":3890},{"id":622,"depth":832,"text":625,"children":4187},[4188,4189,4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205],{"id":3970,"depth":838,"text":3973},{"id":3981,"depth":838,"text":3984},{"id":3992,"depth":838,"text":3995},{"id":4008,"depth":838,"text":4011},{"id":4019,"depth":838,"text":4022},{"id":4030,"depth":838,"text":4033},{"id":657,"depth":838,"text":660},{"id":745,"depth":838,"text":748},{"id":756,"depth":838,"text":759},{"id":778,"depth":838,"text":781},{"id":811,"depth":838,"text":814},{"id":668,"depth":838,"text":671},{"id":4099,"depth":838,"text":4102},{"id":4110,"depth":838,"text":4113},{"id":723,"depth":838,"text":726},{"id":4129,"depth":838,"text":4132},{"id":4140,"depth":838,"text":4143},{"id":822,"depth":838,"text":825},"content:blog:best-ai-data-analysts-saas-2026.md","blog/best-ai-data-analysts-saas-2026.md","blog/best-ai-data-analysts-saas-2026",{"_path":4210,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":4211,"description":4212,"coverImage":4213,"date":4214,"readingTime":4215,"category":13,"tags":4216,"author":4225,"body":4229,"_type":883,"_id":5300,"_source":885,"_file":5301,"_stem":5302,"_extension":888},"/blog/bruin-mcp-launch","Introducing Bruin MCP: Your AI Agent's Data Toolkit","Bruin now supports the Model Context Protocol, letting AI agents in Cursor, Claude Code, and other editors query databases, ingest data, compare tables, and build pipelines—all through natural language.","/img/blog/covers/mcp-launch.png","2025-11-13",6,[4217,4218,4219,4220,4221,4222,4223,4224],"MCP","AI","Claude","Cursor","automation","developer tools","open source","data platform",{"name":4226,"role":4227,"image":4228},"Burak Karakan","Co-founder & CEO","/img/blog/burak.jpeg",{"type":34,"children":4230,"toc":5277},[4231,4243,4248,4260,4266,4280,4285,4308,4313,4319,4324,4352,4357,4362,4367,4410,4416,4421,4431,4436,4448,4454,4475,4480,4494,4500,4505,4541,4546,4551,4556,4562,4567,4573,4587,4595,4608,4614,4628,4636,4650,4656,4661,4669,4674,4680,4693,4701,4706,4712,4717,4725,4730,4736,4741,4749,4754,4760,4765,4776,4781,4825,4839,4845,4852,4896,4902,4914,4991,4997,5009,5042,5048,5053,5085,5090,5108,5122,5128,5133,5184,5190,5202,5252,5266,5271],{"type":37,"tag":38,"props":4232,"children":4233},{},[4234,4236,4241],{"type":42,"value":4235},"We're excited to announce that ",{"type":37,"tag":360,"props":4237,"children":4239},{"href":586,"rel":4238},[588],[4240],{"type":42,"value":3901},{"type":42,"value":4242}," now supports the Model Context Protocol (MCP), bringing the full power of Bruin's data capabilities to your AI editor.",{"type":37,"tag":38,"props":4244,"children":4245},{},[4246],{"type":42,"value":4247},"With Bruin MCP, you can ask your AI agent to query databases, ingest data from dozens of sources, compare tables across environments, build complete pipelines, and more—all without leaving your editor.",{"type":37,"tag":4249,"props":4250,"children":4259},"iframe",{"width":4251,"height":4252,"src":4253,"title":4254,"frameBorder":4255,"allow":4256,"allowFullScreen":4257,"style":4258},"100%",400,"https://www.youtube.com/embed/604wuKeTP6U","Introducing Bruin MCP","0","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",true,"border-radius: 12px; margin: 1.5rem 0;",[],{"type":37,"tag":55,"props":4261,"children":4263},{"id":4262},"what-is-mcp",[4264],{"type":42,"value":4265},"What is MCP?",{"type":37,"tag":38,"props":4267,"children":4268},{},[4269,4271,4278],{"type":42,"value":4270},"The ",{"type":37,"tag":360,"props":4272,"children":4275},{"href":4273,"rel":4274},"https://modelcontextprotocol.io/",[588],[4276],{"type":42,"value":4277},"Model Context Protocol",{"type":42,"value":4279}," is an open standard that lets AI agents interact with external tools and data sources. Think of it as a universal adapter that connects AI models to real-world systems.",{"type":37,"tag":38,"props":4281,"children":4282},{},[4283],{"type":42,"value":4284},"Rather than just generating code suggestions, MCP-enabled AI agents can:",{"type":37,"tag":72,"props":4286,"children":4287},{},[4288,4293,4298,4303],{"type":37,"tag":76,"props":4289,"children":4290},{},[4291],{"type":42,"value":4292},"Execute commands and read their output",{"type":37,"tag":76,"props":4294,"children":4295},{},[4296],{"type":42,"value":4297},"Query databases and APIs",{"type":37,"tag":76,"props":4299,"children":4300},{},[4301],{"type":42,"value":4302},"Access documentation and tool capabilities",{"type":37,"tag":76,"props":4304,"children":4305},{},[4306],{"type":42,"value":4307},"Perform multi-step workflows",{"type":37,"tag":38,"props":4309,"children":4310},{},[4311],{"type":42,"value":4312},"In short, MCP transforms AI assistants from code generators into active participants in your workflow.",{"type":37,"tag":55,"props":4314,"children":4316},{"id":4315},"why-we-built-bruin-mcp",[4317],{"type":42,"value":4318},"Why we built Bruin MCP",{"type":37,"tag":38,"props":4320,"children":4321},{},[4322],{"type":42,"value":4323},"Bruin has been built with a few design decisions in mind:",{"type":37,"tag":72,"props":4325,"children":4326},{},[4327,4332,4337,4342,4347],{"type":37,"tag":76,"props":4328,"children":4329},{},[4330],{"type":42,"value":4331},"Bruin supports Eend-to-end data pipelines, from ingestion to transformation to quality checks",{"type":37,"tag":76,"props":4333,"children":4334},{},[4335],{"type":42,"value":4336},"All the steps of the pipeline are stored as text, and can be versioned and managed as code.",{"type":37,"tag":76,"props":4338,"children":4339},{},[4340],{"type":42,"value":4341},"No UI needed, just a simple CLI tool.",{"type":37,"tag":76,"props":4343,"children":4344},{},[4345],{"type":42,"value":4346},"The CLI can run across different query engines, databases, and environments.",{"type":37,"tag":76,"props":4348,"children":4349},{},[4350],{"type":42,"value":4351},"Everything runs locally",{"type":37,"tag":38,"props":4353,"children":4354},{},[4355],{"type":42,"value":4356},"These design decisions were made to make humans productive with data. All of our tooling, product decisions, and engineering efforts are focused on increasing productivity of data teams.",{"type":37,"tag":38,"props":4358,"children":4359},{},[4360],{"type":42,"value":4361},"When the AI agents came into our lives earlier this year, it became apparent to us that the investment we made in making humans productive would also benefit the AI agents. This was a fundamental shift in our thinking. The agents would soon become our partners in productivity, and data teams would need to benefit from this as well.",{"type":37,"tag":38,"props":4363,"children":4364},{},[4365],{"type":42,"value":4366},"The fact that we built everything as code, and as a CLI tool, made it easy to bring AI agents into the game. This is why we built Bruin MCP.",{"type":37,"tag":38,"props":4368,"children":4369},{},[4370,4372,4377,4379,4385,4386,4393,4394,4401,4403,4409],{"type":42,"value":4371},"By bridging ",{"type":37,"tag":360,"props":4373,"children":4375},{"href":586,"rel":4374},[588],[4376],{"type":42,"value":3901},{"type":42,"value":4378}," with MCP-compatible editors like ",{"type":37,"tag":360,"props":4380,"children":4383},{"href":4381,"rel":4382},"https://cursor.sh/",[588],[4384],{"type":42,"value":4220},{"type":42,"value":3922},{"type":37,"tag":360,"props":4387,"children":4390},{"href":4388,"rel":4389},"https://claude.ai/",[588],[4391],{"type":42,"value":4392},"Claude Code",{"type":42,"value":3951},{"type":37,"tag":360,"props":4395,"children":4398},{"href":4396,"rel":4397},"https://codex.ai/",[588],[4399],{"type":42,"value":4400},"Codex",{"type":42,"value":4402},", we're enabling a fundamentally different way to work with data: ",{"type":37,"tag":4404,"props":4405,"children":4406},"strong",{},[4407],{"type":42,"value":4408},"conversational data engineering",{"type":42,"value":2819},{"type":37,"tag":55,"props":4411,"children":4413},{"id":4412},"should-cli-tools-even-use-mcp",[4414],{"type":42,"value":4415},"Should CLI tools even use MCP?",{"type":37,"tag":38,"props":4417,"children":4418},{},[4419],{"type":42,"value":4420},"In its core, MCP is a simple protocol: it exposes tools, and AI agents call these tools. The idea is that external systems would have their own MCP servers, and the AI agents would interact with these systems without having to navigate UI, or learn new commands.",{"type":37,"tag":38,"props":4422,"children":4423},{},[4424,4426],{"type":42,"value":4425},"While this abstraction might work for some, we ran into a fundamental question: ",{"type":37,"tag":4404,"props":4427,"children":4428},{},[4429],{"type":42,"value":4430},"does MCP even make sense for CLI tools?",{"type":37,"tag":38,"props":4432,"children":4433},{},[4434],{"type":42,"value":4435},"Think about it for a minute: CLI tools are designed to be executed in a terminal, and the output is typically text. The AI agents are really good at understanding text, and executing shell commands. Why do we need MCP for CLI tools?",{"type":37,"tag":38,"props":4437,"children":4438},{},[4439,4441,4446],{"type":42,"value":4440},"There's another challenge: ",{"type":37,"tag":360,"props":4442,"children":4444},{"href":586,"rel":4443},[588],[4445],{"type":42,"value":3901},{"type":42,"value":4447}," has quite a lot of functionality, which means that for all of our high-level commands, as well as their subcommands, we would need to implement separate tools. This would be a lot of work, and would also fill the context window of the AI agents quickly.",{"type":37,"tag":55,"props":4449,"children":4451},{"id":4450},"mcp-or-not-mcp",[4452],{"type":42,"value":4453},"MCP-or-not-MCP?",{"type":37,"tag":38,"props":4455,"children":4456},{},[4457,4459,4464,4466,4473],{"type":42,"value":4458},"Our first version of making AI agents use ",{"type":37,"tag":360,"props":4460,"children":4462},{"href":586,"rel":4461},[588],[4463],{"type":42,"value":3901},{"type":42,"value":4465}," was to use the ",{"type":37,"tag":4467,"props":4468,"children":4470},"code",{"className":4469},[],[4471],{"type":42,"value":4472},"AGENTS.md",{"type":42,"value":4474}," files. In these files, we would manually describe a few Bruin CLI commands, and how to use them. This was a quick and dirty way to get started, which allowed us to bring AI into Bruin workflows quickly. While this worked nicely, this meant that every command would need to be manually described, and the AI agents would need to learn the syntax of the commands. This was not fit for going to production.",{"type":37,"tag":38,"props":4476,"children":4477},{},[4478],{"type":42,"value":4479},"While playing around with different AI agents, an idea popped into our heads: AI agents are really good at navigating files and directories, and executing commands in a terminal. Why not use this to our advantage?",{"type":37,"tag":38,"props":4481,"children":4482},{},[4483,4485,4492],{"type":42,"value":4484},"We have a ",{"type":37,"tag":360,"props":4486,"children":4489},{"href":4487,"rel":4488},"https://getbruin.com/docs/bruin/",[588],[4490],{"type":42,"value":4491},"decent documentation",{"type":42,"value":4493}," for our CLI, and the documentation is already in markdown format. Why not use this to our advantage? Could we make the MCP server read the documentation, and execute the commands based on the documentation?",{"type":37,"tag":55,"props":4495,"children":4497},{"id":4496},"a-creative-way-to-use-mcp",[4498],{"type":42,"value":4499},"A creative way to use MCP",{"type":37,"tag":38,"props":4501,"children":4502},{},[4503],{"type":42,"value":4504},"This thought process led us to the current design of Bruin MCP, which consists of 3 simple tools:",{"type":37,"tag":72,"props":4506,"children":4507},{},[4508,4519,4530],{"type":37,"tag":76,"props":4509,"children":4510},{},[4511,4517],{"type":37,"tag":4467,"props":4512,"children":4514},{"className":4513},[],[4515],{"type":42,"value":4516},"bruin_get_overview",{"type":42,"value":4518},": Tell the agent the basics of Bruin, what it does, and how to use it.",{"type":37,"tag":76,"props":4520,"children":4521},{},[4522,4528],{"type":37,"tag":4467,"props":4523,"children":4525},{"className":4524},[],[4526],{"type":42,"value":4527},"bruin_get_docs_tree",{"type":42,"value":4529},": Get the tree of the documentation, and the commands available.",{"type":37,"tag":76,"props":4531,"children":4532},{},[4533,4539],{"type":37,"tag":4467,"props":4534,"children":4536},{"className":4535},[],[4537],{"type":42,"value":4538},"bruin_get_doc_content",{"type":42,"value":4540},": Read the content of a specific documentation file.",{"type":37,"tag":38,"props":4542,"children":4543},{},[4544],{"type":42,"value":4545},"This means that the AI agent can navigate the documentation by itself, and execute the CLI commands based on the documentation using the shell.",{"type":37,"tag":38,"props":4547,"children":4548},{},[4549],{"type":42,"value":4550},"The beauty of this approach is that it is incredibly simple, flexible, and very easy to maintain. Every new feature we document is automatically available to the AI agent. Any agent that can call tools can immediately start using Bruin MCP. All without us having to maintain a separate tool for each command.",{"type":37,"tag":38,"props":4552,"children":4553},{},[4554],{"type":42,"value":4555},"This is more of an opinionated approach, and we're open to feedback on this. At this point, it feels like MCP servers does not really make much sense for CLI tools, other than just exposing documentation about the tool itself.",{"type":37,"tag":55,"props":4557,"children":4559},{"id":4558},"what-you-can-do-with-bruin-mcp",[4560],{"type":42,"value":4561},"What you can do with Bruin MCP",{"type":37,"tag":38,"props":4563,"children":4564},{},[4565],{"type":42,"value":4566},"Bruin allows you to build end-to-end pipelines, which means any data engineering task you have can be (partially?) automated with AI agents using Bruin MCP.",{"type":37,"tag":113,"props":4568,"children":4570},{"id":4569},"_1-query-any-database",[4571],{"type":42,"value":4572},"1. Query any database",{"type":37,"tag":38,"props":4574,"children":4575},{},[4576,4578,4585],{"type":42,"value":4577},"Ask your AI agent to run SQL queries across PostgreSQL, BigQuery, Snowflake, DuckDB, and ",{"type":37,"tag":360,"props":4579,"children":4582},{"href":4580,"rel":4581},"https://getbruin.com/docs/bruin/#supported-platforms",[588],[4583],{"type":42,"value":4584},"many more platforms",{"type":42,"value":4586},":",{"type":37,"tag":2347,"props":4588,"children":4589},{},[4590],{"type":37,"tag":38,"props":4591,"children":4592},{},[4593],{"type":42,"value":4594},"\"What's the total revenue by product category this quarter?\"",{"type":37,"tag":38,"props":4596,"children":4597},{},[4598,4600,4606],{"type":42,"value":4599},"Your AI agent connects to your configured databases, runs the query, and shows you the results—no context switching required. It uses ",{"type":37,"tag":4467,"props":4601,"children":4603},{"className":4602},[],[4604],{"type":42,"value":4605},"bruin query",{"type":42,"value":4607}," commands to run queries using the pre-configured connections you have defined.",{"type":37,"tag":113,"props":4609,"children":4611},{"id":4610},"_2-ingest-data-from-anywhere",[4612],{"type":42,"value":4613},"2. Ingest data from anywhere",{"type":37,"tag":38,"props":4615,"children":4616},{},[4617,4619,4626],{"type":42,"value":4618},"Bruin supports ",{"type":37,"tag":360,"props":4620,"children":4623},{"href":4621,"rel":4622},"https://getbruin.com/docs/bruin/ingestion/overview.html",[588],[4624],{"type":42,"value":4625},"60+ data sources",{"type":42,"value":4627}," through our open-source ingestion framework. With MCP, you can trigger ingestion with plain English:",{"type":37,"tag":2347,"props":4629,"children":4630},{},[4631],{"type":37,"tag":38,"props":4632,"children":4633},{},[4634],{"type":42,"value":4635},"\"Bring all my Shopify order data from last week into BigQuery.\"",{"type":37,"tag":38,"props":4637,"children":4638},{},[4639,4641,4648],{"type":42,"value":4640},"The AI agent writes the ingestion config, executes it, and confirms when the data is loaded. What used to take 30 minutes of reading docs and writing config now takes 30 seconds of typing a sentence. It uses ",{"type":37,"tag":360,"props":4642,"children":4645},{"href":4643,"rel":4644},"https://getbruin.com/docs/bruin/assets/ingestr.html#ingestr-assets",[588],[4646],{"type":42,"value":4647},"ingestr assets",{"type":42,"value":4649}," for Shopify, Stripe, Google Sheets, and many more sources.",{"type":37,"tag":113,"props":4651,"children":4653},{"id":4652},"_3-update-your-sql-data-assets",[4654],{"type":42,"value":4655},"3. Update your SQL data assets",{"type":37,"tag":38,"props":4657,"children":4658},{},[4659],{"type":42,"value":4660},"Bruin allows you to define your SQL data assets as code, and version them. With MCP, you can update the SQL data assets with plain English:",{"type":37,"tag":2347,"props":4662,"children":4663},{},[4664],{"type":37,"tag":38,"props":4665,"children":4666},{},[4667],{"type":42,"value":4668},"\"Update the users table to add a new column for the user's phone number, and set it to required.\"",{"type":37,"tag":38,"props":4670,"children":4671},{},[4672],{"type":42,"value":4673},"The AI agent updates the SQL data asset, and confirms when the data is loaded.",{"type":37,"tag":113,"props":4675,"children":4677},{"id":4676},"_4-compare-tables-across-environments",[4678],{"type":42,"value":4679},"4. Compare tables across environments",{"type":37,"tag":38,"props":4681,"children":4682},{},[4683,4685,4691],{"type":42,"value":4684},"One of the hardest parts of data pipeline development is validating that your changes produce the correct output. Bruin's built-in ",{"type":37,"tag":4467,"props":4686,"children":4688},{"className":4687},[],[4689],{"type":42,"value":4690},"data-diff",{"type":42,"value":4692}," command makes this easy, and MCP makes it trivial:",{"type":37,"tag":2347,"props":4694,"children":4695},{},[4696],{"type":37,"tag":38,"props":4697,"children":4698},{},[4699],{"type":42,"value":4700},"\"Compare the users table between dev and prod.\"",{"type":37,"tag":38,"props":4702,"children":4703},{},[4704],{"type":42,"value":4705},"The AI agent runs the comparison, highlights differences, and helps you diagnose discrepancies—all in a conversational thread.",{"type":37,"tag":113,"props":4707,"children":4709},{"id":4708},"_5-build-complete-pipelines",[4710],{"type":42,"value":4711},"5. Build complete pipelines",{"type":37,"tag":38,"props":4713,"children":4714},{},[4715],{"type":42,"value":4716},"Bruin MCP has access to up-to-date Bruin documentation, meaning your AI agent can scaffold entire pipelines based on best practices:",{"type":37,"tag":2347,"props":4718,"children":4719},{},[4720],{"type":37,"tag":38,"props":4721,"children":4722},{},[4723],{"type":42,"value":4724},"\"Create a pipeline that ingests Stripe data daily, calculates MRR by plan, and runs freshness checks.\"",{"type":37,"tag":38,"props":4726,"children":4727},{},[4728],{"type":42,"value":4729},"The agent creates the pipeline structure, writes SQL transformations, adds quality checks, and even suggests materialization strategies—then validates the pipeline before you run it.",{"type":37,"tag":113,"props":4731,"children":4733},{"id":4732},"_6-get-instant-documentation-help",[4734],{"type":42,"value":4735},"6. Get instant documentation help",{"type":37,"tag":38,"props":4737,"children":4738},{},[4739],{"type":42,"value":4740},"No more switching to a browser to search docs:",{"type":37,"tag":2347,"props":4742,"children":4743},{},[4744],{"type":37,"tag":38,"props":4745,"children":4746},{},[4747],{"type":42,"value":4748},"\"How do I set up a Snowflake connection in Bruin?\"",{"type":37,"tag":38,"props":4750,"children":4751},{},[4752],{"type":42,"value":4753},"The AI agent fetches the relevant documentation, shows you the configuration format, and can even add the connection for you if you provide credentials.",{"type":37,"tag":55,"props":4755,"children":4757},{"id":4756},"how-to-get-started",[4758],{"type":42,"value":4759},"How to get started",{"type":37,"tag":38,"props":4761,"children":4762},{},[4763],{"type":42,"value":4764},"Setting up Bruin MCP takes less than a minute.",{"type":37,"tag":113,"props":4766,"children":4768},{"id":4767},"step-1-install-bruin-cli",[4769,4771],{"type":42,"value":4770},"Step 1: Install ",{"type":37,"tag":360,"props":4772,"children":4774},{"href":586,"rel":4773},[588],[4775],{"type":42,"value":3901},{"type":37,"tag":38,"props":4777,"children":4778},{},[4779],{"type":42,"value":4780},"If you haven't already:",{"type":37,"tag":4782,"props":4783,"children":4787},"pre",{"className":4784,"code":4785,"language":4786,"meta":7,"style":7},"language-bash shiki shiki-themes github-dark","curl -LsSf https://getbruin.com/install/cli | sh\n","bash",[4788],{"type":37,"tag":4467,"props":4789,"children":4790},{"__ignoreMap":7},[4791],{"type":37,"tag":2372,"props":4792,"children":4795},{"class":4793,"line":4794},"line",1,[4796,4802,4808,4814,4820],{"type":37,"tag":2372,"props":4797,"children":4799},{"style":4798},"--shiki-default:#B392F0",[4800],{"type":42,"value":4801},"curl",{"type":37,"tag":2372,"props":4803,"children":4805},{"style":4804},"--shiki-default:#79B8FF",[4806],{"type":42,"value":4807}," -LsSf",{"type":37,"tag":2372,"props":4809,"children":4811},{"style":4810},"--shiki-default:#9ECBFF",[4812],{"type":42,"value":4813}," https://getbruin.com/install/cli",{"type":37,"tag":2372,"props":4815,"children":4817},{"style":4816},"--shiki-default:#F97583",[4818],{"type":42,"value":4819}," |",{"type":37,"tag":2372,"props":4821,"children":4822},{"style":4798},[4823],{"type":42,"value":4824}," sh\n",{"type":37,"tag":38,"props":4826,"children":4827},{},[4828,4830,4837],{"type":42,"value":4829},"Or follow the ",{"type":37,"tag":360,"props":4831,"children":4834},{"href":4832,"rel":4833},"https://getbruin.com/docs/bruin/getting-started/introduction/installation.html",[588],[4835],{"type":42,"value":4836},"installation guide",{"type":42,"value":4838}," for other platforms.",{"type":37,"tag":113,"props":4840,"children":4842},{"id":4841},"step-2-configure-your-editor",[4843],{"type":42,"value":4844},"Step 2: Configure Your Editor",{"type":37,"tag":4846,"props":4847,"children":4849},"h4",{"id":4848},"for-claude-code",[4850],{"type":42,"value":4851},"For Claude Code:",{"type":37,"tag":4782,"props":4853,"children":4855},{"className":4784,"code":4854,"language":4786,"meta":7,"style":7},"claude mcp add bruin -- bruin mcp\n",[4856],{"type":37,"tag":4467,"props":4857,"children":4858},{"__ignoreMap":7},[4859],{"type":37,"tag":2372,"props":4860,"children":4861},{"class":4793,"line":4794},[4862,4867,4872,4877,4882,4887,4891],{"type":37,"tag":2372,"props":4863,"children":4864},{"style":4798},[4865],{"type":42,"value":4866},"claude",{"type":37,"tag":2372,"props":4868,"children":4869},{"style":4810},[4870],{"type":42,"value":4871}," mcp",{"type":37,"tag":2372,"props":4873,"children":4874},{"style":4810},[4875],{"type":42,"value":4876}," add",{"type":37,"tag":2372,"props":4878,"children":4879},{"style":4810},[4880],{"type":42,"value":4881}," bruin",{"type":37,"tag":2372,"props":4883,"children":4884},{"style":4804},[4885],{"type":42,"value":4886}," --",{"type":37,"tag":2372,"props":4888,"children":4889},{"style":4810},[4890],{"type":42,"value":4881},{"type":37,"tag":2372,"props":4892,"children":4893},{"style":4810},[4894],{"type":42,"value":4895}," mcp\n",{"type":37,"tag":4846,"props":4897,"children":4899},{"id":4898},"for-cursor-ide",[4900],{"type":42,"value":4901},"For Cursor IDE:",{"type":37,"tag":38,"props":4903,"children":4904},{},[4905,4907,4912],{"type":42,"value":4906},"Go to ",{"type":37,"tag":4404,"props":4908,"children":4909},{},[4910],{"type":42,"value":4911},"Settings → MCP & Integrations → Add Custom MCP",{"type":42,"value":4913}," and add:",{"type":37,"tag":4782,"props":4915,"children":4919},{"className":4916,"code":4917,"language":4918,"meta":7,"style":7},"language-json shiki shiki-themes github-dark","{\n  \"mcpServers\": {\n    \"bruin\": {\n      \"command\": \"bruin\",\n      \"args\": [\"mcp\"]\n    }\n  }\n}\n","json",[4920],{"type":37,"tag":4467,"props":4921,"children":4922},{"__ignoreMap":7},[4923,4931,4939,4947,4956,4965,4973,4982],{"type":37,"tag":2372,"props":4924,"children":4925},{"class":4793,"line":4794},[4926],{"type":37,"tag":2372,"props":4927,"children":4928},{},[4929],{"type":42,"value":4930},"{\n",{"type":37,"tag":2372,"props":4932,"children":4933},{"class":4793,"line":832},[4934],{"type":37,"tag":2372,"props":4935,"children":4936},{},[4937],{"type":42,"value":4938},"  \"mcpServers\": {\n",{"type":37,"tag":2372,"props":4940,"children":4941},{"class":4793,"line":838},[4942],{"type":37,"tag":2372,"props":4943,"children":4944},{},[4945],{"type":42,"value":4946},"    \"bruin\": {\n",{"type":37,"tag":2372,"props":4948,"children":4950},{"class":4793,"line":4949},4,[4951],{"type":37,"tag":2372,"props":4952,"children":4953},{},[4954],{"type":42,"value":4955},"      \"command\": \"bruin\",\n",{"type":37,"tag":2372,"props":4957,"children":4959},{"class":4793,"line":4958},5,[4960],{"type":37,"tag":2372,"props":4961,"children":4962},{},[4963],{"type":42,"value":4964},"      \"args\": [\"mcp\"]\n",{"type":37,"tag":2372,"props":4966,"children":4967},{"class":4793,"line":4215},[4968],{"type":37,"tag":2372,"props":4969,"children":4970},{},[4971],{"type":42,"value":4972},"    }\n",{"type":37,"tag":2372,"props":4974,"children":4976},{"class":4793,"line":4975},7,[4977],{"type":37,"tag":2372,"props":4978,"children":4979},{},[4980],{"type":42,"value":4981},"  }\n",{"type":37,"tag":2372,"props":4983,"children":4985},{"class":4793,"line":4984},8,[4986],{"type":37,"tag":2372,"props":4987,"children":4988},{},[4989],{"type":42,"value":4990},"}\n",{"type":37,"tag":4846,"props":4992,"children":4994},{"id":4993},"for-codex-cli",[4995],{"type":42,"value":4996},"For Codex CLI:",{"type":37,"tag":38,"props":4998,"children":4999},{},[5000,5002,5008],{"type":42,"value":5001},"Add to ",{"type":37,"tag":4467,"props":5003,"children":5005},{"className":5004},[],[5006],{"type":42,"value":5007},"~/.codex/config.toml",{"type":42,"value":4586},{"type":37,"tag":4782,"props":5010,"children":5014},{"className":5011,"code":5012,"language":5013,"meta":7,"style":7},"language-toml shiki shiki-themes github-dark","[mcp_servers.bruin]\ncommand = \"bruin\"\nargs = [\"mcp\"]\n","toml",[5015],{"type":37,"tag":4467,"props":5016,"children":5017},{"__ignoreMap":7},[5018,5026,5034],{"type":37,"tag":2372,"props":5019,"children":5020},{"class":4793,"line":4794},[5021],{"type":37,"tag":2372,"props":5022,"children":5023},{},[5024],{"type":42,"value":5025},"[mcp_servers.bruin]\n",{"type":37,"tag":2372,"props":5027,"children":5028},{"class":4793,"line":832},[5029],{"type":37,"tag":2372,"props":5030,"children":5031},{},[5032],{"type":42,"value":5033},"command = \"bruin\"\n",{"type":37,"tag":2372,"props":5035,"children":5036},{"class":4793,"line":838},[5037],{"type":37,"tag":2372,"props":5038,"children":5039},{},[5040],{"type":42,"value":5041},"args = [\"mcp\"]\n",{"type":37,"tag":113,"props":5043,"children":5045},{"id":5044},"step-3-start-building",[5046],{"type":42,"value":5047},"Step 3: Start Building",{"type":37,"tag":38,"props":5049,"children":5050},{},[5051],{"type":42,"value":5052},"Initialize a Bruin project (or use an existing one):",{"type":37,"tag":4782,"props":5054,"children":5056},{"className":4784,"code":5055,"language":4786,"meta":7,"style":7},"bruin init\ncd my-project\n",[5057],{"type":37,"tag":4467,"props":5058,"children":5059},{"__ignoreMap":7},[5060,5072],{"type":37,"tag":2372,"props":5061,"children":5062},{"class":4793,"line":4794},[5063,5067],{"type":37,"tag":2372,"props":5064,"children":5065},{"style":4798},[5066],{"type":42,"value":23},{"type":37,"tag":2372,"props":5068,"children":5069},{"style":4810},[5070],{"type":42,"value":5071}," init\n",{"type":37,"tag":2372,"props":5073,"children":5074},{"class":4793,"line":832},[5075,5080],{"type":37,"tag":2372,"props":5076,"children":5077},{"style":4804},[5078],{"type":42,"value":5079},"cd",{"type":37,"tag":2372,"props":5081,"children":5082},{"style":4810},[5083],{"type":42,"value":5084}," my-project\n",{"type":37,"tag":38,"props":5086,"children":5087},{},[5088],{"type":42,"value":5089},"Now you can ask your AI agent anything:",{"type":37,"tag":72,"props":5091,"children":5092},{},[5093,5098,5103],{"type":37,"tag":76,"props":5094,"children":5095},{},[5096],{"type":42,"value":5097},"\"Connect to my Postgres database and show me the schema.\"",{"type":37,"tag":76,"props":5099,"children":5100},{},[5101],{"type":42,"value":5102},"\"Ingest Firebase events into DuckDB.\"",{"type":37,"tag":76,"props":5104,"children":5105},{},[5106],{"type":42,"value":5107},"\"Build a pipeline that transforms this raw data into a clean users table.\"",{"type":37,"tag":38,"props":5109,"children":5110},{},[5111,5113,5120],{"type":42,"value":5112},"Check out the ",{"type":37,"tag":360,"props":5114,"children":5117},{"href":5115,"rel":5116},"https://getbruin.com/docs/bruin/getting-started/bruin-mcp.html",[588],[5118],{"type":42,"value":5119},"full documentation",{"type":42,"value":5121}," for more examples and setup details.",{"type":37,"tag":55,"props":5123,"children":5125},{"id":5124},"whats-next",[5126],{"type":42,"value":5127},"What's Next",{"type":37,"tag":38,"props":5129,"children":5130},{},[5131],{"type":42,"value":5132},"Bruin MCP is just the beginning. We're exploring:",{"type":37,"tag":72,"props":5134,"children":5135},{},[5136,5146,5174],{"type":37,"tag":76,"props":5137,"children":5138},{},[5139,5144],{"type":37,"tag":4404,"props":5140,"children":5141},{},[5142],{"type":42,"value":5143},"Background agents",{"type":42,"value":5145},": Agents that run in the background, and can be triggered by events, such as Slack messages.",{"type":37,"tag":76,"props":5147,"children":5148},{},[5149,5154,5156,5161,5162,5167,5168,5173],{"type":37,"tag":4404,"props":5150,"children":5151},{},[5152],{"type":42,"value":5153},"Better integration with AI agents",{"type":42,"value":5155},": We're working on better integration with AI agents, such as ",{"type":37,"tag":360,"props":5157,"children":5159},{"href":4381,"rel":5158},[588],[5160],{"type":42,"value":4220},{"type":42,"value":3922},{"type":37,"tag":360,"props":5163,"children":5165},{"href":4388,"rel":5164},[588],[5166],{"type":42,"value":4392},{"type":42,"value":3951},{"type":37,"tag":360,"props":5169,"children":5171},{"href":4396,"rel":5170},[588],[5172],{"type":42,"value":4400},{"type":42,"value":2819},{"type":37,"tag":76,"props":5175,"children":5176},{},[5177,5182],{"type":37,"tag":4404,"props":5178,"children":5179},{},[5180],{"type":42,"value":5181},"Isolated development environments",{"type":42,"value":5183},": We're working on isolated development environments on your database that can be used to test and validate data pipelines in isolation. This way, you can run your AI agents in a safe environment, and not worry about breaking your production database.",{"type":37,"tag":55,"props":5185,"children":5187},{"id":5186},"try-it-today",[5188],{"type":42,"value":5189},"Try It Today",{"type":37,"tag":38,"props":5191,"children":5192},{},[5193,5195,5200],{"type":42,"value":5194},"Bruin MCP is available now, completely free and open source. Install ",{"type":37,"tag":360,"props":5196,"children":5198},{"href":586,"rel":5197},[588],[5199],{"type":42,"value":3901},{"type":42,"value":5201},", configure your editor, and start building data workflows through conversation.",{"type":37,"tag":72,"props":5203,"children":5204},{},[5205,5221,5236],{"type":37,"tag":76,"props":5206,"children":5207},{},[5208,5213,5215],{"type":37,"tag":4404,"props":5209,"children":5210},{},[5211],{"type":42,"value":5212},"Documentation",{"type":42,"value":5214},": ",{"type":37,"tag":360,"props":5216,"children":5218},{"href":5115,"rel":5217},[588],[5219],{"type":42,"value":5220},"getbruin.com/docs/bruin/getting-started/bruin-mcp.html",{"type":37,"tag":76,"props":5222,"children":5223},{},[5224,5229,5230],{"type":37,"tag":4404,"props":5225,"children":5226},{},[5227],{"type":42,"value":5228},"GitHub",{"type":42,"value":5214},{"type":37,"tag":360,"props":5231,"children":5233},{"href":586,"rel":5232},[588],[5234],{"type":42,"value":5235},"github.com/bruin-data/bruin",{"type":37,"tag":76,"props":5237,"children":5238},{},[5239,5244,5245],{"type":37,"tag":4404,"props":5240,"children":5241},{},[5242],{"type":42,"value":5243},"Community",{"type":42,"value":5214},{"type":37,"tag":360,"props":5246,"children":5249},{"href":5247,"rel":5248},"https://join.slack.com/t/bruindatacommunity/shared_invite/zt-2dl2i8foy-bVsuMUauHeN9M2laVm3ZVg",[588],[5250],{"type":42,"value":5251},"Join our Slack",{"type":37,"tag":38,"props":5253,"children":5254},{},[5255,5257,5264],{"type":42,"value":5256},"We'd love to hear your feedback. What workflows do you want to automate? What could your AI agent do better? Let us know by ",{"type":37,"tag":360,"props":5258,"children":5261},{"href":5259,"rel":5260},"https://github.com/bruin-data/bruin/issues/new",[588],[5262],{"type":42,"value":5263},"opening an issue",{"type":42,"value":5265}," or joining the conversation in Slack.",{"type":37,"tag":38,"props":5267,"children":5268},{},[5269],{"type":42,"value":5270},"Happy building!",{"type":37,"tag":5272,"props":5273,"children":5274},"style",{},[5275],{"type":42,"value":5276},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":832,"depth":832,"links":5278},[5279,5280,5281,5282,5283,5284,5292,5298,5299],{"id":4262,"depth":832,"text":4265},{"id":4315,"depth":832,"text":4318},{"id":4412,"depth":832,"text":4415},{"id":4450,"depth":832,"text":4453},{"id":4496,"depth":832,"text":4499},{"id":4558,"depth":832,"text":4561,"children":5285},[5286,5287,5288,5289,5290,5291],{"id":4569,"depth":838,"text":4572},{"id":4610,"depth":838,"text":4613},{"id":4652,"depth":838,"text":4655},{"id":4676,"depth":838,"text":4679},{"id":4708,"depth":838,"text":4711},{"id":4732,"depth":838,"text":4735},{"id":4756,"depth":832,"text":4759,"children":5293},[5294,5296,5297],{"id":4767,"depth":838,"text":5295},"Step 1: Install Bruin CLI",{"id":4841,"depth":838,"text":4844},{"id":5044,"depth":838,"text":5047},{"id":5124,"depth":832,"text":5127},{"id":5186,"depth":832,"text":5189},"content:blog:bruin-mcp-launch.md","blog/bruin-mcp-launch.md","blog/bruin-mcp-launch",1776449351451]