Data Apps BETA

Generate data apps on the foundation you already trust

Prompt your AI agent for any data app or internal tool. It builds on your semantic layer, permissions, and auth, and lives in Metabase where you can audit usage and dependencies. Full customization, nothing to rebuild.

Works with your coding agent:

  • Claude Code
  • Codex
  • Cursor
Customer 360 /apps/customer-360
  • Playbooks
  • My tasks 3

Saved views

  • At-risk enterprise
  • My book
  • Renewing in Q1
  • Due in 30 days
  • At-risk renewals
  • Expansion candidates
Accounts Renewals Viewing as CS · EMEA
Search accounts
Health: At risk ✕ Owner: Me ✕ + Filter
Enterprise Renews Jan 14

Fernhill Trading

Owner: Ana Ruiz · EMEA

ARR
$184,200
Published metric
Health score
62 ↓ 14
Seats used
212 / 250
Open tickets
4
Weekly active users − 31% since Sept

Recent activity

    claude — ~/apps/customer-360

    > Build a customer CRM for the CS team: accounts with ARR and health from our published metrics, and a button to log a call against the account.

    ● Library(Published metrics)

    ⎿ Library: ARR, Health score, Weekly actives

    ● Create(Customer 360 app)

    ● Write(src/app/accounts.tsx)

    ⎿ Reads published ARR metric · connects Log call action

    ● Build(Customer 360 app)

    ⎿ Uploaded · live at /apps/customer-360 · admins only

    ↵ to send ✓ customer-360 on dev

    Customer 360 /apps/customer-360 CS · EMEA

    Accounts

    Last touch

    Enterprise Renews Jan 14

    Fernhill Trading

    Owner: Ana Ruiz · EMEA

    ARR
    $184,200
    Health score
    62 ↓ 14

    ARR and health are published metrics

    Recent activity

    • Note Shared Q3 usage review 19d
    • Call Quarterly check-in 26d

    > Build a CRM for the CS team with a Log call button.

    ● Build(Customer 360 app)

    ⎿ Live at /apps/customer-360

    Trusted by 100,000+ companies
    Hugging Face logoMcDonald's logoHUMA logoCapital One logoMistral AI logoLinear logoDeutsche Telekom logoKong logo

    More than a dashboard. Each of these reads your published metrics and writes back only through actions in its own collection.

    Reconcile

    North farm · Finance

    Variances 3
    Orders
    Invoices
    Customers
    Adjustment history

    Variances

    3 orders don’t match their invoice. Biggest gap: Leo Brandt was never billed $46.90.

    Reconciled today

    1,281

    of 1,284 orders

    Open variances

    3

    oldest 1 day

    Net variance

    −$27.90

    3 orders

    Auto-matched

    99.8%

    last 30 days

    Variances found per day

    4

    Mon

    2

    Tue

    6

    Wed

    3

    Thu

    5

    Fri

    1

    Sat

    3

    Today

    Open · 3

    Largest first

    Resolved today

    Ivo Marsh · adjustment recorded $3.20
    Petra Lind · gap recorded $58.00

    1,281 matched without a person

    Domenica Kuhn

    #10481 · INV-2291 · 9 Oct 14:02

    Over-billed $10.00

    What was ordered

    #10481

    Ergonomic Wool Bag 84.12
    Total $84.12

    What was invoiced

    INV-2291

    Ergonomic Wool Bag 84.12
    Gift wrap 10.00
    Total $94.12

    Domenica’s last 6 orders matched their invoices. Gift wrap was added at the till, not on the order.

    $10.00 credit adjustment

    Saves a database record via “Record credit adjustment”

    Support · Tier 2

    Escalations

    Open
    14
    SLA met
    94.1%
    Next breach
    00:38:12
    • Runs “Save escalation request”

    Renewal desk

    $812k renewing

    Renewals, next 60 days

    At risk
    $405k
    2 below health 60
    Proposals saved
    3
    $61k in discounts

    Fernhill Trading

    Health 58

    Renews Jan 14 · $184,200 ARR · Ana Ruiz

    • Weekly active users down 31% since Sept
    • No call in 19 days

    Renewal proposal

    Action

    Runs “Save renewal proposal”

    Refunds

    9 requests to assess against review criteria

    Order #10512

    Mara Okafor · delivered Oct 14

    Walnut desk shelf 189.00

    Shipping 25.00

    Paid $214.00

    “The shelf arrived with a cracked corner. Photos attached.”

    Review checklist

    3 of 4 met

    • Passes: Within 30 days of delivery
    • Passes: First refund this year
    • Passes: Photos attached
    • Fails: $14 above the $200 review threshold

    Pause requests

    71% of paused customers come back. 3 new requests this week.

    What happens after a pause

    • Resumed
    • Still paused

    Fieldnote Studio

    $1,190 MRR

    “Our busy season ends in November.”

    Runs the “Save pause request” action

    Copperline

    $640 MRR

    “Budget freeze until the new year.”

    Runs the “Save pause request” action

    Mosswood Cafe

    $89 MRR

    “Closed for renovation in November.”

    Runs the “Save pause request” action

    Variances

    1,281 of 1,284 reconciled today

    Open variances
    3
    Net variance
    −$27.90
    • Ivo Marsh · adjustment recorded $3.20
    • Petra Lind · gap recorded $58.00

    Domenica Kuhn

    Over-billed $10.00

    #10481 · INV-2291 · 9 Oct 14:02

    Item Ordered Invoiced
    Ergonomic Wool Bag 84.12 84.12
    Gift wrap — 10.00
    Total $84.12 $94.12

    Domenica’s last 6 orders matched their invoices. Gift wrap was added at the till, not on the order.

    Leo Brandt

    Not billed $46.90

    #10476 · no invoice · 9 Oct 11:04

    Item Ordered Invoiced
    Rustic Linen Pillow 28.00 —
    Small Granite Mug 18.90 —
    Total $46.90 $0.00

    Leo ordered by phone, and phone orders skip the invoice sync. The order shipped this morning.

    Jonas Pike

    Over-billed $9.00

    #10470 · INV-2288 · 8 Oct 15:37

    Item Ordered Invoiced
    Oak Serving Board 36.00 45.00
    Total $36.00 $45.00

    The serving board went up to $45.00 the day after Jonas ordered. The invoice used the new price.

    Credit desk

    Small business lending

    4 to decide

    Credit memo · Draft

    Larkspur Bakery LLC

    $180,000 over 36 months at 9.4% to fit out a fourth site. Cash flow covers the new payment 1.42 times, inside policy on every ratio.

    Ratio Applicant Policy
    Debt service coverage 1.42× ≥ 1.25×
    Debt to income 38% ≤ 45%
    Loan to value 64% ≤ 80%

    Credit memo · Draft

    Ridgeback Logistics Inc.

    $420,000 over 60 months at 8.1% for six refrigerated trailers. Cash flow covers the payment 1.31 times, but loan to value is 86%, over the 80% policy.

    Ratio Applicant Policy
    Debt service coverage 1.31× ≥ 1.25×
    Debt to income 41% ≤ 45%
    Loan to value 86% ≤ 80%

    Credit memo · Draft

    Saltmarsh Dental PC

    $150,000 revolving line at prime plus 2% to bridge slow insurance payouts. Cash flow covers the payments 2.05 times, with room on every ratio.

    Ratio Applicant Policy
    Debt service coverage 2.05× ≥ 1.25×
    Debt to income 22% ≤ 45%
    Loan to value 48% ≤ 80%

    Credit memo · Draft

    Corvid Print Company

    $95,000 over 24 months at 10.2% to replace a wide-format press. After a slow spring, cash flow covers the payment 1.18 times, under the 1.25 minimum.

    Ratio Applicant Policy
    Debt service coverage 1.18× ≥ 1.25×
    Debt to income 44% ≤ 45%
    Loan to value 71% ≤ 80%
    data-access / Requests

    Pending requests

    Pending · 6 Reviewed Approved

    Priya Natarajan

    FP&A analyst · read on finance.invoices

    Reason

    Q4 budget model needs invoice-level revenue by region.

    Requested groups

    FP&A read current

    Finance read requested

    Requested duration

    Runs “Record access decision”

    6 starting, 3 leaving

    Week of Nov 2 · 4 steps overdue

    Monday 2

    Tuesday 2

    Wednesday 2

    Thursday 1

    Friday 2

    Amara Kofi

    Product designer · starts Monday

    • Done: Contract signed
    • Done: Payroll and benefits
    • Done: Email and SSO
    • To do: Laptop shipped Overdue
    • To do: Buddy assigned

    Runs the “Record step status” action

    Reorder Running low 7

    Stock

    7 SKUs below their reorder point

    Oat milk 1L in Lisbon

    Packs on hand, next 14 days

    On hand If 360 packs are ordered

    Request 360 packs of oat milk from Verde Foods

    Est. lead time: 6 days $5,112.00

    Runs the “Save reorder request” action

    Try this prompt: Build an order reconciliation app for ops: match orders against invoices, list the ones that don’t match with the biggest gaps first, and add a Record credit adjustment button that saves a database adjustment through the Record credit adjustment action. Record missing-invoice discrepancies through the Record billing discrepancy action.

    Or tell the story behind the numbers

    Data apps can be reports too: long reads where every figure is a live, published metric.

    Solar system, as a long read

    Public data

    NASA orbital data told in five chapters you scroll through. Every figure links back to a published metric.

    Prompt

    Turn the NASA orbital data in our Library into a five-chapter long read about the planets. Every number should be a live figure from a published metric, with a to-scale figure beside the claim it backs up.

    Board deck

    Finance

    The quarter as a slideshow, one live metric per slide, with speaker notes for whoever presents it.

    Prompt

    Make a 12-slide Q3 board deck from our revenue metrics: one headline number per slide, lead with net revenue retention, chart expansion against new logos by quarter, and add speaker notes to each slide.

    Your year in listening

    Personal data

    A year of plays as story cards you tap through, from the hours after midnight to the songs on repeat.

    Prompt

    Make a year-in-listening story from my plays: six full-screen cards I tap through, starting with total hours, then when I listen most on a 24-hour clock, then my top songs on repeat.

    F1 season review

    Public data

    Twenty-four rounds of race telemetry, told round by round, with the circuit and tyre stints behind each result.

    Prompt

    Build a season review from our F1 race telemetry: one section per round I can jump to from a round strip, each with the circuit map, the tyre stints that decided it, and the points gap after it.

    The guardrails that keep your agent on point

    The constraints that matter are what an app builds with, who can do what and where it lives. Metabase takes care of all three, so you don’t have to build them yourself.

    What it builds with

    Your published numbers in, your actions out

    Same numbers as everywhere else

    Apps read only published tables and Library metrics, through the query builder. Metabase rejects SQL questions, so the app and the dashboard can’t disagree.

    Writes go through your actions

    Apps write only through the actions in their own collection, which only admins can edit, so you can see exactly what an app is allowed to change. Each run shows up in Data app analytics.

    Who can do what

    Everyone sees only their slice

    Your sign-in and permissions

    People sign in with Metabase and see what their groups allow. The same app shows each person their own slice.

    Permissions for Accounts Analytics Data Warehouse › Accounts table
    Group name View data
    Customer 360 Viewing as CS · EMEA
    Book ARR $6.42M
    Accounts 412
    • Meridian Bank EMEA · Renews Mar 3 $264,000
    • Harbor Labs EMEA · Renews Dec 2 $221,000
    • Fernhill Trading EMEA · Renews Jan 14 $184,200
    • Kestrel Foods EMEA · Renews Apr 9 $58,900
    Book ARR $7.18M
    Accounts 388
    • Orbital Freight NA · Renews Feb 20 $142,500
    • Alder Robotics NA · Renews May 6 $119,800
    • Brightline Dental NA · Renews Jan 30 $96,000
    • Pinecrest Health NA · Renews Mar 18 $77,100
    Book ARR $15.9M
    Accounts 1,240
    • Meridian Bank EMEA · Renews Mar 3 $264,000
    • Harbor Labs EMEA · Renews Dec 2 $221,000
    • Kaito Logistics APAC · Renews Jun 1 $203,400
    • Orbital Freight NA · Renews Feb 20 $142,500
    No accounts to show All Users is Blocked on the Accounts table, so the app returns nothing.

    Where it lives

    Inside your Metabase, and in your repo

    Sandboxed inside your Metabase

    Apps live at /apps/<name> behind your Metabase sign-in, listed under Data apps in the sidebar. They can only call the Metabase routes they need, and usage shows up in Monitor.

    Code in your git repo

    Each app is code in your git repo, so you can review the diff. It also shows up in the dependency graph, so you see which apps use a metric before you change it.

    Your data deserves better than vibes

    Vibe-coded apps rebuild the data connection, sign-in and permissions, and write their own SQL. Data apps start from what you already have in Metabase.

    Vibe-coded app on the API Metabase Data Apps
    Data connection Rebuilt for every app Already there
    Sign-in Yours to build Metabase sign-in
    Permissions API keys in the browser Metabase permissions
    Numbers match your metrics Hand-rolled SQL Published metrics
    Hosting Yours to set up Inside your Metabase
    Audit and lineage None Monitor and dependency graph

    Works in Claude Code and Codex

    Build it from your AI client

    Four steps from a free trial to a published app.

    zsh — ~/apps/order-review

    ~/apps/order-review ❯ agent

    > Build an order review app on our orders data. Revenue this month up top, recent orders below, and a way for support to refund an order.

    I’ll use the Metabase data app skills. The CLI is logged in to https://dev.acme.metabaseapp.com. Is that your development Metabase?

    > Yes, build it there.

    Run npm run dev

    └ Ready on http://localhost:3000 · reloads on save

    Edit src/app/page.tsx

    └ + const revenue = useMetabaseQuery(metrics.Revenue, { period: "month" })

    + const orders  = useMetabaseQuery(questions.RecentOrders)

    … 142 more lines

    Metabase · create_action "Refund order"

    └ Updates one row of Orders · runs as the viewer · logged in Monitor

    Run npm run build

    └ Uploaded to dev · /apps/order-review · admins only

    Done. order-review is on your development Metabase. Revenue comes from your published metric, and refunds only go through the Refund order action. Ready to ship it with Remote Sync?

    > commit and push

    Bash git commit -m "Add order-review" && git push

    └ main → origin · a41f9c2 · Remote Sync pulled it to production

    ✓ Live at /apps/order-review · the Support group can open it

    ? for shortcuts ✓ order-review on production

    UNDER THE HOOD

    Your agent builds on your semantic layer with the Metabase CLI. It saves the app’s questions and actions to the app’s own collection, and the app runs with the permissions of whoever opens it.

    Frequently asked questions

    About trials, publishing, and what your agent can and can’t touch.

    Can I try Data Apps on the free trial?

    Yes. Data Apps is available on Pro and Enterprise, and a free trial includes it.

    Which AI clients does it work with?

    Any coding agent that can run commands and install skills, like Claude Code or Codex.

    What if I don’t use a coding agent?

    Apps are built with an agent. There’s no visual builder.

    Why can only admins publish apps?

    An app gives people access to its data, so only admins create and manage apps. People in the groups you add can open them.

    Can apps run native SQL?

    No. Apps read published tables and Library metrics through the query builder, and Metabase rejects SQL questions. Writes go through actions, which can use SQL.

    Is it safe if an agent wrote the app?

    Writes only go through the actions in the app’s own collection, so you can review exactly what an app can change. The app runs with each viewer’s permissions, and requests to other sites are blocked unless you allow them.

    Can I share an app publicly?

    Not yet.

    Why not build it in an internal-tool builder, or straight on the warehouse?

    You’d rebuild the data connection, sign-in and permissions, and your numbers would drift from your semantic layer.

    Who maintains an app when the person who built it leaves?

    It’s code in your Remote Sync repo, so any admin can pick it up, review the diff and ship a change. The dependency graph shows exactly what it’s built on.

    How do I see who uses an app, and what it touches?

    Data app analytics in Monitor logs every question and action an app runs, who ran it and what failed. The dependency graph shows the tables, metrics and actions it depends on.

    Still unsure? Talk to us →

    Build your first data app

    Free for 14 days. Your first app is one prompt away.

    Before you start, you’ll need

    • A coding agent

      Claude Code, Codex, or any agent that can run commands, plus the Metabase CLI and Node.js 22.12+.

    • A dev Metabase + Remote Sync

      Build on a development Metabase, then ship to production with Remote Sync.

    • A semantic layer

      Your canonical tables and metrics, published to the Library.

    Read the setup docs