Google Apps Script vs. Google Workspace Add-ons — When to Use Which
Apps Script and Workspace Add-ons aren't the same thing. This guide breaks down the difference, when each is the right tool, and how the two work together in production.
One of the most confusing things for new Apps Script developers is the relationship between Google Apps Script and Google Workspace Add-ons. They show up together in tutorials, share an editor, and overlap heavily — but they are not the same product, and choosing the wrong one will cost you weeks.
Short version:
- Apps Script is a runtime. It's the language and the platform that executes your code.
- Workspace Add-ons are a distribution surface. They're how end users discover and install Apps Script code that runs inside Gmail, Sheets, Docs, Slides, Drive, and Calendar.
Every Workspace Add-on is built on Apps Script. But not every Apps Script project is a Workspace Add-on. Most of them aren't.
What Apps Script actually is
Apps Script is a serverless JavaScript runtime hosted by Google. You write code in the browser at script.google.com (or locally with clasp), and Google runs it for you. It has:
- Built-in services for every Workspace product (
SpreadsheetApp,GmailApp,DriveApp,CalendarApp, etc.) - An OAuth-managed authentication layer that's transparent to your code
- Time-driven triggers (cron) and event-driven triggers (form submitted, sheet edited, email received)
- A free quota tier that's generous for most use cases
- The ability to deploy as a Web App, a library, an API executable, or an add-on
What you build with Apps Script is up to you. The most common project types are:
- A standalone script — automation that runs on a schedule (e.g., "every Monday morning, summarize last week's sales spreadsheet and email it")
- A container-bound script — code attached to a specific Sheet, Doc, or Form. Lives inside that container, can only be triggered by that container's events.
- A Web App — Apps Script code deployed at a URL. Users hit the URL, your code runs, returns HTML. Effectively a tiny serverless web framework.
- A library — Apps Script code other Apps Script projects can import (see our Libraries directory).
- A Workspace Add-on — Apps Script code packaged for the Workspace Marketplace and distributed to end users.
The first four are pure Apps Script. The fifth is Apps Script plus the Workspace Add-ons distribution framework.
What Workspace Add-ons add
A Workspace Add-on is a packaging and distribution model on top of Apps Script. It gives you:
- A surface inside Workspace apps — sidebars in Gmail, custom menus in Sheets, cards in Calendar events
- The Marketplace as a distribution channel — your add-on is searchable, installable, and (optionally) sellable
- A standardized UI framework — the CardService API, which is a server-rendered, declarative UI system
- OAuth verification by Google — once you pass review, users can install with a single click
The cost:
- Google's review process, which can take days to weeks (and 1-6 weeks for OAuth verification if you use sensitive scopes)
- You're locked into the CardService UI model — no arbitrary HTML/CSS inside Gmail or Sheets sidebars. You build UIs with Card and Widget objects.
- Quotas matter more — your add-on shares quota across all users, not just you
- Versioning is mandatory — you can't just edit and reload; every deploy is a versioned release
If you're not distributing to end users — if it's just you, or a small internal team — Workspace Add-ons are usually overkill. A plain Apps Script project deployed as a container-bound script or Web App will be faster to build and easier to iterate on.
The decision tree
Here's how to pick:
Use plain Apps Script (no add-on) when:
- You're automating something for yourself or a small team
- The work happens on a schedule, not in response to a user action
- You don't need a UI inside Gmail/Sheets/Docs
- Or you're fine with a custom menu in a single container-bound script
- You want to ship today, not in six weeks
Use Apps Script as a Web App when:
- You need a URL users can hit (form, dashboard, internal tool)
- The UI is more complex than CardService can express
- You want to use a frontend framework (React, Vue, htmx) inside HTML Service
- You don't need to live inside Gmail or Sheets specifically
Use a Workspace Add-on when:
- You want to publish to non-developer end users
- The functionality fundamentally lives inside Gmail / Sheets / Docs as a sidebar or menu
- You want to charge money
- You're okay with the review process and the CardService UI constraints
Use Apps Script as a library when:
- You've written utility code you want to share across multiple projects (yours or other people's)
- See the OAuth2 library for the canonical example
A note on the long-term trajectory
Google has been gradually unifying its Workspace developer story around Workspace Add-ons and Chat apps (the latter is a different surface, for Google Chat). The legacy "Editor add-on" model is deprecated in favor of Workspace Add-ons. Apps Script itself isn't going anywhere — it's still the runtime underneath — but the distribution story is consolidating.
If you're starting a new public-facing project in 2026, build it as a Workspace Add-on. If you're building an internal tool, the lower-friction options (container-bound script, Web App) remain the right choice.
What this looks like in practice
A typical company's Apps Script footprint, in our experience:
- 20+ container-bound scripts in various Sheets and Docs, doing small automations specific to one document
- 3-5 standalone scripts running on time-driven triggers — nightly reports, weekly syncs, alerting
- 1-2 Web Apps — internal dashboards, intake forms
- 0-1 Workspace Add-ons — if they've productized something for customers
The center of gravity is the small, scrappy, container-bound scripts. The Workspace Add-on is the icing — the thing you build after you've already validated the automation works.
Where to go from here
- Browse the full directory to see what people have built across all five project types
- For ready-to-fork starting points, see Boilerplates
- For an overview of the extension ecosystem specifically, see The Complete Guide to Google Apps Script Extensions
- For the libraries that make production-grade Apps Script projects possible, see Best Google Apps Script Libraries (2026 Edition)
Apps Script and Workspace Add-ons are complementary, not interchangeable. Pick the right one for what you're shipping and you'll save yourself an embarrassing amount of work.