# Google Sheets

> Read spreadsheet rows into Orshot workflows, render a visual per row, and write the results back to your sheet

- **URL**: https://orshot.com/docs/integrations/google-sheets

---

## Introduction

The Google Sheets integration connects your spreadsheets to Orshot workflows. Rows become data for your templates, so every row can turn into an image, PDF, or video. Workflows can watch a sheet for new rows, read a whole range on a schedule, and write the finished render links back into a column.

Looking for one-off bulk generation from a CSV or a pasted table instead? That is the [Generate from Spreadsheet](https://orshot.com/docs/integrations/spreadsheets) tool.

## Connect Google Sheets

1. In Orshot, open **Integrations** from your workspace sidebar.
2. Find **Google Sheets** and click **Connect**.
3. Approve access on Google's consent screen, then you're returned to Orshot as **Connected**.

Only workspace **owners and admins** can connect or disconnect, and there's one connection per workspace.

## Ways to use it in workflows

**New/updated row trigger.** Runs the workflow when a row is added or edited. Pick the spreadsheet and tab, choose whether new rows, edited rows, or both should fire it, and set how often Orshot checks (the minimum depends on your plan). You can also process rows that already exist when you activate.

**Google Sheets source.** Reads rows from a spreadsheet on a schedule or manual run, one workflow item per row. Useful when a render step should go through the whole list, like generating a batch from everything in the sheet.

**Write to Google Sheets.** A destination step that writes each row's result (the render URL by default) into a column you choose, right next to the source row. Your sheet becomes the log of what was generated.

## Row data

The first row of your selected range is treated as headers. Every other row becomes a flat record keyed by those headers, so a sheet with `Name` and `Course` columns gives your template fields `Name` and `Course` to map. Empty cells come through as empty strings.

## Notes

- The number of rows read per run is capped by your plan.
- Renders started by the workflow use your workspace's credits, like any other workflow run.
- Disconnecting Google Sheets stops any workflows that use it until you reconnect.

## Need Help?

- Contact support at hi@orshot.com or use the chat button in your Orshot dashboard