---
title: "Tables"
description: "Store and query structured data — separate from the Board, which tracks work."
---

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

# Tables

A Table holds structured data you query, sum, or compute over — a list of contacts, expenses, inventory, or a content calendar. Tables are separate from the [Board](/core-concepts/board-and-tickets): the Board tracks work with an owner and a status, and a Table holds the records behind that work.

> **Tasks go on the Board, not in a Table**
>
> A row with a due date is still data, not a task. If the work needs an owner or
> a status, create a ticket instead — see [Board and
> tickets](/core-concepts/board-and-tickets).

## Table structure

A Table is made of columns and rows:

- **Scalar columns** hold text, numbers, checkboxes, dates, or a fixed set of choices.
- **Relation columns** link a row to a row in another Table.
- **Lookup columns** pull a field from a row linked through a relation.
- **Rollup columns** aggregate the rows linked from another Table (count, sum, average, minimum, maximum).

Relations let you build a small related schema — for example, Companies, Contacts, and Deals — where a Deal looks up its Contact's name and rolls up the total value of a Company's open Deals.

## Working with a Table from chat

Ask an agent in chat to create a Table, add columns, or write rows, and it returns a draft card showing exactly what will change. Nothing is created or written until you review the draft and confirm it — the same confirm-before-it-lands pattern as a ticket drafted from chat.

An agent can also read an existing Table directly — filtering, sorting, or computing an aggregate like a total or an average — without a confirmation step, because a read changes nothing.

## Keeping a Table filled automatically

A Table can stay filled by a scheduled source instead of manual entry or one-off chat writes. Configure a source from the Table, on a recurring cadence, and each run adds or updates rows using a mapping you define. A source can be paused, and its last run and recent history are visible from the Table.

## Related pages

	<LinkCard
		title="Board and tickets"
		href="/core-concepts/board-and-tickets"
		icon="ph:columns"
	>
		Track owned work with a status — not what belongs in a Table.
	</LinkCard>
	<LinkCard title="Agents" href="/core-concepts/agents" icon="ph:robot">
		See how an agent's tool access controls what it can read or write.
	</LinkCard>
	<LinkCard
		title="Approvals"
		href="/core-concepts/approvals"
		icon="ph:check-circle"
	>
		Review proposed changes before execution.
	</LinkCard>

Source: https://docs.aiagent.app/core-concepts/tables/index.mdx
