# Google Sheet

## &#x20;:tools: Step by Step Guide

On the navigation panel, Click on Ingest -> Pipeline -> Click the "**+ Setup Sources"** Icon

On clicking the “**+"** Icon, a list of Pipeline pops up. In this case, Google Sheet is selected. A new Google Sheet Pipeline is named and created.

![](https://2657302904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazylpawQDleaF3gtrhZd%2Fuploads%2FQV8E4XdxXske5VWcTYxD%2FScreenshot%202022-12-05%20at%204.17.47%20PM.png?alt=media\&token=9e0ae6c0-8370-4ff0-b30c-af418e70453a)

‍

After naming the Pipeline, you can choose either an existing connection or create a new connection.

To create a connection, click on the “**Connect to GOOGLE**” button which pops up a Google login page.\
You can select Advance settings as well for the connection (Refer [here](#advanced-connection-settings))

![](https://2657302904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazylpawQDleaF3gtrhZd%2Fuploads%2FpXRzs5nj4B8Pgvohzb6X%2FScreenshot%202025-12-09%20at%206.43.41%E2%80%AFPM.png?alt=media\&token=420ce8df-ee76-407e-a7d8-e93343217d90)

Post login, you will be prompted to allow permissions required for sprinkle to read data further. Once you provide consent by clicking on ‘**Allow**’, the connection can be created from Sprinkle.

![](https://uploads-ssl.webflow.com/605c9e03d6553a5d82976ce2/6087c22902b151321325ceea_ds-googlesheet-3.png)

Once the connection is established, you can select **datasets**.&#x20;

<figure><img src="https://2657302904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazylpawQDleaF3gtrhZd%2Fuploads%2FScUm68kxxcytOBEcjxx8%2FScreenshot%202025-12-09%20at%206.46.04%E2%80%AFPM.png?alt=media&#x26;token=ba98a60f-accd-4e18-8c16-b2246f35824a" alt=""><figcaption></figcaption></figure>

In the Datasets tab, the user needs to select the **Spreadsheet ID** and then the **tab from the particular sheet** he intends to ingest. Please note that users can ingest only one tab at a time. On selecting the tab, a default table name is created. However, users can rename the table as per their requirements.&#x20;

User can select following skip rows and columns -&#x20;

* **Skip before header** - Specify the number of rows to skip before header line. Should not skip column header itself.
* **Exclude columns** - List of columns to be excluded when reading the CSV.

<figure><img src="https://2657302904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazylpawQDleaF3gtrhZd%2Fuploads%2FeIFKD4dJgjV0ywcAvlpd%2FScreenshot%202025-12-09%20at%206.50.24%E2%80%AFPM.png?alt=media&#x26;token=08619683-43a7-45dd-a990-02486703f916" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Note**: There are a few validation checks that Sprinkle does to ensure the quality of the data being ingested.

:digit\_one: Empty Column Headers: No column header should be empty. Use Skip before headers if you want to skip a few rows on the top. In that case, the next row available is used to extract column names.

:digit\_two: Invalid Column Headers: Remove special characters or white spaces. Make sure each column name is unique and begins with an alphabet or underscore.

To guide you through the errors to fix them, in-place error markings are shown on the Preview table.
{% endhint %}

* *Destination Create Table Clause*: Provide additional clauses to warehouse-create table queries such as clustering, partitioning, and more, useful for optimizing DML statements. [Learn more](https://docs.sprinkledata.com/product/ingesting-your-data/pipelines/databases/features/destination-create-table-clause) on how to use this field.
* **Preview**: Shows the preview of the table. You can change the headers and also change the variable type of the data in the columns.

Next, the user can click on **“Create”.**

Now the dataset is added. You can **edit** the dataset or **add more datasets**. Once done, click on Run and Schedule.

In the Run & Schedule tab, the status of the job will be updated in the tab below once it’s complete.&#x20;

The jobs can also be set to run automatically by enabling autorun. By default, the frequency is set to every night. Frequency can be changed by clicking on More --> Autorun-->Change Frequency.

![](https://2657302904-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FazylpawQDleaF3gtrhZd%2Fuploads%2FoyfgiLawmv55uNDBEgwe%2FScreenshot%202025-12-09%20at%206.52.12%E2%80%AFPM.png?alt=media\&token=c6a32fa9-120f-4743-9011-65a7cad2f352)

### Advanced Connection Settings

* **API Read Timeout (In seconds) :**  Maximum time of inactivity between two data packets when waiting for the server's response. The default value is 30 seconds
* **API Connection Timeout (In seconds) :** Time period within which a connection between a client and a server must be established.
* **Retry Limit :** Number of retries allowed when an API call fails. For example if an API call fails and retry limit is 5 then it will check 5 times for that API call and if it succeeded then it will stop checkin&#x67;**.**
* **Retry Sleep Time (In milliseconds) :** Given time, after which retry should happen in case an API call fails.
* **Version :** it gives information about the version of Google Sheet API being used.

‍
