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

# ETL: Google Sheets Source

> Configure the Google Sheets source component in Integrate.io ETL to read spreadsheet data with OAuth authentication, sheet selection, and cell range options.

Use the **Google Sheets source component** to read data from a Google Sheets spreadsheet and ingest it into your Integrate.io ETL pipeline.

## Connection

Select an existing Google Sheets connection or create a new one. For setup instructions, see [Allowing Integrate.io ETL access to my Google Sheets.](/etl/allowing-integrateio-etl-access-to-my-data-on-google-sheets)

## Source Properties

The source component is configured in **Step 02** of the component editor.

<Frame>
  <img src="https://mintcdn.com/integrateio/vPmzup7uAj66abcx/images/creating-packages/using-components-google-sheets-source/image-1.webp?fit=max&auto=format&n=vPmzup7uAj66abcx&q=85&s=ffcf968da023351be1d9cf90f91ee734" alt="Google Sheets source component configuration" width="1200" height="756" data-path="images/creating-packages/using-components-google-sheets-source/image-1.webp" />
</Frame>

### Spreadsheet

Select the spreadsheet to read from. The dropdown lists all spreadsheets that have been shared with the service account. Use the search field to filter by name. If your spreadsheet is not listed, make sure it has been shared with the service account's email address. See **Step 5** in the connection setup guide.

Click the **Refresh** button to reload the spreadsheet list if you have recently shared a new spreadsheet.

### Sheet

Select the sheet (tab) within the spreadsheet to read from. The dropdown is populated automatically after a spreadsheet is selected.

## Schema

After configuring the source properties, the **Schema** section (**Step 03**) displays the fields available in the pipeline. These are derived from the header row (row 1) of the selected sheet.

* The first row of the sheet is treated as the header row and defines the column names.
* Data types are automatically inferred from sample data rows. Supported types include: `string`, `long`, `double`, `boolean`, and `datetime`.
* If a column contains mixed types or cannot be inferred, it defaults to `string`.

**The sheet must have a header row.** Sheets without headers will produce unnamed columns (e.g. `column_0`, `column_1`)

## Related

<CardGroup cols={2}>
  <Card title="Google Sheets Destination" icon="arrow-right" href="/etl/using-components-google-sheets-destination" horizontal />

  <Card title="Connecting to Google Sheets" icon="arrow-right" href="/etl/allowing-integrateio-etl-access-to-my-data-on-google-sheets" horizontal />
</CardGroup>
