How to Publish a Google Sheets Add-on

Preface

I am a firm believer that all cooking websites should put the recipe at the top of the page, not after the author’s 8,000-word dissertation about the moral implications of baking banana bread. Therefore, despite this being a fairly in-depth guide to what is an unnecessarily frustrating process, I want you to know what you are getting into before you start with my very own add-on publishing “recipe.”

DETAILS

? Amount of Work | 4-8 Hours

? Approval Timeframe | 1-3 Weeks

? Frustration Level | High

INGREDIENTS

Website w/ Custom Domain

App Scripts Project

Promotional Images

Google Cloud Platform Account (Free Tier)

Part 1 – Website Shenanigans

Google Search Console

Before beginning with any of the fun stuff, if you have not already, make sure you register your site with Google Search Console. Depending on who you are hosting through this can get a little tricky, but hopefully shouldn’t take too long.

Create a Product Page

Functionality Explanation

This, for the most part, can be whatever you want it to be, but with a few strictly enforced rules. Google specifies that the page must have an easily understandable explanation of what your add-on does.

  • Thoroughly describe how your app enhances user functionality.
  • Be accurate, inclusive, and easily accessible to all users.

User Data Disclaimer

The next thing Google is VERY concerned with is user data. More specifically, how much you are gathering, and what you intend to do with it. Assuming you are only using sensitive scopes, this is pretty easy, just make sure you explain it in plain English. Something along the lines of “User data is only gathered as needed for the basic functionality of the add-on, in addition to usage data for analytics and quality assurance.”

  • Clearly explain what your app will do with user data.

Privacy Policy

You also must include a link to your privacy policy. I tried just writing my own but Google wasn’t a fan so assuming you are just a solo developer and could care less about a privacy policy, you can generate one for free online that looks like every other policy you’ve ever seen.

  • Contain or provide a visible link to your Privacy Policy.
    • The Privacy Policy must clearly describe how your application accesses, uses, stores, or shares Google user data.
    • Read the Limited Use Requirements for more information and guidance.

Terms of Service

This one Google does not care at all what you write so long that it exists and is accessible from your product page.

Random Things They Don’t Like

  • Don’t use the word “Google” on your page. Even when referring to Google Sheets. Instead, just say “Sheets.”
  • Don’t use any special characters in your add-on’s name (including apostrophes).
  • If you plan to use an image on your Oath consent screen, make sure it also is on your product page
  • Make sure you don’t have to log in to view the product page

Part 2 – Promotional Images

Canva is Your Friend

If you are publishing an add-on you are probably a developer of some sort, not a designer. Skip the Adobe suite and just use canva.com. I’m not affiliated with them in any way, it’s just a great product with an incredible free tier.

Image Sizes

You will need different image sizes to submit your final application here they are:

  • Application Icon 32×32 (required)
  • Application Icon 48×48
  • Application Icon 96×96
  • Application Icon 128×128 (required)
  • Application Card Banner (required)
  • Screenshots (at least 3)

Part 3 – Youtube OAuth Video

What You Need to Do

This is by far the most ridiculous piece of the whole process, mainly because there is 0 documentation about what they really want in the video. So here is what you need to do:

  1. Remove your app’s permissions from your Google Account – https://myaccount.google.com/permissions
  2. Start a screen recording of you clicking on your app and going through the “Unverified” OAuth screen.
  3. When you hit the “Choose Account” Page (which should be the 1st one), go to the URL bar and highlight the “client ID” so the reviewer can easily see it.
  4. Once you complete the verification, briefly show the functionality of your app. You don’t need to say anything, just show how it works.
  5. Upload as unlisted and save the URL for your OAuth application

Part 4 – The Application

First Things First

The entirety of this next section takes place in the Google Cloud Platform Console. If you don’t have an account, go ahead and make one, along with a new project. You should be able to do everything you inside of the free tier without enabling billing.

OAuth Consent Screen

  1. At the top of the console, you should see a search bar. Type “Google Sheets API” and click “Enable.”
  2. In the sidebar go to Credentials > Create Credentials > OAuth Client Id > OAuth Consent Screen
  3. Fill out the forms (here is how you find the OAuth Scopes.
  4. Submit your Youtube video URL in the specified field.

Now submit and wait for either an extremely nonspecific response informing you that you did something wrong, or that glorious “OAuth Granted” email. Typical review and response time varies from 24 hours to 5 days in my personal experience.

Store Listing

After you are granted OAuth approval you can move on to your store listing.

  1. Search in your Google Cloud Console for “Google Workspace Marketplace SDK” and enable it.
  2. Next, fill out your application with the links and images from steps 1 & 2.
  3. Get your Project ID from the App Script editor
  4. Make sure to include ALL OAuth scopes that you included in your OAuth application
  5. Hit “Submit” and wait anywhere from 2-7 days for a response.