Skip to main content
Latest release:

🪛 Drilling from published apps and Explore

“Why did this spike happen?” “Why does my data look like this?” We’ve all had those moments — staring at a published app, wishing we could dig into the underlying data to answer our follow-up questions or sanity-check a surprising trend.

With drilling, now you can. Just click on the bar (or point, or slice) you’re curious about, choose how you want to break it down, and Hex will take you straight into a drilled-down exploration.

From there, you can keep drilling to get more granular — then, drill up to return to a higher-level grouping. No need to add filters, replace axes, or wrestle with your data. Hex takes care of the busywork, so you can zoom in and out easily.

Editor and Explorer seats on Team and Enterprise plans can drill from charts in published apps, explorations, and pivots in Explore cells. Give it a spin, and let us know what you think!

🎨 Custom app themes

When you’re presenting a production dashboard to execs, the last thing you want is to get derailed by a styling nit-pick because the font is off. 🫠

Now on Team and Enterprise plans, Admins can create custom app themes with your team’s font, background and accent colors, and a chart color palette for a branded look and feel.

Editors can apply custom app themes in the app builder to unify branding, create a consistent experience for stakeholders, and yes — finally get your charts to match those PowerPoint slides!

🔮 Ask Magic in Explore

ICYMI, we shared a private preview of Ask Magic in Explore last month — a conversational AI interface deeply integrated with Hex, your data, and your workflows.

Magic helps you get to insights faster by drafting analyses from scratch, surfacing relevant published apps, editing existing explorations, and even answering questions right in Slack.

We’re looking for more beta customers to kick around the tires, so drop us a note at [email protected] if you’re interested in early access.

📸 Copy chart to clipboard

We’ve built a lot of features into Hex to help close the Sharing Gap and champion a noscreenshots.club culture. But sometimes, a static, point-in-time image is called for.

Until now, grabbing an image from a published app meant right-click gymnastics that left out the legend and title, or keyboard shortcuts that flood your desktop with a bajillion screenshots.

Actual desktop of Hex employee

Now, there’s a built-in button that lets anyone copy an image of the entire chart straight to the clipboard. Perfect for sharing in Slack, slides, docs, or anywhere static visuals go to live their best life.

Copy chart to clipboard

All we ask is that you consider embedding first — for fresh data, better reproducibility, and those nifty on-hover tooltips. 😉

🔍 Search across semantic datasets

Since launching Semantic Model Sync, we’ve seen teams connect their dbt MetricFlow and Cube models to power governed, self-serve metrics in Explore — allowing stakeholders to answer their own questions with confidence.

Quote from Craig Wilson at ZOE

Now, we’re making it easier to navigate those imported semantic models. You can search for dimensions and measures inside datasets from the data browser, and jump straight into an exploration from the search results.

📊 Chart sorting improvements

We’ve expanded sorting capabilities to make chart behavior more consistent. Now, when you switch from a bar chart to a line chart (or any other flavor), your x-axis sort stays put.

Sort categorical x-axes any way you like for all chart types and series types (including line, area, multi-series, and dual y-axis). Also, pie charts now support custom and size-based sorting. 🥧

More improvements to sorting logic are on the way (including color and facet sorting), so stay tuned. In the meantime, let us know if you have any feedback!

🔑 Magic bring your own key (BYOK)

On the Enterprise plan, Admins can now plug in their own OpenAI API Key for Magic’s model calls for all inference and generation requests. BYOK is a great option if you’re looking for more control over governance and billing. Just head over to your Magic settings page to try it out.

Other improvements

  • Python 3.11 with Pandas 2.0 is now available as a kernel in your project dropdown, and it’s the default for new projects.
  • EU data residency support for Magic: We now support full EU data residency, helping customers in Europe meet local data sovereignty requirements when using Magic.
  • Improved default labels for weekly data: Charts with weekly datetime buckets used to default to labels like ”2025 W14” (kinda cryptic). Now, they show a more human-readable format like “Mar 31, 2025,” marking the start of the week.
  • New relative date filters: You can now filter by “this year,” “this month,” and “this week” for those quick, intuitive time frames.
  • Enhanced pie chart tooltips: Hovering over a pie chart now reveals the slice’s percentage.

🧩 Embedded Analytics

Delivering data analytics and insights to your customers shouldn’t take weeks or months of in-house product development.

Introducing embedded analytics from Hex — making it faster than ever to ship first-class data experiences for your customers, and grow new revenue streams.

Build, customize, and embed stunning dashboards into your web app using:

  • 🔒 Row-level security for showing customers only their own data
  • 💅 Custom app themes for a white-labeled UI to match your branding
  • 🧩 Embed API with quick and easy pass-through authentication
  • 📈 Scalable pricing for use cases of all sizes
  • And more!

Need to see it to believe it? Join us for a live product demo and Q&A on April 17th, where we'll build and embed a Hex app in under 10 minutes.

Read our full announcement to learn more.

Welcome to our first release notes of spring — and it's a big one, with new features and improvements across almost every part of the product that broaden (or should I say widen?) what you can do with charts, published apps, Explore cells, and more.

💾 Saved Views in published apps

A single data app often serves a bunch of different audiences who care about different results. Introducing Saved Views: a way for users to save combinations of inputs and filters when viewing a published app, so they can get to insights that are relevant to them, faster.

Saving a view in a published app

On Team and Enterprise plans, you can create saved views, list them for others to use, and schedule them to re-run on a regular cadence for fresh data. Our team’s favorite new workflow? Get personalized conditional notifications based on a saved view.

Quote from Kyle about conditional notifications based on a saved view

Check out our blog post to learn more.

📊 Charts from wide-format data

Until today, you needed to write extra pre-processing in Python to make charts from wide-format data (i.e., spanning multiple columns of data). Now it only takes a click to:

  • Create stacked or grouped bar and column charts from multiple columns
  • Facet by multiple columns
  • Plot multiple columns on the x-axis

In this new era of wide-format-friendly charts, the need to “tidy up” your data using the Pandas .melt() operation has effectively melted away. 😀

🔔 Notifications with CSVs & configurable screenshots

On Team and Enterprise plans, you now have two new notification options:

  • Include a CSV attachment by selecting a table display in a published app.
  • Send screenshot attachment of specific tabs or individual cells that triggered a conditional notification.

Mix and match CSVs with PDF or PNG screenshot attachments to send notifications to yourself and that VP who wants daily updates on new customer signups delivered straight to their inbox.

CSV attachments in notifications

🧭 Use Explore cell results downstream

Hex makes it easy for code, no-code, and queries to live together in a canvas made of atomic building blocks that stack and engage with one another.

That’s why it's a rite of passage for every cell type to return a dataframe. Now that Explore cells do exactly that, you can truly integrate them into your notebook to unlock tremendous new workflows.

Got an exploration you want to dig further into? Just throw it into a notebook and start writing SQL or Python against the output of the Explore cell, or chain downstream no-code cells to your heart’s desire.

🧱 Bulk update components

Make one small tweak to a component, and suddenly every downstream reference is out of date! With great power comes great responsibility, and now you’ve got options depending on how authoritarian you’re feeling. 😈

Our new UI for managing a component’s project references provides useful metadata to help you understand how components are being used and which projects to prioritize updating.

If you're an Admin, this comes with the ability to force update all (or some) project drafts to use the latest version of a component.

New UI for component references

Feeling democratic? You can notify component consumers that a new version is available and let each project’s Editor decide whether to update.

We’ve seen customers try to wrangle components with hundreds of downstream references. Now, it can be as easy as a few clicks to keep components consistent across projects.

⌨️ Magic Typeahead

Write code faster with AI-powered inline completions in Python cells. Magic Typeahead is now out of beta and readier than ever to give you powerful, tailored suggestions that take into account your project context as you’re typing.

Other improvements

  • View SQL generated by Explore: Hex generates SQL under the hood to power analysis performed with Explore. Instead of pulling up a separate tab with your data warehouse’s query history, you can now see the compiled queries directly in Hex by clicking the “View generated SQL” option in the Explore UI’s three-dot menu.
  • Dropdown display labels: This feature we announced last time to enhance dropdown input parameters needed a bit more love — but it’s ready for use now. Thanks for your patience!

🤝 Semantic Model Sync

Today, we're launching the public beta of Semantic Model Sync to enrich self-serve analytics in Hex with trusted metrics and business logic from dbt MetricFlow, Cube, and LookML (in private beta).

Now, you can empower stakeholders with governed measures, dimensions, and joins for consistent self-serve results in Explore — without compromising the flexibility of ad-hoc analysis or getting locked into a proprietary spec.

Read our full announcement to learn more about how you can import modeled data from your semantic layer into Hex.

This batch of features falls into the category we like to call “pixel-light, impact-heavy”: chart reference lines, a fresh new outline, dropdown display labels… and they’ve just been delivered into your Hex notebooks with laser precision. Hope you enjoy!

📊 Add reference lines to charts

You can now add vertical and horizontal reference lines to x- and y-axes in charts to indicate targets, thresholds, or important points in time. Want to add a super thick, greenish-brown line with a label at a 90-degree angle in the bottom-right corner? You’re free to style as you please (but we can’t save you from the critiques of that one stakeholder who’s really into color theory).

Adding vertical reference lines to a chart

📔 Redesigned notebook outline

In November, we released collapsible sections, which make it easier to organize your most complex projects — thanks to all of you who wrote in with some love!

We got hooked on the fan-mail dopamine hit and kept going by building an all-new “compact” outline with a mini overview and condensed summary for easier navigation and search within your notebook:

We've been using this internally for a few weeks now, and it’s changed the game — making it easier to navigate and work with big, gnarly projects. We also made some improvements to sections, including the ability to drag into a collapsed section.

Excited to hear what you think!

🔑 Dropdown display labels

Note: This feature will be enabled and generally available starting on February 7, 2025.

Some input values are not user-friendly. There’s always that one person on the team who knows user #14925300281 is Jeff, but for the rest of us, displaying the name or email is way more helpful.

With dropdown input parameters, you can now select a display column to render (e.g., email) but still have it return the underlying value (e.g., User ID).

Other improvements

  • Faster first run for published apps: We reduced the number of cells that need to run for you to get your answer by only running upstream dependent cells. (Before this update, first runs for published apps ran all the cells — even if they weren’t in the dependency line.)
  • Component upgrade notifications: Now when you publish a new version of a component, you can (optionally) notify all the folks who own projects consuming your component that a new version is available.
  • Db2 data connection: We recently built a new data connection to support Db2. This feature is currently in private beta, so reply to this email if you’re interested in testing it out!
  • Native decimal support for Snowflake: We now support larger numbers using the Python Decimal data type. In the Snowflake configuration panel, you can toggle on "Native decimal support" for up to 38-digit integers.

At Hex, December is a time for connecting, reflecting, and shipping! Others may slow down for the holidays, we cannot, we literally do not know how to do it, so here’s a tree full of presents we got for you, with much more on the way.

This week’s release has a bunch of improvements to much-used features like SQL and charts – but first, our most-requested feature…

🧮 Advanced compute profiles, now in GA

They’re finally here: more powerful compute profiles and GPUs 💪

Our new compute profiles give you access to more memory and compute power, allowing Hex to meet the challenges of your most demanding workloads. Choose from a variety of amazing acronyms like 4XL (16CPU, 128GB RAM) and V100 GPU (6CPU, 56GB CPU RAM, 16GB GPU RAM).

These advanced compute options can handle any compute-intensive Python task, whether that’s offline-training for your fraud detection model, fine-tuning an OCR transformer with GPU’s, or just working with a massive dataset. Now you can do it all, right in Hex.

Advanced compute profiles in action

Advanced compute is billed per-minute of usage, and we’ve included admin controls for cost observability and management, including spend limits, access controls, and usage logs. Check out the blog to learn more.

🧭 Explorer workspace role

When we introduced our “Explore” UI a few weeks ago, the first thing we heard was, “this is awesome, is there some way I can get this turned on for stakeholders?”

Well, the day has arrived: you can now provision users as “Explorers”. This allows them to start new Explores, Explore-from-Here in published apps, and subscribe to metric notifications (but not start full projects or write code).

Provisioning an Explorer role

This role is perfect for the data-literate folks in your organization who want to be able to slice-and-dice data or get updates, but don’t need the full firepower of a Hex Editor seat. Our product team wrote about the new Explorer workflows in a blog early this week - take a look!

Interested in getting this turned on for your workspace? Get in touch.

🫶 One-to-many and many-to-many no-code joins

No-code joins in Explorations now support one-to-many and many-to-many join relationships.

Hex will automatically detect duplicate rows that arise as a result of your join, and using the unique keys specified in the join configuration, accurately calculate aggregations on both the base and joining table. Plus, Magic can now intelligently generate joins when you ask questions, making data exploration even simpler.

One-to-many and many-to-many no-code joins

Don't worry about keeping track of these join relationships yourself - Hex will warn you if the join you've configured will lead to inaccurate results!

📈 Smarter chart labels

One of you (not naming names!) sent some feedback calling our chart labels “trashy” because of their tendency to overlap and… honestly, you had a point!

As part of our never-ending quest to make charts in Hex beautiful, we’ve improved the way labels and axes are rendered including:

  • Labels not showing in vertical bar charts if they don't fit vertically in their parent bar
  • A new "auto" position option for line and area charts which will automatically layout the labels so they don't overlap with any lines or other line/area data labels
  • We’ve also introduced a new “minimum tick step” setting on the y-axis.

Take a look.

The evolution of chart labels

We have many more improvements for charts on the way – including support for “wide” data and some nice performance boosts!

✍️ Better SQL autocomplete

Speaking of things we’ve heard from you all about – SQL autocomplete. We’ve made some big improvements here:

  • Autocomplete now activates for column names after a .
  • Automatically re-open autocomplete panel after a previous activation – for example, if you select a schema name to autocomplete, we then re-open autocomplete with table names
  • More consistent capitalization, using the previous alphabetic character in the SQL cell if there haven’t been characters typed

Our internal data team is loving the upgrades, hopefully you do too!

Better SQL autocomplete

⤴️ Visualize pivot values as rows

In the olden days, you used to only be able to visualize pivot values as columns, but now, in December 2024, we live in a miraculous future where you can view them as rows, too. What a time to be alive 🌅

It’s now easy to make pretty links in tables with automatic hyperlink rendering. When your data includes markdown-style links like [Hex](https://hex.ai), we'll automatically transform them into beautiful, clickable links - no more messy URLs cluttering up your tables!

Other improvements

  • You can now cancel queries fired off from explorations, so if you accidentally kick off a bigger-than-expected task, you can shut it down before it runs up your warehouse bill
  • We now support relative line numbers in SQL and code cells, which will come as a delight for y’all nerds that have Vim key bindings enabled. To use, open the command palette (cmd+p) and choose “Toggle relative line numbers”