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

# Airtable

> Create a new Airtable record for every form submission.

The Airtable integration creates a new record in a base and table of your choice each time a `session.completed` event fires. It uses an Airtable Personal Access Token — no OAuth flow.

***

## Setup

<Steps>
  <Step title="Create a Personal Access Token in Airtable">
    Go to [airtable.com/create/tokens](https://airtable.com/create/tokens) and create a new token. Grant it the `data.records:write` scope and access to the base you want to use. Copy the token — it's only shown once.
  </Step>

  <Step title="Find your Base ID">
    Open the base in Airtable. The URL looks like `https://airtable.com/appXXXXXXXXXXXXXX/...`. The `appXXXXXXXXXXXXXX` part is your Base ID.
  </Step>

  <Step title="Add the integration in Feedal">
    Go to **Integrations → New integration → Airtable**. Enter your Personal Access Token, Base ID, and table name.
  </Step>

  <Step title="Attach to a form">
    Open a form and go to the **Connect** tab. Find the Airtable integration and click **Connect**.
  </Step>
</Steps>

***

## Configuration

| Field                     | Required | Description                                                        |
| ------------------------- | -------- | ------------------------------------------------------------------ |
| **Personal Access Token** | Yes      | Your Airtable PAT with `data.records:write` scope                  |
| **Base ID**               | Yes      | The `appXXXXXXXXXXXXXX` identifier from the base URL               |
| **Table name**            | Yes      | The name of the table to create records in (e.g. `Form Responses`) |
| **Include answers**       | —        | Add one field per question answer                                  |

***

## Record format

Each new Airtable record contains:

| Field                      | Value              |
| -------------------------- | ------------------ |
| Session ID                 | Full UUID          |
| Form                       | Form title         |
| Submitted at               | ISO 8601 timestamp |
| Duration (s)               | Integer seconds    |
| Score                      | Total score        |
| *(one field per question)* | Answer value       |

<Note>
  Create your Airtable table columns before enabling the integration. Column
  names should match the field names Feedal sends. Any unmatched fields are
  silently dropped by Airtable.
</Note>

***

## Next steps

<CardGroup cols={2}>
  <Card title="Notion" icon="database" href="/integrations/notion">
    Create Notion database entries instead.
  </Card>

  <Card title="Google Sheets" icon="file-spreadsheet" href="/integrations/google-sheets">
    Append rows to a Google Sheet.
  </Card>
</CardGroup>
