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, 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 |
Tuesday, 13 May 2025
Create a dynamic Menu from content in a Google Sheet
The following Google Apps Script is designed to dynamically create a Menu in a Google Sheet, based specifically on the data within it. So rather than the typical process of creating a static Menu where you prescribe exactly which items go into it and the Functions to run, this script will generate the items each time the Sheet is opened and perform one universal Function: translating 'Hello' into a couple of different languages in this example.
This means you can add/remove items from your Sheet and the Menu will adjust accordingly (the next time you re-open it), without any need to go into the Apps Script Editor.
| Screenshot of Sheet popup showing translated text from data within the Sheet. |
Tuesday, 15 April 2025
Convert Sheet data into a JavaScript Object for easier handling
| Screenshot of Sheet data with Header rows |




