> ## 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.

# Google Sheets

> Append a new row to a Google Sheet for every form submission.

The Google Sheets integration appends a row to a spreadsheet tab of your choice each time a `session.completed` event fires. It connects via OAuth using your Google account.

***

## Setup

<Steps>
  <Step title="Connect your Google account">
    Go to **Integrations → New integration → Google Sheets**. Click **Connect to Google**. You'll be asked to authorise Feedal to edit your spreadsheets. After authorising, you're returned to Feedal.
  </Step>

  <Step title="Configure the spreadsheet">
    Enter the **Spreadsheet ID** and **Sheet name** where responses should be appended.
  </Step>

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

***

## Configuration

| Field                | Required | Default  | Description                                                              |
| -------------------- | -------- | -------- | ------------------------------------------------------------------------ |
| **Spreadsheet ID**   | Yes      | —        | The ID from the sheet URL: `/spreadsheets/d/`**`SPREADSHEET_ID`**`/edit` |
| **Sheet / tab name** | —        | `Sheet1` | The name of the tab to append rows to                                    |
| **Include answers**  | —        | On       | Add one column per question answer                                       |

***

## Row format

Each row appended to the sheet contains:

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

The first time a delivery runs, Feedal appends the data rows. Add your own header row to the sheet for readability — Feedal does not create headers automatically.

***

## Reconnecting

OAuth tokens are refreshed automatically. If access is revoked in your Google account, the integration status changes to `error`. Click **Reconnect** to re-authorise.

***

## Next steps

<CardGroup cols={2}>
  <Card title="Airtable" icon="database" href="/integrations/airtable">
    Create Airtable records instead.
  </Card>

  <Card title="Exporting to CSV" icon="download" href="/results/export">
    One-time bulk export of all responses.
  </Card>
</CardGroup>
