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

# Get Table Schema

> Retrieve Airtable table metadata and field definitions.

The **Get Table Schema** action reads a base's metadata, resolves one table by
name or ID, and returns its field definitions. It requires Airtable schema-read
permission rather than record-read permission.

## Inputs

| Input                   | Type             | Required | Description                              |
| ----------------------- | ---------------- | -------- | ---------------------------------------- |
| **Third-party account** | Airtable account | Yes      | Account with `schema.bases:read` access. |
| **Base ID**             | String           | Yes      | Airtable base ID.                        |
| **Table Name or ID**    | String           | Yes      | Exact table name or Airtable table ID.   |

## Outputs

| Output               | Type           | Description                      |
| -------------------- | -------------- | -------------------------------- |
| **Name**             | String         | Table name.                      |
| **Description**      | String         | Table description, when present. |
| **Primary Field ID** | String         | ID of the table's primary field. |
| **Fields**           | List of fields | Metadata for every table field.  |

Each **Fields** item contains:

| Field           | Type   | Description                      |
| --------------- | ------ | -------------------------------- |
| **ID**          | String | Airtable field ID.               |
| **Name**        | String | Visible field name.              |
| **Type**        | String | Airtable field type identifier.  |
| **Description** | String | Field description, when present. |

## Example: validate dynamic mappings

Use **Fields** as the source for a repeat step, then compare each field's
**Name** and **Type** with the mapping your workflow expects. Continue to the
record creation or update step only after the required fields have been
confirmed.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Table not found">
    Matching uses the exact Airtable table ID or table name. Inspect the base
    and verify the connected account can read its schema.
  </Accordion>
</AccordionGroup>
