> For the complete documentation index, see [llms.txt](https://docs.zigpoll.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zigpoll.com/integrations/google-sheets.md).

# Google Sheets

Automatically write survey responses into a Google Sheet

Connect Google Sheets to Zigpoll to automatically pipe survey responses into a spreadsheet. Once set up, every matching submission appends a new row in real time — no exports or manual work required.

## Setup

1. Navigate to **Integrations** in your Zigpoll dashboard.
2. Find **Google Sheets** and toggle it on.
3. Click **Click To Authenticate** and sign in with your Google account.
4. Grant Zigpoll access. You'll be returned to Zigpoll with a confirmation that your account is connected.

{% hint style="info" %}
Zigpoll requests the `drive.file` scope, so it can only see and edit the spreadsheets it creates for you — it cannot read the rest of your Google Drive.
{% endhint %}

## Sending responses to a sheet

After connecting, add a **write to google sheet** action on a survey's **Settings → Workflows → Actions** tab. Zigpoll creates the spreadsheet for you and appends a row each time your action's conditions are met. You can also choose exactly which columns to sync.

For a full walkthrough, see the tutorial:

{% content-ref url="/pages/mtYMiol9sp57oml4S74n" %}
[Sync Survey Responses to Google Sheets](/tutorials/sync-survey-responses-to-google-sheets.md)
{% endcontent-ref %}

## Two ways to fill a sheet

|                | **write to google sheet** action                                       | **Export CSV to Sheets** scheduled export                                                  |
| -------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Set up in      | The survey's **Settings → Workflows → Actions**, or a question's logic | **Scheduled Exports** in the sidebar                                                       |
| When it writes | Each time a response meets your condition                              | Daily, weekly, or monthly, at the hour you choose                                          |
| What it writes | Adds one row per response                                              | Clears the sheet and writes the full export again (one tab per survey for **All Surveys**) |
| Sheet name     | **Zigpoll Responses**                                                  | The survey name and date range, updated on every run                                       |

The export window on your dashboard also has **Save to Sheets** once Google Sheets is connected. It puts a one-off export into a new Google Sheet and emails you the link.

See [Automations](/tutorials/automations.md) for scheduled exports.

## Troubleshooting

#### Which sheet does Zigpoll write to?

Zigpoll writes to a spreadsheet it creates itself, never to one you made. When you save a **write to google sheet** action, Zigpoll creates a spreadsheet named **Zigpoll Responses** with a header row: **Submitted At**, **Email**, **Participant ID**, then one column per question. Rows go on the first tab. When a response has a column the sheet doesn't have yet, such as a new question or metadata key, Zigpoll adds that column at the end.

To open the sheet, click **View Sheet** on the saved action. Each action has its own sheet.

{% hint style="warning" %}
Because of the `drive.file` permission, Zigpoll can't write to a sheet you created, or to a copy of its sheet. Rename, move, or add tabs to the sheet Zigpoll created, but keep your responses on its first tab.
{% endhint %}

#### I get a permission error, or rows stopped appearing

If Zigpoll's access to your Google account expires or is removed, rows stop appearing, and Zigpoll doesn't show an error. To reconnect:

1. Go to **Integrations** and toggle **Google Sheets** off.
2. Toggle it back on, click **Click To Authenticate**, and sign in with the same Google account you used before.
3. Allow the access Google asks for, then click **Save Changes**.

If saving a **write to google sheet** action shows "Failed to create Google Sheet. Please check your Google Sheets integration and try again.", reconnect the same way and save the action again.

If you deleted the sheet, remove the action, then add it again and save. Zigpoll creates a new sheet.

#### My scheduled export's sheet name changes every day

Scheduled exports rename their sheet after the survey and the dates covered each time they run. The link stays the same. To keep the name fixed, go to **Integrations → Google Sheets**, turn on **Maintain Sheet Titles**, and click **Save Changes**.

#### Can a scheduled export add new rows to the same sheet each time?

It writes to the same sheet every run, but it replaces the rows rather than adding to them. The sheet holds the dates set under **What should we automate?**, such as the last 7 days. To build up every response in one sheet, for example for a Looker Studio dashboard, set the export to **all time**. To add a row as each response comes in, use the **write to google sheet** action instead.

#### My All Surveys export made a separate sheet for each survey

Earlier versions did that. Now an **All Surveys** export writes one sheet with a tab for each survey. On its next run, Zigpoll moves every survey into one of those sheets and emails its link. The other sheets stop updating, so you can delete them.

#### My scheduled export made a new sheet with a different link

When a scheduled export can't open its sheet, for example because it was deleted or access was lost, Zigpoll creates a new sheet and emails the new link to the export's recipients. Update any tools that read from the old link.

#### How do I change when a scheduled export runs?

Open **Scheduled Exports**, change **When should we run it?** on the export's card, and click **Save Changes**. You can run it daily, weekly on a chosen day, or monthly on a chosen date, at the hour and timezone you pick. See [Automations](/tutorials/automations.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.zigpoll.com/integrations/google-sheets.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
