Skip to main content
Latest release:

🧮 Parameterized Calculations

Input parameters can now be referenced in calculations using standard {{input_name}} syntax.

We built Calculations to let business users dive deeper into data and answer their own “what if” questions without constantly tapping the data team on the shoulder. Now those same users can write calculations that respond to user input, building entire interactive reports end-to-end without writing a single line of SQL or Python.

Here’s a short video where I build a what-if scenario modeling tool. I rely on parameterized calcs and don’t write a single line of SQL or Python code— and the end product is linked here for you to explore.

Building these kinds of custom reports has traditionally required data team support, and now it’s well within the reach of any data-curious explorer.

Learn more in the docs.

🔢 Single Value Aggregations

Single Value cells can now calculate totals, averages, and other column aggregations.

Aggregating a column from the single value cell config

Can you imagine a world so cold, so savage, so brutal that you’d need to use an intermediate Python cell to sum a column for single value display?

Let that world be nothing but a forgotten memory, an ancient myth.

Just like parameterized calculations, this removes one of the last bits of friction preventing no-code users from building rich, custom apps in Hex. It’s now possible to go from the data browser, to a table display, to a single value cell showing a column’s average without writing any code.

You can even turn any total from a Table Display into a standalone Single Value with just a click:

As part of this upgrade, Single Value cells also accept Query objects in addition to Dataframes, which lets these aggregations run on datasets of any size without pulling results into memory.

🐍 AI Autocomplete for Python

AI powered code completion is now in beta for Python.

Hex gives you fast, relevant AI code suggestions as you type, based on context from your entire notebook— not just the cell you’re working in. All you have to do to accept is hit Tab.

This feature is in private beta as we iterate on accuracy and the completion UX. Reach out to [email protected] if you’d like to be added to the beta!

🧙 Magic UX updates

You can now test run AI edits before choosing to accept code or keep iterating.

Previewing results of a Magic edit

This tightens the feedback loop of working with Magic and lets you edit with more confidence. Rather than have to accept AI edited code in order to evaluate whether or not it actually does what you want (and then potentially revert or edit it after), you can run the response in a sandbox, and decide whether to keep it or continue iterating.

Magic will also let you know when it can’t help with something. Some functionality isn’t supported by Magic yet, like writeback cells and input parameters, and now Magic can politely let you know when something’s beyond it’s current capabilities.

💬 Hex in the Slack App Directory

Hex’s Slack integration is listed in the official Slack App Directory, which unblocks access for some workspaces due to security policies.

We heard from some customers that their infosec rules prevented installing Slack integrations that weren’t in the official Slack App Directory. Now those customers can use the Hex integration!

Learn more in the docs or get right to installing.

Other improvements

  • Date diff functions have arrived in Calculations 🎉. You’ll find DiffDays, DiffHours, Diff…. you get the picture. Enjoy!
  • Charts will now attempt to cast columns automatically when needed. For example, if you choose a string column for a y-axis that has numbers represented as strings (“1”, “2”, “3”, etc.), Hex will cast them to numbers and show a continuous axis, not a categorical one.
  • When picking columns from a multi-select, you will no longer be auto-scrolled back to the top of the list.
  • “Copy link with inputs” now includes filter selections as well as input parameters.
  • When removing a data connection within a project, you now have the option to replace all instances of it with another data connection.
  • There are new filters on the Projects page, including a filter for whether projects require a review, whether they are scheduled, and which collections a project is currently in.
  • If your workspace uses auto-archive, we now exclude any projects that have been manually restored from future auto-archiving, so you don’t have to keep whacking moles. Or un-whacking moles? Whatever. You don’t have to worry about moles at all, for any reason.

This month we’ve got some really useful new tools for keeping your Hex workspaces organized, and two simple but impactful updates to AI workflows.

We also published a blog post about these new organizational tools with a lot more in-depth example videos and details. Check it out!

🌪️ Find and organize your projects

We’ve added more filtering options to project lists, and you can now select and take action on multiple projects at once.

Above, I'm using filters to identify some loose demo apps that were shared publicly, and then quickly adding them to a collection with bulk actions.

