beta Studio is in open beta — bring your team

The AI work surface for your team.

A customer dashboard. A pricing calculator. A quick way to look someone up. Your team and your agents build them as small apps — single files that run in any browser. Studio is where they all end up.

npm install -g @work.books/cli
Works with + 9 more
studio.workbooks.sh/demo/groups/showcase

The problem

Stop renting ten SaaS tools. Build them.

You pay Mixpanel to track three events. You pay Retool to render one form. You pay Streamlit Cloud to host a 200-line app nobody updates. Three vendors, three invoices, three things your team has to learn — for one job each.

Your CFO wants a pricing model.

Six weeks later, a Streamlit deploy that breaks every time someone refactors. Or a Google sheet nobody trusts.

Your CS team needs a customer-lookup tool.

So you pay for Retool seats, queue an eng ticket, and they end up paging you the next time a column changes.

Your PM wants a funnel.

So you add a tracking pixel, pay Mixpanel per event, and wait two sprints for someone to wire it up.

What if AI built each of those for you, in a few minutes, as a single file you could open in any browser?

What teams build

Five apps your team could ship this week.

Each one is a single file with the code, the data, and the screens inside. We call them workbooks. AI writes the first version. You finish it. Your team is using it the same day.

tool
Seats 120
Usage 2.4M
monthly revenue $28,400

Pricing simulator

Move two sliders, see what you'd make in a month. The kind of thing your team usually rebuilds in a spreadsheet every quarter.

Workbook coming soon

app
contract.pdf · 14 pages

Summarize a PDF

Drop a contract or a report into the app. AI reads it and gives you the headlines. Your API key stays with us, not in the file you share.

Workbook coming soon

notebook
SELECT cohort, retained()   FROM events   GROUP BY 1

Customer retention notebook

An analysis page that shows how many customers stick around month over month. Code, charts, and notes side by side.

Workbook coming soon

app
Mira Patelactive
4 orders · $2,840 LTV

Customer lookup

Type a name. See their orders, tickets, and recent activity. The internal tool your support team has been asking for.

Workbook coming soon

deck
Q3 — Revenue

Quarterly update

Slides with live charts. Click a number to see what's behind it. The kind of update you'd send your board, but useful.

Workbook coming soon

Studio

We hold the apps. Your team uses them.

Studio is where each workbook ends up after it's built. It sets who can open which ones. It adds your API keys when an app loads, so they're never inside the file. It tells you who opened what. The files still work without us.

Group libraries

Put the apps your sales team uses in one place. Put the apps your engineers use in another. Tag them, search them, move them in a click.

Sign-in & take offline

Private apps need a sign-in to open. Take any of them offline in one click — the link stops working right away.

Keys out of the file

Your API keys and database URLs are added when an app loads, not when you save it. Rotate them later without rebuilding.

Run it from Claude

Claude (or Cursor, or Codex) can publish, retire, and list your apps for you. You just say what you want done.

Programmable agents

A hackable agent harness across your workspace.

Your team's chat panel isn't a single black-box assistant. It's a roster of small, purpose-built agents you author the same way you author workbooks — a single HTML file with a tiny config. Each one is shared into the groups that need it, runs in its own sandbox, and uses whichever model you've picked. Not a replacement for Claude Code or Cursor: a place where the agents you actually live with come home.

💸

Pricing Analyst

Pulls competitor pages, runs elasticity sims, drafts comparison decks.

// pricing-analyst/workbook.config.mjs
export default {
  slug: "pricing-analyst",
  type: "agent",
  entry: "src/index.html",
  agent: {
    icon: "💸",
    provider: "openrouter",
    model: "anthropic/claude-sonnet-4",
    tools: ["bash", "read", "write", "edit", "ask_user"],
    systemPrompt: "You are a pricing analyst. " +
      "Always cite the data source. Build " +
      "workbooks for every analysis.",
  },
};
🎙

Call Synthesizer

30 calls → one ranked-theme deck with citations.

// call-synthesizer/workbook.config.mjs
export default {
  slug: "call-synthesizer",
  type: "agent",
  entry: "src/index.html",
  agent: {
    icon: "🎙",
    provider: "openrouter",
    model: "anthropic/claude-opus-4",
    tools: ["bash", "read", "write", "edit"],
    systemPrompt: "Read transcripts in " +
      "/home/user/calls/, cluster by theme, " +
      "output a presentation workbook.",
  },
};
🛠

Eng Buddy

Walks new hires through your runbook. Answers stack questions.

// eng-buddy/workbook.config.mjs
export default {
  slug: "eng-buddy",
  type: "agent",
  entry: "src/index.html",
  agent: {
    icon: "🛠",
    provider: "openrouter",
    model: "anthropic/claude-sonnet-4",
    tools: ["bash", "read", "write", "edit",
            "list_agents"],
    systemPrompt: "Be patient. Show, don't tell. " +
      "Always link the runbook section a " +
      "question came from.",
  },
};

Same file format as a workbook.

