Skip to main content

Tables

Search tables enable your AI to retrieve specific records from structured datasets. Unlike traditional knowledge search that retrieves paragraphs of text, tables allow your AI to find exact rows based on multiple criteria - like looking up products by category and price range, or finding customers by location and status.

Why Use Tables?

Tables are valuable when you need your AI to:
  • Query structured data - Search databases of products, customers, orders, or any tabular data
  • Retrieve specific records - Find exact matches based on multiple filter criteria
  • Access up-to-date information - Use dynamic data that changes frequently
  • Provide precise answers - Return specific values from your database rather than general text
  • Support complex queries - Enable multi-field filtering with ranges, dates, and selections
  • Scale beyond text search - Handle datasets with hundreds of thousands of records efficiently
AI-Powered Data Retrieval: Search tables give your AI structured access to your data. The AI automatically generates the right search parameters based on natural language questions, eliminating the need for users to know query syntax or database schemas.

How Tables Work

When you create a search table, you define the structure and search capabilities of your data:
  1. Upload your data - Import CSV, JSONL, or JSON files with your records
  2. Configure fields - Define data types (text, number, date, etc.) for each column
  3. Set search types - Choose how each field can be searched (text search, select, range, etc.)
  4. Enable for AI - Attach the table to an AI profile as a tool
  5. AI queries the table - When users ask questions, the AI generates appropriate search parameters and retrieves matching records

Data Flow

User Question

AI interprets question

AI generates search parameters (filters)

Table search executes

Matching records returned

AI formats results in natural language

Setting Up Tables

Creating a Table

  1. Navigate to Tables in your project
  2. Click Create Table
  3. Enter a descriptive name
  4. Click Create
You now have an empty table ready for data.

Importing Data

Tables support three file formats: CSV (Comma-Separated Values)
  • Simplest format for tabular data
  • First row must contain column headers
  • Best for exporting from spreadsheets
JSONL (JSON Lines)
  • One JSON object per line
  • Preserves data types (numbers, booleans, nested objects)
  • Best for database exports
JSON (with schema)
  • Includes both data and field configuration
  • Format: {"objects": [...], "fields": [...]}
  • Best for complete table definitions with search types

Import Process

  1. Open your table
  2. Click Import
  3. Select your data file
  4. The system automatically detects columns and loads data
Row Limits: Non-superusers can preview up to 250,000 rows. All data is stored, but only the first 250,000 rows are shown in the preview.

Configuring Field Types

Each column in your table needs a data type and search type.

Data Types

Click the dropdown under each column header to select:
  • Text - String values (names, descriptions, IDs)
  • Number - Numeric values (prices, quantities, scores)
  • Date - Date only (2024-01-15)
  • DateTime - Date and time with timezone
  • Boolean - True/false values
  • JSON - Complex nested objects
  • Vector - Embedding vectors for semantic search
  • Array - Lists of values

Search Types

Each data type supports specific search types: Text fields can be:
  • Same as data type - No filtering (display only)
  • Search text - Full-text search with partial matching
  • Select - Single value selection (up to 500 unique values)
  • Multiselect - Multiple value selection (up to 500 unique values)
Number fields can be:
  • Same as data type - No filtering
  • Range filter - Min/max range selection
Date/DateTime fields can be:
  • Same as data type - No filtering
  • Datetime filter - Date range selection
Boolean fields can be:
  • Same as data type - No filtering
  • Toggle - True/false filter
JSON, Vector, and Array fields:
  • Same as data type - No filtering (display only)
Unique Value Limit: Select and multiselect search types only work when a field has 500 or fewer unique values. If you have more, the system automatically restricts you to text search.

Field Configuration Tips

To edit field settings:
  1. Click the column name to rename it
  2. Use the dropdown to change data type and search type
  3. Changes apply immediately
Field statistics help you make decisions:
  • Unique count - Number of distinct values (capped at 500+)
  • Filled percentage - Percentage of non-empty rows
  • Distribution - Most common values (for fields with fewer than 500 unique values)
Click the lightbulb icon on any column to see detailed insights.

Verifying Data

Before using your table, verify the data matches your configuration:
  1. Configure all field types
  2. Click Verify data
  3. Review any validation errors
  4. Fix issues by adjusting field types or data
  5. Re-verify until validation passes
Common validation errors:
  • Numbers that don’t match your number format
  • Invalid date formats
  • Boolean fields with non-boolean values
  • JSON fields with malformed JSON

Format Settings

Click the settings icon to configure: Timezone - How datetime values are interpreted:
  • UTC (default)
  • America/New_York
  • America/Los_Angeles
  • Europe/London
  • Europe/Berlin
  • Asia/Tokyo
Number format - How numbers are parsed:
  • US: 1,234.56 (default)
  • DE: 1.234,56

Attaching Tables to AI

Once your table is configured, enable it for AI use:
  1. Go to your AI profile
  2. Navigate to the Tools tab
  3. Scroll to Search Tables
  4. Click Add Search Table
  5. Fill in the details:
    • Tool Name - How the AI refers to this tool (e.g., search_products)
    • Tool Description - When the AI should use this tool (e.g., “Search the product catalog by category, price, and availability”)
    • Select Table - Choose your configured table
  6. Click Add Search Table
