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.
🔗 Current inputs in copy link to cell
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.”

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

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.