workbook build on a type:"agent" workbook emits a single .html with the manifest inline. workbook publish registers it; Studio mirrors it within seconds and shows it in everyone's chat rail.

Scoped to the groups that need it.

Pick which workspace groups see each agent on upload — or later, in its settings. Personal, one group, all groups, org-wide. The default agent ships with full tool + sub-agent access for everyone.

You build them with Claude Code. We host the runtime.

Ask Claude Code (or Cursor, or Codex) to scaffold one — "make me an agent that pulls my Linear tickets every morning and drafts a stand-up". You get a workbook config; we run it in an E2B sandbox per session, on a cron, or both.

Why this works

A calculator and a dashboard are built from the same parts.

Some code that does the math. Some data to feed it. A few screens for the person using it. A customer lookup is the same three parts. So is a slide deck.

Today, each of those is a different product. Streamlit for the calculator. Retool for the lookup. Looker for the dashboard. PowerPoint for the deck. Four products. Four bills. Four things your team has to learn.

A workbook is one file that holds all three parts inside. Open it in any browser and it runs. There's no app to install, no server to keep up, no separate place where the data lives.

my-workbook.html
<!-- everything in one file -->
<!doctype html>
<html>
  <head>
    <meta name="wb-permissions" content="net">
    <style>  </style>
  </head>
  <body>
    <!-- your app code, inlined -->
    <script type="module">
      render()
    </script>

    <!-- bundled source travels along -->
    <script id="wb-source-bundle"
            type="application/x-workbook-source">
      eJzNVk1v2zAMvfdXEN6h…
    </script>
  </body>
</html>

What you can ask for

Ask once. Use it for years.

A dashboard. A research brief. A chart. A presentation. Your team and your agents work in the same place — type what you need, the right kind of artifact shows up, and the whole team can open it tomorrow.

Claude Code · ~/pricing-research
Build me a customer-retention dashboard from this events.csv.

Reading the file…

read_file events.csv · 12 columns, 8,400 rows

Building cohort retention chart with confidence bands.

workbooks.publish group: showcase · type: dashboard

Done. Live at workbooks.sh/w/cohort-v3 — it refreshes when the CSV updates.

dashboard
Customer retention v3

Cohort survival · 312 views · refreshes from events.csv

Cursor · workbooks · agent mode
Research competitor pricing for our 2026 plan. Comparison table, sortable.

Pulling pricing pages from eight competitors.

web_search "pricing 2026" · 8 sources
extract_pricing 8 vendors · 34 tiers

Drafting comparison. Sortable by seats, included usage, overage rate.

workbooks.publish group: pricing-research

At workbooks.sh/w/comp-pricing. Source links inline.

tool
2026 competitor pricing

8 vendors · sortable · 34 plan tiers with sources

Claude Desktop · /Documents
Summarize this Q3 board deck — key metrics, decisions, action items.

Reading 30 pages.

read_pdf q3-board.pdf · 30 pages

Three sections shaping up: metrics, decisions made, action items.

workbooks.publish group: board · type: notebook

Summary at workbooks.sh/w/q3-summary with citations back to the original slides.

notebook
Q3 board — summary

14 metrics · 6 decisions · 9 action items · slide citations

Codex · ~/launch-notes
Turn these meeting notes into a clean launch announcement. Markdown.

Pulling notes and citing them inline.

read_dir launch-notes · 14 files
extract_quotes 22 quotable lines

Draft v1 ready. Two paragraphs of context, a feature list, a quote from the CEO, FAQ.

workbooks.publish group: marketing

workbooks.sh/w/launch-2026 — every claim links to the source note.

notebook
Launch announcement — draft

5 sections · 22 inline citations · ready to share

OpenClaw · via Telegram
Chart MRR by region for the last 6 months.

Querying the events table.

sql_query revenue.events · 6mo · group_by(region)
chart stacked_area · 7 regions

Live chart published — it requeries when the table changes.

workbooks.publish group: finance

workbooks.sh/w/mrr-region-live

dashboard
MRR by region · live

Stacked area · 7 regions · requeries on view

Cursor · workbooks · agent mode
5-slide pitch for the new pricing model. Use the comparison data from earlier.

Pulling the comparison workbook.

workbooks.read comp-pricing

Five slides: title, problem, the model, side-by-side comp, ask. Each chart drills in.

workbooks.publish group: leadership · type: deck

Ready at workbooks.sh/w/pricing-pitch. Speaker notes inline.

deck
2026 pricing pitch

5 slides · live charts · speaker notes per slide

Every example above is just an .html file in your team's library. Open it in any browser. Read its source. Hand it to another agent to extend.

Open source

Yours, even if we disappear.

Every line of code is on GitHub. You can run the whole thing on your own server. You can change anything you want. We do the hosting because most teams don't want to — but if we shut down tomorrow, your apps keep working in your browser, and you can take the code with you.

Start with one app this week.

Free during open beta. Bring your team. Ask Claude what to build first.

Open Studio no card · cancel any time · run it on your own server if you'd rather