Introduction to AI Tables

Phacet runs on two core concepts: AI Tables and Projects.

Together, they let you structure raw data, apply AI or code at scale, and turn fragmented inputs (documents, files, events) into reliable, repeatable workflows you can operate and automate over time.

AI Tables

An AI Table is a structured dataset made of rows and columns, where each column can run AI, code, or web-based transformations at scale.

Each AI Table can have its own structure, transformations, and data — allowing you to build complete workflows or break complex processes into multiple connected tables.

AI Tables are edited and operated through a spreadsheet-like interface, making it easy to configure workflows, review results, and iterate.

Use AI Tables to:

  • Extract structured data from documents (invoices, contracts, emails...)
  • Categorize and tag content automatically
  • Generate text, summaries, or analyses
  • Transform data with Python code
  • Enrich data with web search

Projects

Projects group AI Tables that belong to the same business workflow or operational domain, in a single container.

Use Projects to organize, separate, and scale workflows independently, while keeping related AI Tables aligned around the same objective.

AI Table structure

AI Tables are made of 3 core elements:

Columns

Columns define the structure of your data. Each column has:

  • A name identifying the data it holds
  • A type defining how values are stored and displayed (Text, Number, File, Date, etc.)
  • An optional generation logic used to determine how values are generated (User input, AI, Code, Web Search)

Rows

Rows represent individual records in your AI Table. Each row contains all the relevant data for a single item — for example, one invoice, one email, or one product.

Cells

Cells are the individual values at the intersection of a column and a row. A cell can contain user-provided input or display the output of a transformation.

Column types

Column types define how data is stored and displayed. Choose the type that matches your data.

TypeDescriptionExample use
TextFree-form text contentExtracted descriptions, AI-generated summaries
NumberNumeric valuesAmounts, quantities, scores
DateDate valuesInvoice dates, deadlines
FilePDF documentsSource documents for extraction
Single SelectOne option from a predefined listCategory, status
Multiple SelectMultiple options from a predefined listTags, labels
JSONStructured data in JSON formatComplex nested extractions
CollectionExtracts multiple rows from a single documentLine items, list of entities
MatchLinks data to an existing datasetSupplier matching, product lookup

💡 Each column type has dedicated documentation covering configuration and best practices.

Select the best column type for your workflow

Generating AI Table values: the power of Tools

AI Tables define what data exists and how it’s structured. To generate values, you can either do it manually or attach specific transformation reasoning to columns.

This reasoning is handled by Tools, which run when you generate values. You can configure a tool for any column (except File columns).

At a high level:

  • Tools operate at the column level
  • They run row by row
  • They can read input from other columns
  • They write results into the column they’re attached to

Phacet supports different tools depending on your needs:

  • AI Tool: Uses AI to generate values based on a prompt. The AI can read other columns as context.
  • Python Tool: Executes custom Python code to transform data. Use this for deterministic logic, calculations, or data manipulation.
  • Web Search Tool: Use AI in combination with external web search to enrich results.

Each tool has its own configuration, behavior, and best practices. For details on how to configure and use each tool, see: • AI Tool detailed guidePython Tool detailed guideWeb Search Tool

💡

You can chain tools across columns — for example, extract text with AI, then process it with Python, then enrich it with Web Search.

References

References allow you to use values from other columns as input for your tools.

How to reference a column

In your prompt or script, type @ followed by the column name:

  • @Invoice — References the "Invoice" column
  • @Supplier Name — References the "Supplier Name" column

Example: AI prompt with references

Extract the total amount from @Invoice.
The supplier is @Supplier Name.
Return the amount as a number.

Example: Python code with references

invoice_text = @Extracted_Text

def main():
    if not invoice_text:
        return None

    try:
        return float(invoice_text.split("Total:")[-1].strip())
    except ValueError:
        return None
💡

References are resolved at generation time — each row gets its own values injected.

Working with your data

Import data

There are two ways to populate an AI Table, depending on whether you want to work manually or automate ingestion.

1. Manual import

Use this approach when you’re working with ad-hoc data.

  • Add row: Click Add row to create rows manually.
  • Drag and drop: Drop files directly into a File column.
  • CSV import: Import a CSV file that matches your column structure.

You can import multiple files or CSVs with thousands of rows at once. New rows are created automatically.

2. Automated import (API & integrations)

Use this approach when data arrives continuously or must stay in sync with other systems.

AI Tables can be populated automatically via:

  • Phacet API
  • Automation tools such as Zapier, Make, or n8n

This lets you:

  • Push new rows when an event occurs (e.g. new email, new invoice, new form submission)
  • Stream data from external systems (ERP, CRM, storage, inboxes)
  • Run AI Tables as part of an end-to-end automated workflow
💡

Automated imports follow the same rules as manual ones: each incoming item becomes a new row, processed by the column logic you configured.

Generate results

You can trigger results generation at different levels:

  • Column level: Column menu → Generate values to process all cells.
  • Row level: Click Generate row to process a single row.
  • Cell level: Right-click a cell to generate or regenerate its value.

Export results

  1. Click Export in the top-right toolbar.
  2. Choose CSV or Excel format.
  3. Click Export.
💡

You can automate exports using our API, webhooks, or integrations with Zapier, Make & n8n.

Select the best-suited options to exploit your data