From any project list, use checkboxes or shift+click to select multiple projects. Once you've made a selection, you can add to collections, change statuses, add categories, and archive or delete in bulk.

You can also now filter project lists by title, status, category, ownership, and permissions — and sort by all of these, and more.

Here, I'm combining filters to find obsolete duplicates of projects that were meant to be shared externally, but never made it out of the exploratory phase:

Read the blog post for a look at all the new features and some specific recommendations on how to use them to tidy up!

🤝 Transferable project ownership

Ownership of projects can now be changed over time as teams and responsibilities change, to prevent permissions confusion.

The new transfer owner action in the bulk actions bar

Just like bulk actions and filters, this is a tool to keep your workspace tidy. As teams change, sometimes you need to change ownership of important projects. Now you can make those transfers with just a couple clicks (and it can be done in bulk, too!).

I assume my keen-eyed data audience will immediately realize that this introduces some new metadata... Indeed, every project now has both a Creator and an Owner. Creators are immutable, but Owners are designed to change over time. Both are of course available for filtering and sorting!

Learn more in the docs.

🤖 Smarter, faster AI edits

Magic AI edits now make line-by-line changes to SQL and Python instead of rewriting everything.

You can also continue editing without accepting or rejecting, and edit conversationally with improved message history.

There's two changes on display in that gif: diff-based editing and continuous editing.

Diff-based editing means Hex returns only the specific line edits necessary to achieve your request, making it faster to work with large queries and complex code using AI. Now, no matter how big your query or code gets, AI edits will return lightning fast.

Continuous editing lets you keep editing without accepting/rejecting the most recent AI response. Combined with a new context memory of your requests, this means you can more naturally iterate on changes with Magic.

I use this all the time now, most commonly to make an edit to one part of some code and then say “awesome, now do that for all the remaining functions”.

The fact you can say “do that” and it knows what "that" means from the prior context seems trivial, but is an absolute game changer for efficiency and flow.

🛡️ Workspace API Tokens

Admins can now configure workspace API tokens that do not expire.

Configuring a permanent API token

Hex has always had personal API tokens, with an expiration policy to ensure they're rotated frequently. We’ve heard lots of requests for permanent API tokens. This makes total sense: you don’t want your orchestration flow breaking every 14 days when a token expires.

So we’ve added the ability for admins to set up special workspace tokens that don’t expire! Unlike personal tokens, these can be centrally managed and revoked by any workspace admin, so you don’t lose track of them. We do still recommend you periodically rotate workspace tokens!

Learn more in the docs.

Other improvements

  • Schema Refresh Control: Admins can now restrict who is allowed to manually refresh connection schemas in the data browser. This change, especially combined with our existing refresh-on-a-schedule feature, is a nice way for workspaces to regulate when a schema gets refreshed, and by who!
  • We fixed an issue with IsNull() previews in Calculations.
  • We are knee deep in some frontend performance work to make big notebooks faster, which you'll hear about later in the summer.

Today, we're taking the powerful data tools we've built for technical practitioners, and opening them up to everyone!

We're releasing end-to-end no-code workflows with spreadsheet-style calculations, data browsing, and updated governance features.

These new workflows live right alongside our existing SQL, Python, and AI tools, so everyone— regardless of technical experience— can come together in Hex to ask and answer questions with data.

🧮 No-code Data Browser

Our new no-code Data Browser makes it easy for anyone at your company to search for and preview data.

New Data Browser

You can search for tables, columns, or descriptions, and then see previews and additional metadata – including some imported from your warehouse or dbt Docs.

Then when you find a table you want to work with, no-code cells can now load data directly from underlying databases, without an intermediate SQL query. Just point at a table, and go. All the bells and whistles work in this context too too, from column formatting to totals and filters.

∑ Calculations

Hex speaks spreadsheet! We’re adding support for the world’s most popular data language, and introducing spreadsheet-style formulas, right in Hex.

New spreadsheet functions

