> For the complete documentation index, see [llms.txt](https://docs.lleverage.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lleverage.ai/platform/data-tables.md).

# Data Tables

Data Tables in Lleverage allow you to store, manage, and work with structured data directly within your projects. You can bring data in from files or workflows, organise it with customisable columns, link records across tables, collaborate through comments and requests, and connect everything to your workflows.

### Key Features

* Flexible data storage with a wide range of column types, including files, users, and links between tables
* Multiple import options (CSV, XLSX, XLS, JSON) with column mapping and per-row error reporting
* Export to CSV, XLSX, or JSON
* Saved views with filters, sorting, and column visibility
* A board view for working with records as cards grouped by status
* Comments, linked requests, and a change timeline on every record
* Row locking, pinning, and de-duplication controls
* Ready-made table templates and one-click table duplication
* Full workflow integration with triggers and actions

### How to Create a Table

1. **Open Data Tables** in your project.
2. **Choose how to start:**
   * **Import Data** – upload a file and create a table from its contents
   * **Use a Template** – start from a ready-made table template for common use cases
   * **Start from Scratch** – create a blank table and define your own columns
3. **Add columns and records** to shape your table.

> 💡 When you create a blank table, Lleverage automatically suggests a title and description for it once you've added columns, so you don't have to start with naming.

You can also **duplicate an existing table** from the table list. Duplication runs in the background and you'll be notified when the copy is ready.

### Interface Overview

When you open a Data Table, the interface is organised as follows:

* **Header:** The table name (click it to open table settings), your view tabs, and a button to add a new record. If you've told Lleverage what your records are called, the button uses that name, for example "New Invoice" instead of "New Record".
* **Toolbar:** Filter, search, row density (Compact, Standard, or Spacious), column visibility, create view, export, and a Columns button for managing columns and switching between the list and board layouts.
* **Filter chips:** When filters are active, they appear as chips below the toolbar with a Reset option.
* **Bottom bar:** The record count, a completion indicator showing what percentage of the table is filled in, a shortcut for setting up automations on this table, and pagination controls.

### How to Access Table Settings

1. **Open your Data Table.**
2. **Click the table name** in the top left corner.
3. **Adjust the settings** in the popover:
   * **Pin to sidebar** – pin this table for quick access
   * **Description** – describe what the table is for
   * **Records are called** – a single word for what each row is (for example "invoice"), used for buttons like "New Invoice"
   * **Add rows manually** – allow users to add new rows to the table
   * **Read-only mode** – lock the table from editing
   * **Remove duplicate rows** – automatically remove duplicate rows based on a selected column
   * **Linked Workflow** – see and open any workflows triggered by this table

> 💡 To rename your table, click directly on the table name at the top of the screen and type the new name.

> ⚠️ The duplicate-removal setting cannot be changed once the table is running.

### How to Create and Manage Views

Views let you save different perspectives of your data without modifying the underlying table. A view remembers its filters, sorting, and which columns are visible. The "All" view is always available and shows every record.

1. **Set up the table how you want it** – apply filters, sorting, and column visibility.
2. **Click the Create view button** in the toolbar.
3. **Name your view** and fine-tune its filters if needed.
4. **Choose the sharing options:**
   * **Visible for everyone** – share the view with the rest of your team
   * **Set as default view** – make this the view people land on
5. **Save.** The view appears as a tab next to "All".

Each view has a menu where you can **Edit**, **Duplicate**, or **Delete** it.

> 💡 When a view has its own filters, they appear as locked chips in the filter row. You can layer extra filters on top, and Reset takes you back to just the view's filters.

### Grid and Board Layouts

Tables can be displayed as a standard grid or as a board of cards, similar to a kanban board.

1. **Click the Columns button** in the toolbar.
2. **Under "View", choose List or Kanban.**

On the board:

* Records are grouped into columns by a **Single Select** column. Use the "Group by" selector in the toolbar to choose which one.
* **Drag a card** to another column to update that record's value.
* **Click a card** to open the record's details.

> ⚠️ The board needs at least one Single Select column in your table. If there isn't one, add it first.

### How to Add a New Record

1. **Click the new record button** in the top right corner (for example "New Record" or "New Invoice").
2. **Fill in the fields** in the form and save.

> 💡 The form also has an "Import from file" option if you'd rather bring in many records at once.

### How to Add Columns

1. **Click the Add Column button** at the right-hand end of the table (or use "Insert 1 column left" / "Insert 1 column right" from an existing column's menu).
2. **Name the column** and optionally add a description.
3. **Select the column type:**
   * **Text** – free text
   * **Number** – numeric values, with formatting options such as currency or percentage
   * **Toggle** – on/off values
   * **Date** – dates
   * **Single Select** – one choice from a set of options, each with its own colour
   * **Multi Select** – multiple choices from a set of options
   * **List** – a list of values
   * **Array** – a collection of structured values
   * **Object** – structured data
   * **File** – file attachments uploaded to the record
   * **User** – a person from your organisation
   * **Relationship** – a link to records in another table
4. **Optionally add example values** to guide AI extraction into this column.
5. **Save the column.**

### How to Edit Columns

Open a column's menu from its header to:

* **Edit column** – change the display name, description, and examples
* **Insert 1 column left / right**
* **Change colour** – highlight the column with a colour
* **Format** – for Number columns, choose how values display (currency, percentage, and so on)
* **Change type** – convert the column to a different type
* **Duplicate** the column
* **Sort** ascending or descending
* **Filter on this column**
* **Lock Column / Unlock Column** – prevent the column from being edited
* **Hide** the column
* **Delete** the column

You can also drag column headers to reorder them, or open the **Columns** dialog from the toolbar to rearrange, edit, and delete columns in one place. The **column visibility** button in the toolbar controls which columns are shown.

### Changing a Column's Type

When you change a column's type, Lleverage analyses your existing data before anything is converted:

1. **Choose "Change type"** from the column menu and pick the new type. Options that could lose data are marked.
2. **Review the analysis** – you'll see any warnings plus sample conversions showing original and converted values side by side.
3. **Confirm to run the conversion.** It runs in the background, and you'll see how many values were converted, skipped, or failed.

### Relationships Between Tables

Relationship columns link records in one table to records in another, for example linking invoices to suppliers.

1. **Add a column** and choose the **Relationship** type.
2. **Configure the relationship:** pick the table to link to, the kind of relationship (One to One, One to Many, Many to One, or Many to Many), and which field from the linked table to show.
3. **Link records** by clicking the cell and searching for the record you want in the record picker.

Linked records appear as badges in the cell, and you can hover or click them to preview the linked record. You can also filter on relationships using "Is linked to" and "Is not linked to" conditions.

### File Columns

File columns let you attach files directly to records. Click the cell (or the field in the record form) and upload a file; it's stored with the record and can be previewed and downloaded later.

### How to Work with Rows

**Right-click any row** for quick actions:

* **View Details** – open the record's side panel
* **Filter on this Row** – filter the table to matching records
* **Duplicate** the record
* **Lock Row / Unlock Row** – locked rows can't be edited until unlocked
* **Pin** the row to keep it at the top
* **Hide** the row
* **Delete** the record

#### Bulk actions

Select multiple rows to act on them together:

* **Delete** – remove all selected records
* **Update field** – set one field to the same value across the selection
* **Duplicate** – copy the selected records
* **Lock / Unlock** – lock or unlock the selection in one go
* **Copy ID** – copy the selected record IDs
* **Run** – run row-level automation (requires a workflow trigger set up for this table)

> ⚠️ Locked rows are skipped by bulk field updates, and deleting records cannot be undone.

#### Pagination

The bottom of the table shows pagination controls where you can navigate between pages and set the number of records displayed per page.

### Record Details, Comments, and Requests

Open a record (via View Details or by clicking a board card) to see its side panel with four tabs:

* **Details** – all the record's fields, editable in place
* **Requests** – any workflow requests linked to this record, such as approvals waiting on it
* **Timeline** – a history of the record: when it was created and updated, by whom, and any comments along the way
* **Comments** – discuss the record with your team

> 💡 The [Request Inbox](/platform/request-inbox.md) has a Record filter, so you can also work the other way round: see every request that touches a particular record from the inbox.

### Change History

Lleverage keeps a history of changes to your data at the table, record, and field level, including what changed, who changed it, and when. The quickest way to review a record's history is the **Timeline** tab in its side panel.

### Removing Duplicate Rows

To keep a table clean automatically, turn on **Remove duplicate rows** in the table settings. Duplicates are detected based on a selected column and removed automatically as data comes in.

> ⚠️ This setting cannot be changed once the table is running, so decide on it early.

### How to Filter Records

1. **Click the Filter button** in the toolbar.
2. **Pick a column** and tick the values you want to see, or choose **Advanced** for more control.
3. **Active filters appear as chips** below the toolbar. Click a chip to adjust it, or click Reset to clear your filters.

#### Advanced filters

Advanced filters let you combine multiple conditions with "and"/"or" logic. The available conditions depend on the column type, for example:

* **Text:** equals, contains, starts with, ends with, is empty, and more
* **Number:** greater than, less than, and their variations
* **Date:** on, before, after, on or before, on or after
* **Toggle:** is true, is false
* **Select and List columns:** includes, includes all, includes any
* **Relationship:** is linked to, is not linked to

### How to Search Records

Type in the **search box** in the toolbar and results filter in real time.

### How to Import Data

1. **Click the new record button**, then choose **Import from file**.
2. **Upload your file** – CSV, XLSX, XLS, or JSON.
3. **Pick a sheet** if your Excel file has more than one.
4. **Map your columns** – match the columns in your file to the fields in your table, or create new columns for anything unmatched.
5. **Start the import.** For large files you can choose **Import in Background** and keep working while it runs.
6. **Review the results** – when the import finishes, a summary shows how many records were imported and lists any rows that failed, with the reason for each.

> 💡 The Import History for the table is shown inside the import dialog, so you can see previous imports and their outcomes in the same place.

### How to Export Data

1. **Click the Export button** in the toolbar.
2. **Choose a format:** CSV, XLSX, or JSON.
3. **Download your file.** The export covers all visible records, so filters are respected.

### Workflow Integration

Data Tables integrate fully with Lleverage workflows, both as triggers and actions.

> 💡 You can also set up an automation directly from the table itself, using the automation shortcut in the table's bottom bar: bring data in, send data out, or modify data whenever records change.

#### How to Set Up a Data Table Trigger

Use Data Table triggers to start a workflow when changes occur in your table.

1. **Add a new trigger** to your workflow and select the Data Tables trigger.
2. **Select the table** you want to monitor.
3. **Choose one or more events:** record created, record updated, or record deleted.
4. **Optionally add filter conditions** so the workflow only runs for records matching specific criteria.

#### How to Create a Record

Creates a new record in a specified table.

1. **Add the "Create Record" action** to your workflow.
2. **Select the target table.**
3. **Fill in the values** for each field, using variables to populate fields with dynamic data from your workflow.

#### How to Find a Record

Retrieves existing records from a table.

1. **Add the "Find Record" action** to your workflow.
2. **Select the table to search.**
3. **Choose your find method:** by record ID, or by filter conditions.
4. **Set the return mode:** first, last, all, or a specific position in the results.
5. **Configure the fail-on-empty behaviour** to decide what happens when nothing matches.

#### How to Update a Record

Modifies existing records in a table.

1. **Add the "Update Record" action** to your workflow.
2. **Select the target table.**
3. **Choose your update method:** by record ID, or by filter conditions.
4. **Enter the new values** for the fields you want to update.

#### How to Delete a Record

Removes records from a table.

1. **Add the "Delete Record" action** to your workflow.
2. **Select the target table.**
3. **Choose your deletion method:** by record ID, or by filter conditions.
4. **Configure the fail-on-empty behaviour.**

> ⚠️ Deleted records cannot be recovered. Use filters carefully to avoid accidentally removing unintended data.

### Best Practices

* Design your table structure thoughtfully before adding large amounts of data
* Use descriptive column names and descriptions, and add example values to help AI fill columns accurately
* Create views for different use cases rather than modifying the main table layout
* Use Relationship columns instead of copying the same data into multiple tables
* Lock rows or enable read-only mode to protect data that shouldn't change
* Use filters in both views and workflow triggers to work with specific subsets of your data


---

# 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://docs.lleverage.ai/platform/data-tables.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.
