Skip to main content

Threads

info

With Threads, users can ask natural language questions and get AI-powered insights based on semantic models and warehouse tables, all in a conversational interface.

The Threads agent heavily prioritizes semantic models and endorsed data sources in order to provide high quality answers.

Admin-level Threads configuration

Threads are available to Admins and Editors by default. Admins can enable Threads access for Explorers as well as set up agent data access and data connection defaults in the Threads settings page in the Admin panel.

Enabling settings

In settings, the ability to create Threads can be enabled or disabled for Editors and Explorers. Admins can choose distinct default data connections depending on the end user's role, if desired. Admins can also choose whether the Threads agent's access to data should be restricted to data held in semantic projects; this setting can also differ depending on the end user's role. See more about what it means for the Threads agent to be restricted to semantic data below.

Where to find Threads

If creating Threads are enabled for a given user, they will see a prompt bar on the homepage. Entering a prompt from the homepage will create a new Thread.

All users will have access to a Threads page on the left side of their homepage. Users without the ability to create Threads will see Threads that have been shared with them in this page. Users with the ability to create Threads will also see Threads they've created in this list and can use a New thread button.

Enabling settings

All users will see recently created Threads that they have access to in the "Jump Back In" section of their homepage.

Data sources

When using Threads, users can select a data source via the selector in the lower right of the prompt bar. Users will be able to select from any data connections they have "Can query" access to. If an Admin has restricted the Threads agent to only generate responses based on semantic data, the list of data connections will be further restricted to data connections that have semantic projects associated with them.

Enabling settings

If the Threads admin settings allow the Threads agent to pull from warehouse tables in addition to semantic models, users will be able to choose whether the Thread they're creating only uses semantic data, or all data. Read more about this distinction in the below section.

Agent can access semantic data only

When the agent is restricted to only use semantic data, Threads results will primarily rely on no-code visualizations that directly use semantic dimensions and measures instead of generating raw SQL queries. The Threads agent will use metadata like field and model descriptions and data endorsements as context to inform how it answers questions.

Agent can access all data

When the agent is not restricted to only use semantic data and has access to all data in the data connection, the agent has more freedom to search across data and can generate and run SQL against warehouse tables to answer the user's question. When in this mode, the agent will always try to answer any available semantic models, if they exist and are relevant. If no relevant semantic data is found, the agent will fall back on using SQL against warehouse tables. Again, Threads will use metadata like column and table descriptions and data endorsements as context to inform how it answers questions.

Threads behavior and exploring

To use Threads, it's as simple as selecting a data source and asking a question. After you hit enter on your question, Threads will display the agent's thinking text and show you the tools the agent is calling, as well as the results of those tool calls, in real time.

The agent has a search tool to find existing published apps in the workspace that may answer the user's question. The tool call searches the workspace for published apps, prioritizing endorsed projects, and the agent judges whether the projects are relevant enough to the user's question. If the agent deems any published apps to be useful, the agent will return the published apps to the user as part of its response. The agent will not look at any unpublished projects.

Other examples of tools include searching for semantic columns, creating visualizations, generating and executing SQL, and looking at visualization results.

When the agent returns a response, the tool calls and thinking text will be collapsed automatically. You can always expand the tool calls and thinking text to understand how the agent arrived at a particular result.

In the agent response, the agent will typically explain the logic it used to arrive at the returned insight, and share results in the form of tables, pivots, and visualizations. Users can interact with results in similar ways that they'd interact with a published app; they can hover over visualizations for tooltips, and explore from cells to make tweaks to visualizations the agent produces. For example, if the agent produces a stacked bar chart to visualize a result, a user could continue analysis manually by exploring from the chart to change the field that is colored by, and change the visualization type.

Of course, users can also ask follow up questions in their Threads to tweak results.

Sharing

To share, open the Share modal in the upper right.

Threads shared with other users are read-only. In the modal, choose to share the Thread with individual users, groups of users, or with the entire workspace.

When a recipient views a Thread that has been shared with them, they will be able to fully interact with the Thread, including exploring from results and expanding tool calls/thinking text. The recipient will be able to see the prompts the sharer has sent. The recipient will not be able to continue the Thread with their own prompts; additional prompts can only be sent by the Thread owner.

If further prompts are sent and analysis is performed in a Thread that has been shared with users, recipients will be able to see the Thread update in real time.

Saving as a project

Users with Editor roles or higher will be able to save a Thread as a project. This gives users a familiar environment to review and understand the logic the agent used to produce Thread results. The prompt history will be included in a markdown cell at the top of the project to maintain context. Saving a Thread as a project will copy the underlying logic from the Thread at the time it is saved; further changes made to the Thread will not be reflected in the saved project.

Improving Threads results

Workspace Managers and Admins can curate context in the workspace to continually improve Threads results. Workspace Managers and Admins can add context in the form of semantic projects, project and data endorsements, data metadata, and the agent rules file. Read more about curating context to improve AI results in Hex here.