# Apps

> Turn one live block into a page of its own on your board: a dashboard, a custom chart, a calculator or a live view of your data, built with your AI agent.

Source: https://infa.ai/docs/apps

Apps are available on all Infa plans (Free, Pro, and Enterprise). An App is a paper, so on the Free plan it counts toward the board's three cloud papers.

An App is a page whose whole body is one block. Where a document mixes text with blocks, an App gives a single block the full page: a live component preview, a demo, a chart, a flow replay, a screen preview, or a custom App Block your agent wrote for you. It sits in the board's tree beside your documents and canvases, nests and sorts like any paper, and keeps everything a paper has: comments, labels, stars, version history and publishing.

## Overview

We at Infa built Apps for the small tools a team keeps wishing it had next to its design system: a release checklist, a coverage dashboard, a token calculator, the open pull requests for a component. Describing the tool to your AI agent is usually enough. The agent writes one HTML file, registers it on your board, and the App page shows it the moment it lands.

## Create an App

1. In the board sidebar, open the **+** menu and choose **New app**. You can also add one under any paper from its row menu.
2. The new App opens on its picker. Choose how to fill it:
   - **Build it with your agent.** The **Generate this App** card copies a prompt that names this App and your board. Paste it into Claude Code, Cursor or any agent connected to the [Infa MCP server](https://infa.ai/docs/mcp), and say what the App should show. The agent builds the block and sets it as the App's body, and the open page updates live.
   - **A block already on your board.** Custom blocks installed on the board, and community blocks from **Browse community blocks**.
   - **One of Infa's own blocks.** Component Preview, Screen Preview, Demo, Chart, Flow Replay and Flow Sitemap are featured; **All blocks** lists the rest.
3. If the block needs a setting before it can show anything (which component view, which flow), the App opens **Configure** by itself. Fill in the fields and choose **Apply**.

Use the **Apps** chip in the sidebar's filter panel to see only Apps.

**One block per App**
An App holds exactly one block. To show something else, choose **Change block** in the App's overflow menu: the current block and its settings are removed and the picker comes back. To combine several blocks with text, use a document paper instead.

## Use and arrange an App

An App's controls sit at the end of the page header, for board editors:

- **Configure** opens the block's settings. For a custom block this is where you bind a connection (see [Building Apps and App Blocks](https://infa.ai/docs/building)) and choose the agent that answers it.
- **Full view / Doc view.** Doc view shows the App under its title in the reading column. Full view gives the block the whole screen, with no header. The choice is saved on the App, so every reader sees the same layout, on a published board too.
- **Expand** opens blocks that have a larger editor, such as a diagram, in their full view.

A custom block fills a 4:3 frame as wide as the page, takes Infa's light or dark theme, and follows a switch of theme at once. Its saved state (a checklist's ticks, a counter, a chosen filter) is stored in the App, so everyone on the board sees the same thing.

## Ask a board agent from an App

An App can hand a request to one of your [board agents](https://infa.ai/docs/runners-agents): a "Summarize these failures" button, a "Draft the release note" action. In **Configure**, choose the agent under **Answered by**.

When the App asks, nothing runs on its own. A bar over the App shows the request, and you choose **Send** or **Dismiss**. Send queues a run for the agent, the bar follows it (queued, working, answered), and the agent's report comes back into the App. Only board editors can send. An App with no agent named, an App on a published board, and an App opened locally never ask.

## Apps on a published board

When you publish a board to the community (in the **Share** dialog, under **Community**), its Apps are published with it. Guests see each App run as it does for you, including Apps made from custom blocks. A guest cannot change anything: the App's saved state is shown as it is, and nothing a guest does is saved.

## Open an App in a chat

An App made from a custom block is a standard MCP App, so it also runs inside an AI chat that renders MCP Apps, such as Claude desktop, ChatGPT or VS Code. Ask your agent to open it: the agent calls `infa_openApp` with the App's paper ID, and the chat shows the App with its saved state and its connections.

Claude Code in a terminal cannot draw an App. There the agent gives you the App's link instead.

## Build an App before it is on a board

You can build and try an App on your machine first, with no account: write it as a file named `something.app.html` in your repository and run `npx infa preview something.app.html`. See [Building Apps and App Blocks](https://infa.ai/docs/building#build-and-preview-locally).

## Related Topics

- [Building Apps and App Blocks](https://infa.ai/docs/building)
- [Apps and App Blocks overview](https://infa.ai/docs/app-blocks)
- [MCP Server](https://infa.ai/docs/mcp)