Spreadsheet calcs are available almost anywhere you see a table. Just click the + and boom – you’re back in banking! As of today Hex supports over 60 of the most common spreadsheet functions, with more (including aggregate functions and input parameters!) coming soon.

When you execute a calc, Hex’s compute engine compiles it to dialect-specific SQL, and pushes it down to the full scale of the underlying data. But to make everything feel snappy, Hex runs fast previews, which run on a sample of the data in your browser:

🔏 Endorsed Statuses

Endorsed statuses provide a visual indication of which projects and data are trusted, governed, and canonical.

Endorsed statuses

Only Admins and Workspace Managers can add an Endorsed Status to a project, providing a layer of trust and governance around your workspace.

They’re also fully customizable, so you can add whatever name, color, and icon best suits your workflow.

Endorsements work great with our new Reviews feature, too: you can set a given status to require a review, so you can be sure you always get an second set of eyes on changes to important projects.

Learn more in the docs.

🔮 Faster, more functional Magic AI tools

We’ve made a ton of improvements to our AI tools to make them faster and more accurate.

We're releasing:

10x speed improvements for Magic Charts! We changed how we do prompting and parsing for text-to-viz so they generate much faster.

Diff-based editing for Python: now instead of waiting for the whole thing to stream back, we just get the diff back. Much faster!

And an overall ~2x speed boost with the latest GPT4o model.

A note about bringing everyone together with data

People don't talk as much about the "Modern Data Stack" anymore, but it's amazing to stop and think about how much it revolutionized the backend infrastructure of data analytics, making fancy software engineering best practices and powerful tools accessible to everyone.

The next thought I always have is just how fragmented, messy, and scrappy the frontend of data analytics still is. SO many things are way harder than they need to be!

At Hex, we believe that there's a better future just around the corner in the form of multi-modal workspaces like Hex— unified platforms that let you work seamlessly between code, no-code, and natural language prompts to build with data alongside anyone from your company.

With today's updates (and everything else on the horizon 😉) we're building towards that future as fast as we can.

And if you made it this far... what are you waiting for! Go write some calcs, browse for some data, and consume some delicious, trusted, certified projects. mmmm, certified projects.

Get ready for next month's official Spring Launch on May 29— we have some amazing things coming down the line, so stay tuned! The week after that, I’ll be hosting a hands-on demo of all the new features that you can sign up for now.

🕵️‍♂️ Audit logs

There is no Pepe Silvia. The man does not exist, okay?
— Charlie Kelly

Enterprise customers can now access a complete event log of their Hex workspace, detailing every breadcrumb from user role edits to project and data access.

Not sure what I expected...

If you’re interested in reviewing this kind of data, chances are you’ve already got a conspiracy wall SIEM tool to centralize and analyze all your logs. This feature gives you access to raw log exports that we can pipe right into the log analysis tool of your choice!

This feature is available to workspaces on our Enterprise plan. Please reach out to your Hex point of contact for more information.

📤 Expanded Git support

Git project export and package import now supports Bitbucket and GitHub Enterprise. Components can now be exported to Git.

A GitHub commit log synced to the Hex version history

We’ve also improved a lot of behind-the-scenes action here to avoid sticky Git situations and generally streamline export flows. Git export already worked for GitLab and GitHub, and that hasn’t changed.

Why use Git export? Now that Reviews provide a first-class approval workflow entirely inside Hex (check them out if you haven’t yet!), Git export is primarily useful for maintaining an audit log of changes to projects. If you enable it on a project, you’ll be able to see line-by-line diffs of every saved and published version of that project as commits in the repo of your choice.

Pro tip: Combining Git export with workspace audit logs gives enterprise customers a detailed audit record of every change made in a workspace, from access and configuration to actual code changes.

Git export is available to workspaces on the Team plan or higher. GitHub Enterprise is only available to workspaces on the Enterprise plan.

🗃️ ListProjects API endpoint

You can now list projects from the API.

Not sure what I expected...

This endpoint lists projects. But wait! It also returns a ton of project metadata like status and categories, so you can easily queue up custom runs of multiple projects based on metadata filters, without having to make a bunch of calls to GetProject.

