> ## Documentation Index
> Fetch the complete documentation index at: https://failfast.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Build pages with blocks

> Compose working screens from tables, forms, reports, and dashboards using the Notion-style block editor.

Pages in Fail Fast are Notion-style documents. You write and arrange content as blocks, and you can mix ordinary text with live pieces of your workspace — tables, forms, reports, and dashboards. This is how most working screens in Programs are built.

## Inserting blocks

Type **/** anywhere on a page to open the block menu, then pick the block you want. Standard text blocks (headings, paragraphs, lists, and similar) are available alongside multi-column layouts for arranging blocks side by side.

Pages also support an **icon** and a **cover**, so each screen in your Programs tree can be easy to recognize.

## The Fail Fast blocks

These blocks embed live parts of your workspace into a page:

<AccordionGroup>
  <Accordion title="Table">
    Embeds a table with its views and toolbar, so people can search, filter, sort, and open records right on the page. You can switch a table block to a different table from the block menu. See [Tables](/docs/data/tables).
  </Accordion>

  <Accordion title="Page">
    Nests a sub-page inside the current one. Use it to break a large topic into linked screens without cluttering the Programs tree.
  </Accordion>

  <Accordion title="Callout">
    A highlighted note. Use it for instructions, warnings, or context your team should read before working with the content below.
  </Accordion>

  <Accordion title="Report">
    Embeds a report on the page. See [Dashboards and reports](/docs/reporting/dashboards-and-reports).
  </Accordion>

  <Accordion title="Operation">
    Embeds a form to run an operation or create records directly from the page — no need to open the table first. See [Forms](/docs/data/forms).
  </Accordion>

  <Accordion title="Dashboard">
    Embeds a dashboard so key metrics live next to the data they summarize. See [Dashboards and reports](/docs/reporting/dashboards-and-reports).
  </Accordion>
</AccordionGroup>

## Composing a working screen

The power of the editor is combination. A typical operations page might stack:

1. A **Callout** at the top with instructions for the team.
2. A **Dashboard** block showing today's key numbers.
3. A **Table** block underneath with the records behind those numbers.
4. An **Operation** block so people can create new records without leaving the page.

Arrange blocks in multi-column layouts when side-by-side reads better than stacked — for example, a form next to the table it feeds.

<Tip>
  Keep one page per job to be done. If a page starts serving two audiences, split the second half into a nested **Page** block or a separate item in Programs.
</Tip>

## Sharing what you build

Pages can be shared with specific people or published to the web — see [Sharing and publishing](/docs/platform/sharing-and-publishing).
