Skip to main content

Pre-Built Tooling

CategoryDetails
AuthenticationOAuth 2.0 (Authorization Code with refresh tokens)
Two-Way SyncYes
Events SupportedNo
RealtimePolling
Supports Rate LimitingYes (Google API quotas & 429 handling)
Authentication Scopes Supportedhttps://www.googleapis.com/auth/spreadsheets (read-write), https://www.googleapis.com/auth/spreadsheets.readonly, https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile

Objects Supported

Alloy Automation supports syncing the following objects from Google Sheets:
  • Spreadsheets
  • Sheets (individual tabs)
  • Cell Values
  • Ranges
  • Developer Metadata
  • Named Ranges

Set Up Guide

Trial Access

QuestionAnswer
Offers free trial?Yes. Create a free Google account at https://accounts.google.com/signup and set up a Google Cloud project at https://console.cloud.google.com.
Requires paid sandboxNo paid sandbox required.
Requires partnership to obtain authentication?No. However, Google App Verification may be required in production for sensitive scopes, which can add review time.

Authentication (OAuth 2.0)

For customers who want to completely whitelabel their OAuth experience, you can provide your own developer keys instead of using Alloy Automation’s.

Create your OAuth app (Google Cloud Console)

  1. Go to Google Cloud Console (https://console.cloud.google.com) → APIs & ServicesCredentials.
  2. Create an OAuth client ID (application type: Web application).
  3. Add the redirect URI: https://api.runalloy.com/api/strategy/connector/googleSheets/callback
  4. Enable the Google Sheets API for your project (APIs & Services → Library).
  5. Configure the scopes you intend to request:
    • https://www.googleapis.com/auth/spreadsheets (full read-write access)
    • https://www.googleapis.com/auth/spreadsheets.readonly (read-only access)
    • https://www.googleapis.com/auth/drive or https://www.googleapis.com/auth/drive.file (required for listing spreadsheets)
    • https://www.googleapis.com/auth/userinfo.email
    • https://www.googleapis.com/auth/userinfo.profile
  6. Copy your Client ID and Client Secret into Alloy Automation.
  • Set up the OAuth consent screen with your app details and domain.
  • For production use or external users, complete Google app verification (may require demo video, privacy policy, and domain ownership).

Use Cases

1) Database-like operations for lightweight data storage

Use Google Sheets as a lightweight database for configuration data, feature flags, simple CRM data, or user-generated content that non-technical users can edit directly.

2) Automated reporting and data aggregation

Pull data from multiple systems, aggregate it, and write results to Google Sheets for business intelligence dashboards, weekly reports, or sharing with stakeholders who prefer spreadsheets.

3) Data import/export workflows

Build ETL pipelines that extract data from Google Sheets for processing, or export processed data back to Sheets for user review, approval workflows, or further manual analysis.

4) Form responses and survey data processing

Automatically process form responses collected in Google Sheets, validate data, trigger notifications, update other systems, or perform calculations and data enrichment.

5) Inventory and pricing synchronization

Sync product catalogs, inventory levels, and pricing data between e-commerce platforms and Google Sheets, enabling business teams to manage data in familiar spreadsheet interfaces.

API Gotchas

  • ⚠️ A1 notation is required: All range operations use A1 notation (e.g., Sheet1!A1:B10). The sheet name is required if you have multiple sheets. Special characters in sheet names must be wrapped in single quotes (e.g., 'My Sheet'!A1:B10).
  • ⚠️ valueInputOption matters: When writing data, you must specify valueInputOption. Use USER_ENTERED if you want Google Sheets to parse the data (recognize numbers, dates, formulas), or RAW to store everything as plain strings. This is a common source of bugs.
  • ⚠️ Append vs Update behavior: The append endpoint finds the first empty row after your specified range and inserts data there. The update endpoint overwrites existing data at the exact range specified. Choose the right endpoint for your use case.
  • ⚠️ Listing spreadsheets requires Drive API: The Sheets API doesn’t have a “list spreadsheets” endpoint. You must use the Google Drive API with the MIME type application/vnd.google-apps.spreadsheet to discover spreadsheets.
  • ⚠️ Sheet IDs vs Sheet names: The Sheets API uses numeric sheetId values internally for many operations, but A1 notation uses sheet names. Always use the correct identifier for each endpoint. The sheets array in responses contains both.
  • ⚠️ Batch operations have size limits: batchUpdate requests can include multiple operations, but there’s a limit on payload size (~10MB) and complexity. Large operations may need to be split into multiple requests.
  • ⚠️ Values array structure: When reading/writing values, the response is a 2D array where outer arrays represent rows and inner arrays represent cells. Empty cells may be omitted entirely from the response, so always check array bounds.
For questions or troubleshooting, contact support@runalloy.com.
I