Pre-Built Tooling
Category | Details |
---|---|
Authentication | OAuth 2.0 (Authorization Code with refresh tokens) |
Two-Way Sync | Yes |
Events Supported | No |
Realtime | Polling |
Supports Rate Limiting | Yes (Google API quotas & 429 handling) |
Authentication Scopes Supported | https://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
Question | Answer |
---|---|
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 sandbox | No 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)
- Go to Google Cloud Console (https://console.cloud.google.com) → APIs & Services → Credentials.
- Create an OAuth client ID (application type: Web application).
- Add the redirect URI: https://api.runalloy.com/api/strategy/connector/googleSheets/callback
- Enable the Google Sheets API for your project (APIs & Services → Library).
- 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
orhttps://www.googleapis.com/auth/drive.file
(required for listing spreadsheets)https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
- Copy your Client ID and Client Secret into Alloy Automation.
Consent screen & verification
- 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
. UseUSER_ENTERED
if you want Google Sheets to parse the data (recognize numbers, dates, formulas), orRAW
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. Theupdate
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. Thesheets
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.