The AI now has access to search this table when answering questions.
Good Tool Descriptions: Write clear descriptions that explain what data the table contains and when to use it. This helps the AI decide when to search the table versus using other knowledge sources.Example: “Search our customer database to find customer records by company name, industry, location, or account status. Use this when users ask about specific customers or need customer lists matching certain criteria.”
Preview how the AI will search your table:
  1. Open your table
  2. Click Search
  3. The search dialog shows:
    • Search Schema - The exact tool definition the AI sees (JSON Schema format)
    • Input Form - Interactive form to test search parameters
    • Query - JSON representation of your search
    • Search Results - Records matching your criteria

Testing Process

  1. Fill out the search form with various criteria
  2. Click Search
  3. Review the returned records
  4. Adjust field configurations if results aren’t as expected
  5. Click Copy & Test in Playground to test with OpenAI’s interface
This testing ensures your table behaves correctly before users interact with it.

Exporting Tables

Export your table data and configuration: Click Export and choose a format: Data Only:
  • JSONL - Raw data, one record per line
  • CSV - Spreadsheet-friendly format
Schema & Data:
  • JSON - Complete table definition including field types and search configurations
Use JSON export to backup your table or migrate it between projects.

Best Practices

Structure Your Data

Design tables for efficient searching:
  • Use meaningful column names - Clear names help the AI understand the data
  • Normalize values - Use consistent formats (e.g., all caps for status codes)
  • Avoid empty fields - Fill in as many fields as possible for better filtering
  • Include IDs - Add unique identifiers for precise record lookup
  • Add timestamps - Include creation/update dates for temporal filtering

Choose Appropriate Search Types

Select search types that match how users ask questions:
  • Text search - For fields users describe in various ways (product names, descriptions)
  • Select/Multiselect - For fields with limited, known values (categories, statuses)
  • Range - For continuous numbers (prices, quantities, scores)
  • Between - For date ranges (order dates, event times)

Optimize for Performance

Keep your tables fast:
  • Limit columns to relevant fields - More fields create more complex search forms
  • Use select instead of text search when possible - Select fields are faster
  • Keep data current - Update tables regularly by re-importing fresh data
  • Test with realistic queries - Ensure common searches return results quickly

Write Clear Tool Descriptions

Help the AI know when to use each table: Good:
"Search our product catalog to find items by category, brand, price range,
and availability status. Use this when customers ask about products,
pricing, or inventory."
Avoid:
"Product search table"
The description should explain:
  • What data the table contains
  • What fields can be searched
  • When to use this table versus other tools

Common Use Cases

Scenario: E-commerce site with thousands of products Setup:
  • Import product data (SKU, name, category, brand, price, inventory)
  • Configure text search on name and description
  • Use select for category and brand
  • Use range for price
  • Use toggle for in-stock status
Result: AI can answer “Show me all laptops under dollar 1000 from Dell that are in stock”

Customer Database Lookup

Scenario: Support team needs to find customer records Setup:
  • Import customer data (ID, name, company, industry, location, status)
  • Configure text search on name and company
  • Use select for industry and location
  • Use multiselect for status
  • Include creation date with date filter
Result: AI can answer “Find all enterprise customers in California with active accounts” Scenario: Track and query order records Setup:
  • Import order data (order ID, customer, product, quantity, price, date, status)
  • Configure text search on order ID and customer
  • Use select for status
  • Use range for price and quantity
  • Use date filter for order date
Result: AI can answer “Show me all orders over dollar 500 from last month that are pending”

Knowledge Base Articles

Scenario: Search internal documentation by topic Setup:
  • Import articles (title, content, category, tags, updated date)
  • Configure text search on title and content
  • Use multiselect for category and tags
  • Use date filter for updated date
Result: AI can answer “Find recent articles about billing in the support category”

Updating Tables

To update table data:
  1. Export your current table as JSON (to preserve field configuration)
  2. Update the objects array in the JSON with new data
  3. Import the updated JSON file
  4. Verify data to ensure new records match field types
Re-importing Replaces Data: Importing a file replaces all existing data. Use JSON export/import to preserve your field configuration when updating data.

Troubleshooting

Table Not Appearing in AI Tools

If your table doesn’t show in the AI profile:
  • Verify the table has data loaded
  • Check field configurations are complete
  • Save any pending changes
  • Refresh the AI profile page

AI Not Using the Table

If the AI doesn’t search your table when expected:
  • Review the tool description - make it more specific
  • Test search manually to verify it works
  • Check that search types match expected query patterns
  • Add more descriptive field names

Validation Errors

If data verification fails:
  • Review error messages to identify problematic rows
  • Check data types match your data format
  • Verify number formats match your settings
  • Adjust field types to match actual data

Search Returns No Results

If searches return empty results:
  • Verify data is loaded (check row count)
  • Test with broader search criteria
  • Check field values match expected format
  • Review filter combinations - they use AND logic

Performance Issues

If searches are slow:
  • Reduce the number of searchable fields
  • Use select fields instead of text search where possible
  • Consider splitting large tables into smaller topic-specific tables
  • Contact support for datasets over 500,000 rows

Advanced Features

Custom Field Names

Click any column header to edit the display name:
  • Original column name appears below
  • Display name is shown in search forms
  • Use descriptive names that clarify field purpose

Distribution Insights

For fields with fewer than 500 unique values, view value distribution:
  • Click the lightbulb icon on any column
  • See percentage and count for each value
  • Helps identify data quality issues
  • Assists in choosing search types

Pagination

Navigate large datasets:
  • Use pagination controls at the bottom
  • Select rows per page (10, 20, 50, 100)
  • Jump to first/last page
  • Navigate page by page

Cell Expansion

View complete cell contents:
  • Click any cell to expand it
  • See full JSON objects
  • View long text values
  • Useful for complex data

Next Steps

Now that you understand tables: