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

# Create vault column

> Add a column to a vault, so GC AI extracts one more thing from its documents.

<Note>
  The MCP server is in public beta. It is open to use and still being refined, so tools and behavior may change.
</Note>

<Info>
  **Tool** `create_vault_column` · **Behavior** Additive
</Info>

Add a column to a vault, so GC AI extracts one more thing from its documents. Adding a column does NOT read the documents already in the vault: it starts empty for all of them and fills in for documents added afterwards. Backfilling the existing ones is a separate action someone takes in the app, so say so rather than waiting for values to appear. A vault holds at most 500 columns.

## Input parameters

<ParamField body="vault_id" type="string (uuid)" required>
  The vault to add the column to.
</ParamField>

<ParamField body="label" type="string" required>
  Column heading people see.
</ParamField>

<ParamField body="instructions" type="string">
  What the AI should look for in each document. Required for an `ai` column, which is the default.
</ParamField>

<ParamField body="field_type" type="string">
  One of: text, rich\_text, date, date\_range, enum, multi\_enum, boolean, number, currency, percentage, duration, email, url, list. Defaults to text. `enum` and `multi_enum` need `field_meta`.
</ParamField>

<ParamField body="field_meta" type="object | null">
  The choices for an enum or multi-select column: 2 to 12 unique options. Must be null for every other column type.

  <Expandable title="properties">
    <ParamField body="type" type="'enum' | 'multi_enum'" required />

    <ParamField body="options" type="string[]" required />
  </Expandable>
</ParamField>

<ParamField body="extraction_mode" type="'ai' | 'manual'">
  `ai` (the default) has GC AI fill the column. `manual` leaves it for people to fill in.
</ParamField>

<ParamField body="field_key" type="string">
  The stable key for this column in `get_vault_documents`. Omit and GC AI derives it from the label. It never changes, even if the label does.
</ParamField>

## Response

<ResponseField name="column" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="string | null" />

    <ResponseField name="field_key" type="string" />

    <ResponseField name="label" type="string" />

    <ResponseField name="field_type" type="string" />

    <ResponseField name="kind" type="'built_in' | 'system' | 'custom'" />

    <ResponseField name="editable" type="boolean" />

    <ResponseField name="extraction_mode" type="string" />

    <ResponseField name="instructions" type="string" />

    <ResponseField name="field_meta" type="object | null">
      <Expandable title="properties">
        <ResponseField name="type" type="string" />

        <ResponseField name="options" type="string[]" />

        <ResponseField name="legacy_options" type="string[]" />
      </Expandable>
    </ResponseField>

    <ResponseField name="sort_order" type="number" />
  </Expandable>
</ResponseField>
