Stay organized with collections
Save and categorize content based on your preferences.
Customer-hosted instances may be unable to enable actions from the Looker Action Hub, especially actions that support streamed results or that use OAuth, if the customer-hosted Looker instance does not fulfill the Looker Action Hub requirements.
Does your work require you to spend a lot of time in Google Sheets? You can use Looker's secure, OAuth-based action to send CSVs directly from Looker to Google Sheets on a one-off or recurring basis.
The Google Sheets action is integrated with Looker through the Looker Action Hub. Once the Looker admin has enabled the Google Sheets action in the Action Hub, users can select Google Sheets as a possible destination when sending or scheduling Looks or Explores.
This page walks admins through enabling the Google Sheets action in Looker. It also describes how any user who has the appropriate permissions can send or schedule deliveries in CSV format to a Google Sheet.
Enabling the Google Sheets action in Looker
Looker admins can enable the Google Sheets action in Looker with the following steps:
Go the Admin panel and, under Platform, go to the Actions page.
On the list of Action Hub actions, scroll to Google Sheets and click the Enable button.
On the Google Sheets action page, click the
Enabled toggle to the on position, and click
Save.
When you return to the list of Action Hub actions, your Google Sheets action should be enabled.
You and your users — if they have send_to_integration permissions — can now send or schedule Looks or Explores in CSV format to a Google Sheet.
Delivering data in CSV format to a Google Sheet
Any Looker user who has send_to_integration permissions can send or schedule Looks or Explores in CSV format to a Google Sheet.
Google Sheets are limited to 10 million cells for the entire Sheet. If your data table has columns, rows, or tabs that exceed this limit, any deliveries to the Google Sheet integration will fail.
To prepare your data before sending or scheduling it, follow these steps:
Horizontal scaling: If your data table contains more than 26 columns and you plan to import the data to an existing Google Sheet, you'll need to manually expand the Google Sheet before you can import your data into it.
Vertical scaling: If your data table contains more than 1,000 rows, Looker will add those rows to your Google Sheet by default.
Overwriting: If you're going to import your data into an existing Google Sheet, write any formulas on a separate tab of your Google Sheet to preserve the logic in your formulas. If you use the Google Sheets action's overwrite function, the action dynamically updates your Google Sheet, and your data will automatically be loaded into the first or leftmost tab of your Google Sheet. If you'd prefer to create a new spreadsheet with each data delivery so that you have a full history of your data and can track changes over time, don't use the Google Sheets action's overwrite function.
To send or schedule your content, follow these steps:
From the Scheduler, next to Where should this data go?, select Google Sheets as your delivery destination.
If you're delivering to Google Drive for the first time, you'll need to authenticate with your Google credentials. Click Sign in with Google, specify your Google Account, and then click Allow to connect your Looker account to your Google OAuth credentials. You can connect only one set of Google OAuth 2.0 credentials to this integration.
In the Scheduler, click Verify credentials to load your Google Drive.
From the Select Drive to save file drop-down, choose the Google Drive where your CSV file will be saved.
Next, you can either enter the URL for a folder in this Drive or fetch all folders in your Drive.
In the Google Drive Destination URL field, enter the full Google Drive URL of the folder where you want to save your data. For example: https://drive.google.com/corp/drive/folders/abcxyz. If this URL isn't accessible, your data will be saved to the root folder of your Google Drive.
From the Select Fetch to fetch a list of folders in this drive drop-down, select Fetch. After the Scheduler dialog refreshes, from the Select folder to save file drop-down, select the Google Drive folder where your CSV file will be saved.
Specify the name of your Google Sheet file in the Enter a filename field. You don't need to include the file extension — the Google Sheets action will automatically append it during delivery.
In the Overwrite Existing Files drop-down, select Yes or No. Selecting No will generate a new Google Sheet with a snapshot of your data with every data delivery. Selecting Yes will load your data in the first or leftmost tab of your existing Google Sheet.
Because of Google Sheets cell limits, if you choose the overwrite option, keep in mind that the tabs that are added during each delivery cannot cause the Sheet to exceed the 10 million cell limit. Once the cell limit is exceeded, subsequent schedules will fail.
Advanced options for CSVs include customizable limit and format. Click Send or Schedule.
Refresh your Google Drive folder to see your file delivery.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Looker actions – Google Sheets\n\n| **Note:** You can also connect Google Sheets to Looker directly using the **Connected Sheets for Looker** feature. This feature lets users interactively explore data from LookML models through the familiar Google Sheets spreadsheet interface. Sheets users will have access to governed data from the databases that are supported by Looker. Exploration is intuitive since Connected Sheets presents an organized view of the model with views, fields, and measures just as they were defined in Looker. Looker data through Connected Sheets presents Looker data in standard Sheets constructs, such as pivot tables, charts, and formulas, allowing for flexibility of analysis through familiar constructs. For more information, see the [Using Connected Sheets for Looker](/looker/docs/connected-sheets) documentation page. For an overview of all the ways that Looker integrates with Google Sheets, see the [How Looker integrates with Google](/looker/docs/looker-google-integrations#google_sheets) documentation page.\n\u003e Customer-hosted instances may be unable to enable actions from the Looker Action Hub, especially actions that [support streamed results](/looker/docs/action-hub#uses_streaming) or that use [OAuth](/looker/docs/action-hub#configuring_an_action_for_oauth), if the customer-hosted Looker instance does not fulfill the [Looker Action Hub requirements](/looker/docs/action-hub#looker_action_hub_requirements).\n\u003e\n\u003e See the [Sharing data through an action hub](/looker/docs/action-hub#considerations_for_customer-hosted_instances) documentation page for suggested solutions to this potential issue.\n\n\nDoes your work require you to spend a lot of time in Google Sheets? You can use Looker's secure, OAuth-based action to send CSVs directly from Looker to Google Sheets on a one-off or recurring basis.\n\n\nThe Google Sheets action is integrated with Looker through the [Looker Action Hub](/looker/docs/admin-panel-platform-actions). Once the Looker admin has enabled the Google Sheets action in the Action Hub, users can select Google Sheets as a possible destination when sending or scheduling Looks or Explores.\n\n\nThis page walks admins through enabling the Google Sheets action in Looker. It also describes how any user who has the appropriate [permissions](/looker/docs/admin-panel-users-roles#permissions_list) can send or schedule deliveries in CSV format to a Google Sheet.\n| **Note:** If you have a permission that provides access to only select pages in the Admin panel, such as [`manage_schedules`](/looker/docs/admin-panel-users-roles#manage_schedules), [`manage_themes`](/looker/docs/admin-panel-users-roles#manage_themes), or [`see_admin`](/looker/docs/admin-panel-users-roles#see_admin), but you don't have the [Admin role](/looker/docs/admin-panel-users-roles#default_roles), the page or pages that are described here may not be visible to you in the Admin panel.\n\n\u003cbr /\u003e\n\nEnabling the Google Sheets action in Looker\n-------------------------------------------\n\nLooker admins can enable the Google Sheets action in Looker with the following steps:\n\n1. Go the **Admin** panel and, under **Platform** , go to the **Actions** page.\n2. On the list of Action Hub actions, scroll to Google Sheets and click the **Enable** button.\n3. On the **Google Sheets** action page, click the **Enabled** toggle to the on position, and click **Save**.\n4. When you return to the list of Action Hub actions, your Google Sheets action should be enabled.\n\n\nYou and your users --- if they have `send_to_integration` permissions --- can now send or schedule Looks or Explores in CSV format to a Google Sheet.\n\nDelivering data in CSV format to a Google Sheet\n-----------------------------------------------\n\n\nAny Looker user who has `send_to_integration` permissions can send or schedule Looks or Explores in CSV format to a Google Sheet.\n\u003e Google Sheets are [limited to 10 million cells](https://support.google.com/drive/answer/37603) for the entire Sheet. If your data table has columns, rows, or tabs that exceed this limit, any deliveries to the Google Sheet integration will fail.\n\nTo prepare your data before sending or scheduling it, follow these steps:\n\n- **Horizontal scaling:** If your data table contains more than 26 columns and you plan to import the data to an existing Google Sheet, you'll need to manually expand the Google Sheet before you can import your data into it.\n- **Vertical scaling:** If your data table contains more than 1,000 rows, Looker will add those rows to your Google Sheet by default.\n- **Overwriting:** If you're going to import your data into an existing Google Sheet, write any formulas on a separate tab of your Google Sheet to preserve the logic in your formulas. If you use the Google Sheets action's overwrite function, the action dynamically updates your Google Sheet, and your data will automatically be loaded into the first or leftmost tab of your Google Sheet. If you'd prefer to create a new spreadsheet with each data delivery so that you have a full history of your data and can track changes over time, don't use the Google Sheets action's overwrite function.\n\n\nTo send or schedule your content, follow these steps:\n\n1. From the [Scheduler](/looker/docs/delivering-looks-explores), next to **Where should this data go?** , select **Google Sheets** as your delivery destination.\n2. If you're delivering to Google Drive for the first time, you'll need to authenticate with your Google credentials. Click **Sign in with Google** , specify your Google Account, and then click **Allow** to connect your Looker account to your Google OAuth credentials. You can connect only one set of Google OAuth 2.0 credentials to this integration.\n3. In the Scheduler, click **Verify credentials** to load your Google Drive.\n4. From the **Select Drive to save file** drop-down, choose the Google Drive where your CSV file will be saved.\n\n Next, you can either enter the URL for a folder in this Drive or fetch all folders in your Drive.\n - In the **Google Drive Destination URL** field, enter the full Google Drive URL of the folder where you want to save your data. For example: `https://drive.google.com/corp/drive/folders/abcxyz`. If this URL isn't accessible, your data will be saved to the root folder of your Google Drive.\n - From the **Select Fetch to fetch a list of folders in this drive** drop-down, select **Fetch** . After the Scheduler dialog refreshes, from the **Select folder to save file** drop-down, select the Google Drive folder where your CSV file will be saved.\n5. Specify the name of your Google Sheet file in the **Enter a filename** field. You don't need to include the file extension --- the Google Sheets action will automatically append it during delivery.\n6. In the **Overwrite Existing Files** drop-down, select **Yes** or **No** . Selecting **No** will generate a new Google Sheet with a snapshot of your data with every data delivery. Selecting **Yes** will load your data in the first or leftmost tab of your existing Google Sheet.\n\u003e Because of [Google Sheets cell limits](https://support.google.com/drive/answer/37603), if you choose the overwrite option, keep in mind that the tabs that are added during each delivery cannot cause the Sheet to exceed the 10 million cell limit. Once the cell limit is exceeded, subsequent schedules will fail.\n7. Advanced options for CSVs include customizable [limit](/looker/docs/delivering-looks-explores#limit) and [format](/looker/docs/delivering-looks-explores#format_options). Click **Send** or **Schedule**.\n8. Refresh your Google Drive folder to see your file delivery.\n\nSwitching Google Accounts\n-------------------------\n\nTo associate a different Google Account with this action, you must delete the account's connection to the Looker instance. To learn more, see [Manage connections between your Google Account and third-parties](https://support.google.com/accounts/answer/13533235).\n\n\u003cbr /\u003e"]]