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

# Grids

> A spreadsheet where every row runs the same playbook. Import your list, run it, and review row by row.

A playbook that works on one page is only useful if it works on four hundred. A grid is how you get there.

## A grid is a spreadsheet with a playbook wired into it

Open one and it looks like a spreadsheet, because that's what it is. Columns run left to right in three groups. The **input columns** hold what the playbook needs, one set per row. The **playbook column** is the run itself. The **output columns** fill in with what came back.

On a grid built from an FAQ playbook, that reads: article URL, number of FAQs, country, language and whether to use the Brand Kit, then the playbook, then the FAQs and the schema it generated.

<Frame caption="The input columns. One set of values per row, and the row and column counts against the limits in the footer.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/grid.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=70268b2a3fb7e636d2a8e987afd90d61" alt="A grid showing the input columns of an FAQ playbook: article URL, number of FAQs, country code, language code and Brand Kit" width="1999" height="727" data-path="images/agents/grid.webp" />
</Frame>

Scroll right and the playbook column comes into view, with the output columns after it.

<Frame caption="A row that has run shows View output. One that hasn't shows Run. The columns after it hold what came back.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/grid-outputs.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=af720643c444cd2d72f465a2178e1adb" alt="The playbook column of a grid showing View output on two rows and Run on a third, followed by the FAQ markdown and schema output columns" width="1999" height="727" data-path="images/agents/grid-outputs.webp" />
</Frame>

Create one from the playbook's own screen with **Create grid**.

## Fill it by hand or import the list

Add rows one at a time with **+ Row**, or use **Import** when the list already exists somewhere else. Most real work starts as a CSV from another tool, so import is usually the faster way in. **Export** takes the finished grid back out, outputs included.

A grid holds up to **1,000 rows and 28 columns**. Past that, split the work across more than one grid.

## Run one row before you run all of them

**Run All** starts every row that hasn't run. Each row also has its own **Run**.

Use the single-row run first, on real input, and read what comes back. A playbook that gets it right once is worth pointing at the other three hundred rows. One that doesn't is a cheap thing to find out early, while the fix costs one row instead of four hundred.

## Review happens per row

Rows are reviewed one at a time rather than the grid being accepted in one go. The grids list counts **Rows pending review** and **Rows completed** separately, so a grid can be part done.

That matters at volume. Approve a first batch, check the quality held, then work through the rest. A row that came back wrong doesn't hold up the ones that came back right.

<Frame caption="The grids list. Rows pending review is the column to watch.">
  <img src="https://mintcdn.com/writesonic/G2QZh22t9vDDBoZL/images/agents/grids.webp?fit=max&auto=format&n=G2QZh22t9vDDBoZL&q=85&s=23be62345230a2ce43823034a691eab3" alt="The Grids table showing rows pending review, rows completed and the playbook each grid uses" width="2000" height="906" data-path="images/agents/grids.webp" />
</Frame>

## What's next

<CardGroup cols={2}>
  <Card title="Build a playbook" href="/agents/build-a-playbook" icon="wand-magic-sparkles">
    Write the procedure a grid runs.
  </Card>

  <Card title="Approvals" href="/agents/approvals" icon="circle-check">
    See how review works elsewhere in Agents.
  </Card>
</CardGroup>
