> For the complete documentation index, see [llms.txt](https://captivatehelp.newbluelive.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://captivatehelp.newbluelive.com/play-and-update-graphics/chapter-index-1/tables-overview.md).

# Tables overview

**Tables** is Captivate’s general-purpose controller for driving graphics from data you manage — a spreadsheet, CSV file, Google Sheet, Excel workbook, XML file, JSON file, plain text file, or SQLite database. Tables turns rows and columns from that source into values your graphics can display.

## Tables or a Data Controller from the catalog?

Reach for **Tables** when the data can be treated as rows and columns — rosters, schedules, speaker lists, sponsor rotations, results you type yourself, or data exported from another system.

Reach for a [Data Controller from the catalog](/play-and-update-graphics/chapter-index-3.md) when Captivate has a controller built for a specific live source — a scoreboard, a weather service, presentation software, a Zoom meeting.

## Tables: Row or Tables: Block?

Tables comes in two variants. The difference is how many records drive the graphic at once:

* **Tables: Row** — one record drives the graphic at a time. One speaker for a lower third, one player for a stats card, one sponsor for a bug. This is the common path for driving standard graphics from spreadsheet-style data. See [Drive a graphic with Tables: Row](/play-and-update-graphics/chapter-index-1/drive-a-graphic-with-tables-row.md).
* **Tables: Block** — several records drive the graphic at once. A leaderboard with the top 10, a roster card with five players, a schedule page. See [Tables: Block Controller](/play-and-update-graphics/chapter-index-1/tables-block-controller.md).

Two specialized controllers extend this workflow: [Crawls](/play-and-update-graphics/chapter-index-1/crawls-controller.md) for tickers and crawls, and [Leaderboard](/play-and-update-graphics/chapter-index-1/leaderboard-controller.md) for ranked sports lists.

## Where the data can come from

Each Tables controller loads data from the **Load New Data** screen in three ways:

* **Browse** — a local CSV, Excel (`.xlsx`), JSON, XML, plain text, or SQLite (`.db`/`.db3`) file.
* **Create CSV** — start a new CSV from inside Captivate.
* **Open URL** — a web URL, including Google Sheets links.

Some online sources require sign-in. If Captivate asks you to authenticate, follow the prompt. For account-based sources, you can also manage saved accounts from **Settings → Internet Accounts**. For XML and JSON specifics, see [Use XML or JSON with Tables](/play-and-update-graphics/chapter-index-1/use-xml-or-json-with-tables.md).

{% hint style="info" %}
A Google Sheets source must be a **native Google Sheet**, not an Excel workbook uploaded to Google Drive. An `.xlsx` file stored in Drive stays an Excel file and can’t be loaded as a Google Sheet — even if you can still open it from Captivate. To use it, open the file in Google Sheets, choose **File > Save as Google Sheets**, and load the resulting Google Sheet.
{% endhint %}

## What’s in this chapter

1. [Drive a graphic with Tables: Row](/play-and-update-graphics/chapter-index-1/drive-a-graphic-with-tables-row.md) — the most common workflow: one record at a time from a spreadsheet, CSV, Google Sheet, XML, or JSON.
2. [Use XML or JSON with Tables](/play-and-update-graphics/chapter-index-1/use-xml-or-json-with-tables.md) — format-specific loading notes and when the legacy controllers still apply.
3. [Tables: Block Controller](/play-and-update-graphics/chapter-index-1/tables-block-controller.md) — several records at once: leaderboards, rosters, schedules.
4. [Crawls Controller](/play-and-update-graphics/chapter-index-1/crawls-controller.md) — tickers and crawls fed from a Tables source.
5. [Leaderboard Controller](/play-and-update-graphics/chapter-index-1/leaderboard-controller.md) — ranked lists fed from a Tables source.

## See also

* [4. Drive a graphic from a spreadsheet or file](/play-and-update-graphics/chapter-index/4-drive-from-spreadsheet.md) — the step-by-step introduction.
* [Legacy data controllers](/play-and-update-graphics/chapter-index-2.md) — the pre-Tables Spreadsheet, JSON, and XML controllers.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://captivatehelp.newbluelive.com/play-and-update-graphics/chapter-index-1/tables-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