Learn more in the interactive API documentation.

This endpoint is in beta. We’d love to hear your feedback and how we can make it (and the entire Hex API) more useful for your project execution needs.

💫 Magic chart performance

Magic now generates charts up to 10x faster. This clip is not sped up or cached:

Magic lets you use AI to generate queries, code, and visualizations faster than you ever could by hand.

Except… the visualizations weren’t always faster than you could do by hand. It depends how fast you click, but we clocked new chart generations at ~10 seconds in our tests— way too slow.

Now, AI chart generation should only around 1 second! Right now this boost is only for new charts, but we’re working on bringing this to edits too.

Pro tip: When you use Magic in Generate mode, it automatically decides whether or not you want a chart based on your prompt. Try saying "build me a chart of x" or "query data about users and then visualize it as a 100% column chart"

Other improvements

  • NaNs and nulls are now visually quieter than other values in tables, making them easier to skim.
  • We fixed issues with browser performance when resizing a Hex window containing many charts.
  • We’ve upgraded our emoji support to unicode 15, so you can use the 🫎, 🫠, and other important new emojis in comments and text cells.
  • Comments also now support rich text, like code blocks and bold font.
  • We fixed a bug that could prevent projects being removed from collections.

✔️ Reviews

Reviews are a new way to (you guessed it) review work in Hex! You can make reviews required to publish changes for certain projects, or just ask for a review anytime you want a second pair of eyes.

Peer reviews are the best way to keep business-critical reports from breaking, avoid accidental data mishaps, and build institutional knowledge on your data team. But analytics tools were never really built for it, and though some teams have found success in git-based workflows, it’s always a hassle to review work out-of-context— especially complex visual reports with lots of charts.

Reviews bring the full code review workflow right into Hex, making it delightful to review even your most complex data projects.

A rich diff view lets you easily see the code, config, and data changes to every cell in the notebook, and integrated app previews mean you can click-test everything without switching contexts.

Reviews also ship with overall updates to the publishing workflow: an improved diff view, overall polish, and… drumroll please… notebook editors can now instantly compare their current draft to the published version 😎.

Reviews are available for workspaces on our Team & Enterprise plans. Learn more in the docs.

👁️ Data Browser Improvements

The Data Browser now features full table previews, new ‘Recently Used’ and ‘Favorites’ tabs, and a full-screen view. We’ve also added more ways to access it in addition to the sidebar: from the ‘Add cell’ bar as well as the blank state of new projects.

We saw that everyone, including our own data team, started every analysis by running a couple select * from table limit 100; queries to get the lay of the land.

Table previews in the Data Browser replace that clunky workflow! You’ll find your most commonly referenced tables in the Recently Used or Favorites tab, with an instantly available 100-row preview right alongside metadata from dbt and the Data Manager.

One more click, and you can add a SQL cell with a pre-filled query to your notebook.

PS: We used to call this the “Schema Browser”. Did you ever wonder why we changed it to “Data Browser”? Now you know— because we were planning to put actual data in it!

📈 Chart Cornucopia

We want building charts in Hex to be the best visualization experience you’ve had since your last ayahuasca retreat. To that end, we’ve been investing a lot in both new features and careful polish to our chart cells— like the “Chart fixes galore” release from a few weeks ago, or the recent Facets release.

This round of updates includes some really impactful additions, and there’s way more where they came from. So if there’s something nagging at you that would make charts in Hex more useful for you, please let us know, and we'll get on it!

Total labels

You can now add total labels to stacked bar/column charts that sum up the entire bar. This is best used in tandem with a group / color by field, so you can view two levels of aggregation in one visualization.

Total labels

This was actually our second most popular feature feature request! Pro tip: If you use this in combination with manual tooltips, you’ll be able to view even more distinct levels of aggregation in one visualization.

Continuous color improvements We’ve made improvements to continuous color scales, from the color swatch / pane selector to improved scaling and bounds.

Just like facets, continuous color scales can be surprisingly useful for visualizing an entire new dimension of your data that’s otherwise difficult to get a sense of.

