Default
Warm, modern theme with earthy tones
The Reeflow Embed SDK is a lightweight, framework-agnostic library that empowers developers to embed interactive analytics components into any web application. Built on standard Web Components, it provides a seamless way to visualize and interact with your data.
The Embed SDK is a collection of reusable, production-ready Web Components for data visualization and interaction. Think of it as a component library for analytics that works anywhere JavaScript runs.
We chose Web Components because they:
Unlike traditional charting libraries that require complex configuration and custom backends, Reeflow provides:
<reeflow-chart> tag and you’re doneThe Embed SDK is perfect for:
Provide analytics dashboards to your customers without building custom visualization code:
import { ReeflowProvider, ReeflowBarChart } from '@reeflow/react';
// Embed a complete dashboard in your SaaS product<ReeflowProvider authToken="customer-specific-token"> <ReeflowBarChart title="Your Usage This Month" query={{ from: 'usage_events', dimensions: ['service_name'], measures: [{ column: 'count', type: 'sum' }], }} /></ReeflowProvider>;<!-- Embed a complete dashboard in your SaaS product --><reeflow-provider auth-token="customer-specific-token"> <reeflow-bar-chart title="Your Usage This Month"> <script type="application/json" slot="query"> { "from": "usage_events", "dimensions": ["service_name"], "measures": [{"column": "count", "type": "sum"}] } </script> </reeflow-bar-chart></reeflow-provider>Build internal reporting and monitoring dashboards faster:
Present data to end users in a polished, interactive way:
Built with Web Components, the Embed SDK works seamlessly with vanilla JavaScript, React, and any other framework:
import { ReeflowProvider, ReeflowBarChart } from '@reeflow/react';
<ReeflowProvider authToken="token"> <ReeflowBarChart {...} /></ReeflowProvider><reeflow-provider auth-token="token"> <reeflow-bar-chart>...</reeflow-bar-chart></reeflow-provider>Full TypeScript support with comprehensive type definitions:
import type { ReeflowBarChart, ReeflowTable, QueryResult } from '@reeflow/core';
const chart = document.querySelector('reeflow-bar-chart') as ReeflowBarChart;
// Fully typed methods and propertieschart.query = { /* typed query object */};await chart.refresh();Two built-in themes with automatic light/dark mode support:
Default
Warm, modern theme with earthy tones
Ocean
Calming aquatic blues and teals
Learn more about theming and customization.
Interactive, responsive charts:
All charts include smooth animations, interactive tooltips, and responsive sizing.
Powerful data tables with sorting, pagination, and row selection support.
Query your data using an intuitive, JSON-based query language:
{ "from": "orders", "dimensions": ["product_name", "region"], "measures": [ { "column": "revenue", "type": "sum" }, { "column": "orders", "type": "count" } ], "filters": { "order_date": { ">": "2024-01-01" } }, "order_by": [{ "column": "revenue", "direction": "desc" }], "limit": 100}Get started in minutes:
npm install @reeflow/reactnpm install @reeflow/core# or via CDN<script type="module"> import '@reeflow/core';</script>import { ReeflowProvider, ReeflowBarChart } from '@reeflow/react';
function Dashboard() { return ( <ReeflowProvider authToken="your-token-here"> <ReeflowBarChart title="Revenue by Product" query={{ type: 'aggregate', query: { measures: [{ column: 'orders.revenue', type: 'sum' }], dimensions: [{ column: 'orders.product_name', type: 'categorical' }], }, }} /> </ReeflowProvider> );}<!DOCTYPE html><html> <head> <script type="module"> import '@reeflow/core'; </script> </head> <body> <reeflow-provider auth-token="your-token-here"> <reeflow-bar-chart title="Revenue by Product"> <script type="application/json" slot="query"> { "type": "aggregate", "measures": [{"column": "orders.revenue", "type": "sum"}], "dimensions": [{"column": "orders.product_name", "type": "categorical"}] } </script> </reeflow-bar-chart> </reeflow-provider> </body></html>Embed usage analytics directly into your product:
import { ReeflowProvider, ReeflowLineChart, ReeflowTable } from '@reeflow/react';
<ReeflowProvider embedToken={customerToken}> <ReeflowLineChart title="API Calls This Month">{/* Usage metrics */}</ReeflowLineChart> <ReeflowTable title="Recent Activity">{/* Activity log */}</ReeflowTable></ReeflowProvider>;<reeflow-provider embed-token={customerToken}> <reeflow-line-chart title="API Calls This Month"> <!-- Usage metrics --> </reeflow-line-chart> <reeflow-table title="Recent Activity"> <!-- Activity log --> </reeflow-table></reeflow-provider>Track revenue, pipeline, and performance:
import { ReeflowBarChart } from '@reeflow/react';
<ReeflowBarChart title="Revenue by Region" query={{ from: 'sales', dimensions: ['region'], measures: [ { column: 'revenue', type: 'sum' }, { column: 'deals_closed', type: 'count' }, ], }}/>;<reeflow-bar-chart title="Revenue by Region"> <script type="application/json" slot="query"> { "from": "sales", "dimensions": ["region"], "measures": [ {"column": "revenue", "type": "sum"}, {"column": "deals_closed", "type": "count"} ] } </script></reeflow-bar-chart>Monitor system health and performance:
import { ReeflowLineChart } from '@reeflow/react';
<ReeflowLineChart title="Error Rate" query={{ from: 'logs', dimensions: [{ column: 'timestamp', type: 'time', granularity: 'hour' }], measures: [{ column: 'errors', type: 'count' }], filters: { severity: 'error', }, }}/>;<reeflow-line-chart title="Error Rate"> <script type="application/json" slot="query"> { "from": "logs", "dimensions": [ {"column": "timestamp", "type": "time", "granularity": "hour"} ], "measures": [{"column": "errors", "type": "count"}], "filters": { "severity": "error" } } </script></reeflow-line-chart>The SDK provides several components for displaying data:
Provider
Context provider for authentication and theming
Workbook
Display complete embedded workbooks with multiple pages
Bar Chart
Display categorical data with bars
Line Chart
Show trends and time-series data
Pie Chart
Visualize proportions and percentages
Table
Interactive data tables with sorting
Container
Generic container for custom content with standard Reeflow styling
Ready to dive in?
Getting Started
Build your first dashboard in 5 minutes
Component Guides
Learn about provider, charts, tables, and theming
JSONQL
Master the query language
Examples
See complete dashboard examples
React Integration
Use Reeflow with React hooks and best practices