Similar to creating sources, we can create AI tables by simply changing the type and adding the ai_cols parameter:

ai_sales_calls.yaml
description: AI enhanced version of sales_calls
ai_cols:
  - name: successful
    type: Nullable(Bool)
    description: Whether this call was successful (which is defined as successfully
      setting up a follow up call). If the follow up scheduling is successful, the
      call should include an explicit date/time for the call.
    default_value: '""'
    using:
      - Transcript
  - name: competitors_mentioned
    type: Array(String)
    description: Who are the competitors mentioned (if any)?
    default_value: '"N/A"'
    using:
      - Transcript
  - name: features_mentioned
    type: Array(Enum('Customizable Templates', 'Inventory Management', 'Marketing
      Automation', 'Customer Support Integration', 'Social Media Integration', 'None'))
    description: Which features are mentioned in the call?
    default_value: '["None"]'
    using:
      - Transcript
cols:
  ID: UUID
  Transcript: String

We have a new parameter:

ai_cols
array

Columns to be filled by the AI source.

name
string
required

The name of the column.

type
string
required

The data type of the column.

description
string
required

A description of the column (see Data Types).

default_value
string

The default value of the column.

using
array
required

The columns to use in the AI transformation.