Skip to main content
Latest release:

This week’s updates are all about making the everyday workflows in Hex faster and easier. We went back to the basics with much-loved, highly-requested improvements that cut down on clicks, scrolling, and workarounds — so building in the notebook and app builder feels smoother than ever.

💪 Bulk column formatting

Your database returns date columns in “2025-05-07” format, but your stakeholders prefer “7 May 2025.” You’ve got better things to do than reformat those columns one by one.

With new bulk column formatting in tables and explorations, you can filter by type, hit “Select all,” and apply formats across multiple columns at once. We did the math, and that’s way fewer clicks than before. 🤓

You can now hide and show columns in bulk, wrap and unwrap text in bulk, see the number of columns selected, and clear all selections with a single click.

We also added a new tab for quickly pinning and reordering columns in a list view instead of dragging columns across a mile-long table. As always, we’d love to hear what you think!

📁 More file types for upload inputs

We’ve seen some truly inventive workarounds for uploading Excel files with non-tabular data. But those days are behind us.

File upload inputs now support more than just CSVs, opening the door to richer interactivity (and some pretty cool AI workflows, too).

Choosing Excel as the upload type returns a dictionary with a dataframe for each tab — great for multi-sheet .xlsx files.

Or the file upload type lets you upload PDFs, images, Parquet files, whatever you feel like — and returns a binary you can use in downstream Python code.

🗺️ Quick nav to referenced dataframe

When you’re troubleshooting or trying to understand the data fueling a chart or pivot cell, sometimes you just need to get back to the source: the dataframe.

Now, instead of command-F’ing your way through the notebook to find where it’s defined, you can simply click “Go to defining cell” (or use the alt-click shortcut) to jump straight there.

It’s like the reverse of hovering over a cell output variable to see where it’s used. Now you can traverse the DAG in both directions, making it a whole lot easier to navigate large projects.

Now when you share a link to a cell, you can choose to preserve the current inputs. No need to explain which filters to set or how to recreate a specific state.

Your stakeholders land on exactly what you meant to show, so you’ll hear fewer “wait, I’m not seeing that” and more “whoa, very insightful.”

Current inputs in copy link to cell

🔐 OAuth summary

For teams on the Enterprise plan using OAuth data connections, it’s now much easier to see which projects need authentication, thanks to the new OAuth summary in the notebook view.

At a glance, you’ll see whether credential sharing is enabled, who owns the token, and which OAuth connections are in play. No more digging through a long list of data connections to figure out what’s what.

OAuth summary from notebook view

When you’re viewing a published app, just click the three-dot menu to see a simplified OAuth summary there, too.

☁️ Native GCS integration

Hex now supports a native GCS integration, so you can access files and pull in assets straight from GCS without exposing keys in your Python scripts.

Just like with the Amazon S3 integration, Admins can set up GCS as an external file integration, and Editors can import files from the data browser. Depending on your configuration, you can query, write back, or download files right from the project.

Other improvements

  • Navigate back to the source cell: When viewing an exploration, you can now use the dropdown next to its name to easily trace it back to the original cell that the “Explore-from-here” came from.
  • New default navigation for Favorites: Links in the Favorites section now default to published apps, and there’s a new nav button that’ll whisk you straight to the notebook view. ⭐
  • Preserve scroll position in multi-select filtering: Before, selecting multiple items would bounce you back to the top of the list each time. Now, you can filter away without the constant re-scrolling!
  • Shortcut for changing text case: When editing SQL and Python cells, you can now use a keyboard shortcut (ctrl+shift+U) to toggle selected text between ALL CAPS and all lowercase for a quick case change.
  • Smarter placeholders in single value cells: Instead of seeing “NaN” when values are still loading or undefined, you’ll now see more helpful placeholders in the notebook view. For null values in published apps, viewers will see “No value.”
  • Copy code to clipboard from markdown cells: Hover over a code block in a markdown cell, and you’ll now see a handy copy-to-clipboard button for grabbing the content you need.
  • Borders for selected text cells: We added subtle borders around text cells when selected to make the focus state more distinct.

🪛 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.