Google Workspace development
Google Apps Script Guides and Examples
A curated collection of 27 practical guides from building with Apps Script: runtime behavior, APIs, storage, authentication, Gemini, MCP, security, and production automation.
Start with the core guides below, or browse by problem. Every article includes working code, implementation details, or measurements from real projects.
Start here
The broadest guides for HTTP requests, storage, AI, and external databases.
- UrlFetchApp: The Unofficial Documentation
The unofficial guide to Google Apps Script UrlFetchApp. Master authentication, fetchAll for parallelism, web scraping, and debugging "Address Unavailable".
- Apps Script Storage Benchmarks
Benchmarks comparing CacheService, PropertiesService, and Firestore in Apps Script, including speed measurements and when each storage option fits.
- Using Gemini in Apps Script
Use Apps Script's Vertex AI advanced service to call Gemini for text, images, structured output, search grounding, and multi-turn chat.
- PostgreSQL from Google Apps Script
Connect Apps Script to PostgreSQL via JDBC, including connection strings, JSONB and UUID workarounds, transactions, and PostGIS.
Core platform and runtime
Understand Apps Script's runtime, HTTP client, storage, caching, web apps, and WebAssembly support.
- UrlFetchApp: The Unofficial Documentation
The unofficial guide to Google Apps Script UrlFetchApp. Master authentication, fetchAll for parallelism, web scraping, and debugging "Address Unavailable".
- Apps Script V8 Runtime Limitations
A comparison of the WinterCG minimum common web APIs and Apps Script's V8 runtime, including UrlFetchApp and sleep workarounds.
- Promises, async and await in Google Apps Script
Understand async/await and Promises in Google Apps Script. Learn why most APIs remain synchronous and how WebAssembly is the exception.
- Apps Script and WebAssembly - A comprehensive guide
You can use WebAssembly with Google Apps Script! This post will cover how to do that and provide a comprehensive guide on how to get started.
- Apps Script Storage Benchmarks
Benchmarks comparing CacheService, PropertiesService, and Firestore in Apps Script, including speed measurements and when each storage option fits.
- Apps Script CacheService Limits
Unofficial Apps Script CacheService findings: key and value limits, FIFO batch eviction, edge cases, and practical cache patterns.
- Memoization in Apps Script
A generic Apps Script memoization helper that hashes a function and arguments, stores results in CacheService, and explains its limits.
- google.script.run vs. doGet/doPost
Compare google.script.run vs doGet/doPost endpoints for Apps Script web apps. Choose the best method for simple apps or complex frameworks like React/Vue.
AI and agents
Use Gemini, Vertex AI, MCP, and Model Armor from Apps Script.
- Using Gemini in Apps Script
Use Apps Script's Vertex AI advanced service to call Gemini for text, images, structured output, search grounding, and multi-turn chat.
- Building a MCP Client in Google Apps Script
Learn how to communicate with Model Context Protocol (MCP) servers using Apps Script and UrlFetchApp. Incorporate the MCP client into Vertex AI tool calling.
- Using Vertex AI in Apps Script
How to use the Vertex AI API in Apps Script to make predictions on your data or use it in any of your other Google Workspace processes.
- Generating Text with Gemini Pro in Apps Script
A short Apps Script example that calls the Gemini Pro REST API to generate text, then reads the response candidate text.
- Protect Gmail AI Agents with Model Armor
Use Model Armor in an MCP tool handler to block prompt injection and redact sensitive Gmail content before it reaches an AI agent.
Data, authentication, and integrations
Connect databases, manage credentials and OAuth scopes, and work with Drive, Docs, and Forms.
- PostgreSQL from Google Apps Script
Connect Apps Script to PostgreSQL via JDBC, including connection strings, JSONB and UUID workarounds, transactions, and PostGIS.
- Using Firestore in Apps Script
Use the Firestore REST API from Google Apps Script when CacheService, PropertiesService, or Sheets cannot meet your storage requirements.
- Apps Script Service Account Impersonation
Avoid downloading service-account keys: use impersonation in Apps Script to mint access tokens for Google Cloud APIs.
- Secure Secrets in Google Apps Script
Avoid hardcoded Apps Script secrets by using PropertiesService for configuration and Google Cloud Secret Manager for sensitive values.
- Currentonly Scopes in Google Apps Script
How Apps Script currentonly scopes limit access to an active file, and why Advanced Services, direct API calls, and openById need full scopes.
- Drive File Get Blob and Scopes in Google Apps Script
Compare DriveApp, the Drive Advanced Service, and UrlFetchApp for retrieving Drive file blobs in Apps Script while minimizing OAuth scopes.
- Convert docx to Google Docs with Apps Script
Programmatically convert, open, and edit Microsoft Word .docx files in Google Apps Script using the Drive API and DocumentApp.
- Google Forms - title vs name vs documentTitle
Recently I had to clarify some confusion around the title and name of a Google Form. Here is a quick explanation of the difference between the two.
Automation, add-ons, and field notes
Practical automations, add-on architecture, performance measurements, and conference material.
- Combining Google Workspace Add-ons and Editor Add-ons
Both Add-on types have their own strengths and weaknesses. Combining them could be a powerful way to build Add-ons for Google Workspace but with some caveats.
- Automate Email Bankruptcy using Apps Script
An Apps Script that archives Gmail threads older than 30 days, respects Gmail's 100-thread batch limit, and runs hourly on a trigger.
- Archiving Dependabot Emails with Apps Script
Archive Dependabot and Semantic Release emails automatically using Google Apps Script cron jobs to declutter your inbox.
- Google Cloud Region Latency in Google Apps Script
Ping results to Google Cloud regions and short code snippet demonstrating how to measure latency from Google Apps Script.
- Rust, Python, and WASM in Apps Script
A Google Next 2024 lightning talk on extending Apps Script with Rust, Python, and WebAssembly, with a build demonstration.
- Google Workspace Developer Summits 2024
Save the date for the 2024 Google Workspace Developer Summits in Boston on September 12 and Berlin on September 17.