Bruin Academy

Guide

Migrate Metabase Dashboards to Bruin

Import a Metabase dashboard into a version-controlled Bruin DAC project, review the generated YAML, prove parity, and choose a self-hosted or Bruin Cloud cutover.

What

Migrate one useful Metabase dashboard into Bruin without changing the numbers people rely on. You will capture the dashboard contract, import it into DAC from a live Metabase instance or a saved dashboard response, review the generated YAML, compare the result with Metabase, then choose either a self-hosted DAC deployment or a Bruin Cloud dashboard.

The importer gives you a useful starting point, not permission to skip review. The parts that matter are still the metric definitions, filters, source tables, cards, and audience. Put those under review before you ship the new version.

How

First, inventory the dashboard and decide what needs a permanent home. Then configure a read-only Bruin connection and choose an import method: a live URL with an API key, a live URL with a session token, or a saved GET /api/dashboard/:id response. DAC converts native SQL cards into widgets and can compile simple MBQL when it has source metadata. You review the warnings, placeholders, filters, layout, and business logic before treating the YAML as the source of truth.

The final choice is about ownership. Use self-hosted DAC when the dashboard should stay in Git as YAML or TSX. Use Bruin Cloud when a team needs an agent-built dashboard that can be drafted, published, shared, and iterated through chat.

Before you start

  • Access to the Metabase dashboards and saved questions you plan to migrate
  • A read-only connection to the warehouse or database behind those dashboards
  • For the self-hosted path: DAC and the Bruin CLI installed locally
  • For the managed path: a Bruin Cloud agent with a connection set that can read the reporting data

Get help & contribute

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.