What is an Apps Script deployment in Google Sheets?

A deployment publishes a snapshot of your Apps Script project for others to use. Web app deployments expose a URL running doGet and doPost. Each deployment has a version, execution identity, and access setting. Editing code in the editor does not change a live deployment until you deploy a new version or update the deployment.

When to use it

Deploy when non-editors need your script: public form web app, API endpoint for internal tools, library version for other projects, or add-on release through Google publish flow.

When to skip it

Skip formal deployment for private bound scripts that only use onEdit, onOpen, and custom menus inside one shared workbook editors already open.

How it works

  1. 1

    Finish and test functions in the Apps Script editor with manual runs and Executions.

  2. 2

    {:"Click Deploy > New deployment and choose type"=>"Web app, Add-on, API executable, or Library."}

  3. 3

    Pick a version (often New version) and set options like Execute as me vs user and Who has access.

  4. 4

    Copy the web app URL or deployment ID for integrators.

  5. 5

    After code fixes, Deploy > Manage deployments > Edit > New version so production picks up changes.

  6. 6

    Keep a test deployment with restricted access while production stays on a stable version number.

Examples in Google Sheets

Team web form

Deploy web app Execute as Me, access Anyone with link in domain, so submissions write to the sheet without sharing edit access.

Versioned rollback

Production deployment stays at version 12 while you test version 13 on a separate test deployment URL.

Library publish

Deployment type Library at version 5 is what consumer spreadsheets attach in their Libraries panel.

Build this without starting from a blank cell

Use a Better Sheets tool for Apps Script deployment, then watch a walkthrough when you want the full pattern.

Better Sheets resources

Common mistakes

  • Editing Code.gs and expecting the old URL to update without creating a new deployment version.
  • Execute as Me with Anyone access on a script that returns private customer rows.
  • Deleting the only deployment and breaking bookmarks integrators still use.
  • Confusing Test deployments with production URLs in documentation.
  • Not recording which version is live when multiple teammates deploy.

Frequently asked questions

What is the difference between a version and a deployment?
A version is a numbered snapshot of code. A deployment points a URL or library consumer at a specific version with access settings.
How do I update a live web app?
Deploy > Manage deployments, edit the deployment, select New version, and save. The URL usually stays the same.
What does Execute as mean?
Execute as Me runs under the deployer's account and quotas. Execute as user accessing the app runs as each visitor with their permissions.
Can I have multiple web app deployments?
Yes. Create separate deployments for staging and production with different versions or access rules.
Do deployments copy when I duplicate the sheet?
The script copies, but deployment URLs and versions are tied to the script project. Verify after copy.
What is Test deployment?
A quick deploy for developers with a distinct URL, useful for trying changes before updating the main deployment.
Can I undeploy?
You can archive or update deployments in Manage deployments. Old URLs may stop working if removed.
Do bound sheet scripts need deployment for menus?
No. Custom menus and simple triggers work without web app deployment. Web apps and published libraries do need deployment.

Related Tutorials

Watch how Apps Script deployment works

Browse more tutorials
Set Up OnlySheets with Gumroad

Set Up OnlySheets with Gumroad

I'll guide you through the process of setting up Only Sheets with Gumroa...
Embed a Number in a Website from a Google Sheet

Embed a Number in a Website from a Google Sheet

Ever wanted to display some data from a google sheet on your site? Witho...
Create an Internal Google Sheets Add-on

Create an Internal Google Sheets Add-on

The entire process to create and publish a Google Sheets Add-on internal...
Embed Email Form and Name Form into Website to Google Sheets

Embed Email Form and Name Form into Website to Google Sheets

Add names to the Email2Sheet apps script and code.
Convert Google Sheets into a REST API

Convert Google Sheets into a REST API

How to use Google Sheets as a database by turning it into a REST API wit...
MAKE Your Google Sheets Add-on WORK

MAKE Your Google Sheets Add-on WORK

In this section of the Add-on course we'll be making the apps script wor...

Related blog posts

Guides that explain Apps Script deployment in more depth.

Browse the blog

Related glossary terms

Done reading about Apps Script deployment?

Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.

Need this once

Jump to a free tool or a single tutorial for this topic.

Learning Sheets for real

Unlock the full library, generators, and templates with membership.