QueryPanel vs Embeddable

Composable charts and builder-oriented embedding.

Embeddable focuses on composable analytics UI. Teams that enjoy owning chart configuration, layout, and presentation details often evaluate builder-first tools.

Comparison at a glance

This table summarizes typical positioning. Every vendor changes over time—validate details against current documentation and your security review.

DimensionEmbeddableQueryPanel
In-app experience for end usersComposable blocks you integrate yourself; whether the experience feels native or iframe-like depends on how you build the shell.First-class `@querypanel/react-sdk` components—`QuerypanelEmbedded` for a full dashboard, or `QueryPanelProvider` with `QueryInput` / `QueryResult` for a bespoke flow. They render in your React tree like any other product screen (layout, router, modals, tokens)—not a separate iframe "mini app" on another origin. Mint short-lived JWTs on your server; never ship your workspace private key to the browser.
Core valueComposable embedding and builder workflows for charts and dashboards.AI-driven generation plus a ready-made React embed: less manual assembly per new customer question.
Trainable knowledge & steeringYou own the full knowledge story—gold SQL, glossary, and tenant-aware steering are whatever you implement around your chart composition layer.Gold SQL queries (curated examples the model prioritizes), database annotations (business context on tables/columns, re-embedded with schema), glossary (domain terms and definitions), and tenant-level definitions (isolation field, enforcement, and per-tenant sync context so every ask() is grounded in the right customer slice—not a one-size global prompt).
SQL generationDepends on how you wire data and queries; often you bring more of the pipeline.First-class NL→SQL with validation hooks meant for production SaaS backends.
Developer workloadHigher control often means more integration and UI assembly work.Opinionated paths to ship faster: `@querypanel/react-sdk` for full workspace embeds, `@querypanel/node-sdk` when you want headless `ask()` from the server.
Multi-tenantYou implement tenant isolation patterns in your integration layer.Tenant context is part of the ask() / generation contract for safer customer queries.
Ideal teamFront-end heavy teams with time to craft the analytics experience.Small product teams that need analytics shipped without a dedicated visualization squad.

When Embeddable is the better fit

Honest tradeoffs help your team pick faster—and match how buyers actually decide.

  • You want maximum front-end control over every chart and interaction primitive.
  • Your team already has strong opinions on visualization libraries and design systems.
  • You are building a highly custom analytics canvas rather than a standard dashboard shell.

When QueryPanel is the better fit

  • You want a trainable knowledge system—gold queries, DB annotations, glossary, and tenant-aware definitions—so NL→SQL and charts reflect your business, not generic schema-only guesses.
  • You want a batteries-included embedded workspace as React—`QuerypanelEmbedded`—instead of hand-assembling every chart primitive, and you do not want that workspace trapped in an iframe.
  • You want the full loop from customer language to SQL to visualization as one product workflow.
  • You care about tenant-scoped SQL generation as the backbone of self-serve customer questions.
  • You still want a headless Node `ask()` path when you need server-side or fully custom UI.

Still evaluating Embeddable and QueryPanel?

Start on the free tier, embed one dashboard, and compare implementation time against your current shortlist.