![]() |
| Screenshot of popup informing user they are missing some permission |
The Gift of Script
I'm Phil Bainbridge and I aim to share my experiences of IT projects I've worked on as I continue to learn and develop, through this blog. My main coding language is Google Apps Script (with JavaScript), but there is also some: PowerShell, HTML, SQL and jQuery.
Tuesday, 1 September 2026
Verify all permissions granted in a Google Sheet script
Tuesday, 2 June 2026
Bulk assign Google AI licences without the Admin Console
The following Google Apps Script is designed to automate the assigning of a Google AI licence e.g. "Google AI Pro for Education" in the Google Admin Console, for individual accounts/users via a Google Sheet. The code also adds them to a particular Google Group which was used in this context to control access to Google AI Studio.
You can refer to the Google product and SKU IDs webpage if you need to assign a different licence type. There is no initial checking to see if they have an existing licence or are already in the Group, instead a try/catch is used to collate any failed users.
![]() |
| Snippet of code for bulk assigning AI licences |
Tuesday, 7 April 2026
Append Sheet data to a Doc with varying Table sizes
Tuesday, 10 March 2026
Granular OAuth consent in Google Workspace Add-ons
At the beginning of 2026 Google started to roll out granular OAuth consent for Workspace Add-ons with the view that it would improve the choice for end users when selecting permissions to run automated script. Unfortunately as end users are not typically aware of the inner workings of Google Apps Script (why would they?) the result is that sometimes they do not select all of the necessary permissions for an Add-on to function correctly when installing.
This leads to additional work for developers to handle enquiries and provide resources/instruction to overcome the issue. It can also result in reduced installations of an Add-on or negative feedback about it not working.
Tuesday, 18 November 2025
Google Form - cleanse question titles
The following Google Apps Script provides a way to help clean data submitted by a Google Form (via an 'onFormSubmit' trigger), specifically the question titles. We typically use the question titles in our Apps Script code to extract the specific values we want e.g. email address, name, etc. Doing so locks us into ensuring we copy the relevant question title explicitly as it is written in the Form, such as any upper/lower case characters and trailing whitespace. Any deviation from this and the automation will no longer work.
This specific piece of Apps Script has been created so that it can be easily dropped into the beginning of your existing code, to set the Form question titles all to lowercase and to remove any whitespace around them.
![]() |
| Google Form - cleanse question titles sample code |
Tuesday, 28 October 2025
Publish a Google Form to your domain
Tuesday, 19 August 2025
Get Google Form file upload links into a Google Doc
The following Google Apps Script aims to provide one way to solve the difficulty of passing Google Form data into a Google Doc, after the Form has been submitted, where you have a file upload question and you want a nice accessible link putting in the Google Doc rather than the long (unclickable) URL.
I have a specific blog post which focusses more upon the process of creating Google Docs from a Form submission.
![]() |
| Google Doc with Form data and accessible file links |
Tuesday, 10 June 2025
Collate and organise a large Sheet of data
The following Google Apps Script is designed to organise a large Google Sheet of data into a specific category and then populate a Google Sheet template file with it. In this example our main data consists of these columns:
- URLs
- Last Update Time
- Creator Email
- Owner Email
- Incompatibility Reason
![]() |
| Collate and organise a Sheet of data by Owner Email |