In this example, I’m using a continuous color scale on total order revenue to highlight an interesting seasonal revenue trend that doesn’t seem to correlate with order count. That seems worth digging into further…

A chart with a continuous color label

Independent y-axes for facets

You can now detach the y-axes of facet charts to allow each individual subplot to have its own auto-sized y-axis. This can be a valuable tool for comparing distributions, but please use this carefully to avoid chart crimes!

This email has run out of megabytes for images, so you’ll have to imagine this one. It looks spectacular, though.

Config overwriting polish

Previously, you might have find yourself a bit peeved when changing a field selection in one part of the chart config resulted in you losing your settings in another part of the config. We’ve improved the way that defaults are handled to prevent them from ever stepping on your toes and overwriting your choices.

And more…

We've improved log scale bounds-handling, improved the stability of facets and fixed error messages when that fails, improved various warning messages, and cleaned up selection menus.

Other improvements

  • Shared drives are now supported in the Google Drive external file integration.
  • We’ve made some updates to the new homepage view, improving the visual layout of Recently Viewed cards in particular.
  • We fixed a bug that prevented using jinja to parameterize a filter on a pivot cell. Did you know you could do that?! I sure didn’t. Well, I guess you couldn’t. But you were supposed to. And now you can.
A parameterized pivot filter

Today we’re making some updates to our Magic AI assistant that make it more powerful, intuitive, and faster 🤖.

The first version of Magic has been available for almost a year now, and we’re excited about how useful it’s been for our users. Thousands of people each week are using these features to get more done with data: editing complex SQL queries, debugging confusing Python code, and speeding up the most tedious parts of their jobs (cough pandas cough regex).

This round of updates makes these AI tools even more accurate, updates and polishes their UX, and introduces some powerful new functionality. Check out the blog for more (and higher quality) demos, watch this 3 minute video summary, or read on for the quick notes!

➕ Generate mode

Magic can now generate multiple cells at a time in your notebook, chaining together SQL, Python, and Chart cells to answer complex questions or kickstart a new analysis.

It’s easy to invoke this from anywhere: just hit Cmd+G, use from an edit mode prompt bar, or click the “Add with Magic” button between cells.

New cells are all created as drafts, so you can inspect, edit, and validate AI generated code before accepting it. Once accepted, the new cells seamlessly integrate into your notebook.

💬 More powerful, streamlined prompting

To support new cell generation and more complex instructions, we’ve rebuilt the prompt bar, unifying all Magic actions into one simple interface.

You can activate Magic on a cell with Cmd+Shift+M, and seamlessly switch between editing existing cells or generating new cells with the and keys.

The new design also supports more complex multi-line instructions and gives more flexibility to auto-fixes, letting you provide specific instructions instead of relying on Magic to guess what kind of fix you'd like to make.

🎯 Mentioning data

The prompt bar now supports "@ mentioning" datasets to specify what resources it should use.

In any prompt bar, you can hit @ and then keep typing to search for resources.

This is a simple addition, with a huge impact on prompting efficiency and accuracy. Use this to point at a specific database table (handy if you're off-roading and using some unusual, undocumented resources) or if you're in a complex project, to direct Hex towards a particular dataframe.

🤓 Accuracy and context

In addition to these big changes, we’ve also been putting in lots of work on our state-of-the-art retrieval pipelines, and seen steady improvement in Hex’s ability to accurately generate SQL queries. But it’s important to note that no matter how good our engineering is, your context is critical! The more metadata you can provide about your tables and columns, the better Hex can effectively prompt the model and maximize completion quality.

You can do this in three main ways:

  • dbt Docs: if you’re using dbt Cloud, all you have to do is update the metadata in your models, and it’ll automatically flow into Hex and be used to help inform query generation.
  • Support for warehouse metadata: ditto if you update information about your columns and tables in Snowflake, BigQuery, or Redshift.
  • via Hex’s built-in Data Manager, which lets you add and edit metadata, as well as promote and exclude schemas and tables.

Alright, that's what's hot off the presses! I can't wait to hear your feedback on these updates, and to see what you build with a little help from Magic 🧙.