# New order → Google Sheets

Appends a new row to a Google Sheet every time an order is placed.

Canonical URL: https://templates.jsworkflows.com/templates/new-order-to-google-sheets/

## When to use this template

This template is built for Shopify stores using the JsWorkflows app.

Use this template when you want a ready-made workflow for this use case: Appends a new row to a Google Sheet every time an order is placed.

It is designed for Shopify order operations and gives you a production-ready starting point instead of building the automation from scratch. It can work with Google as part of the workflow.

This workflow uses the Shopify webhook trigger model and starts from the "Order created" trigger. It includes setup fields for merchant-facing values, so you can configure the workflow before installing it.

## Metadata

- Category: Orders
- Trigger: Order created
- Workflow type: Shopify webhook
- Complexity: easy
- Usage class: starter-friendly

## Connected services

- google

## Additional Shopify scopes

- read_orders

## Setup fields

- Google OAuth handle (`OAUTH_HANDLE`)
  - Type: text
  - Storage: config
  - Required: yes
  - Description: OAuth handle for the Google connection that can access the selected spreadsheet.
- Spreadsheet ID (`SPREADSHEET_ID`)
  - Type: google_drive_file_picker
  - Storage: config
  - Required: yes
  - Description: Select the Google Sheet with the picker or paste an already-accessible spreadsheet ID.
- Sheet name (`SHEET_NAME`)
  - Type: text
  - Storage: config
  - Required: yes
  - Description: Tab name inside the spreadsheet where rows are appended.

## Setup guide

## Before you start

This template appends one row to Google Sheets for every new Shopify order using a saved Google OAuth connector.

## Sheet columns written

The workflow appends these columns in order:

- Order ID
- Order Name
- Email
- Total Price
- Currency
- Financial Status
- Created At

## Configure in setup

- `Google OAuth handle`: connector handle for the Google account used to access the spreadsheet
- `Spreadsheet ID`: use the Google picker or paste an already-accessible spreadsheet ID
- `Sheet name`: target tab name inside the spreadsheet

## Notes

- The connected Google account must already have access to the spreadsheet
- The destination tab must already exist
- Duplicate webhook deliveries for the same order are deduplicated automatically

