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
Guide overview
- 1Inventory the Metabase dashboardCapture cards, sources, metric definitions, filters, owners, and the checks that prove the new report is right.
- 2Import the Metabase dashboardConfigure the target connection and import from a live Metabase instance or a saved dashboard response.
- 3Review the importer output and finish the dashboardCorrect unsupported cards, filters, semantics, and layout before the generated YAML becomes the source of truth.
- 4Validate the dashboard and prove parityValidate the definitions, execute every widget, and compare the agreed report slices with Metabase.
- 5Publish through DAC or Bruin CloudChoose a self-hosted DAC deployment or agent-built Cloud dashboard, then cut over from Metabase safely.
Resources
Get help & contribute