I’m a teacher-turned-developer actively searching my first software engineer job during the pandemic after graduating from Hackbright Academy. As a bootcamp new grad, I am lucky to get an internship opportunity to develop a gmail add-on product at dialoggBox to gain my first industry experience and learn how to work with stakeholders.
My article will be composed of three parts:
What service do dialoggBox and this gmail add-on provide?
What was my experience using Google Apps Script to build an add-on product?
How did I develop each section of the gmail add-on?
The actual details of the add-on developed by the author, Nancy Dai, are promised in a follow-up post but this post serves as a useful insight into the main things to look out for when developing Gmail Add-ons.
Did you know that you can send text messages via Google Sheets? In this episode of Sheets to Apps, we show you how to easily send text messages with Google Sheets via Twilio – an online communications provider.
Great work! I also recommend checking out https://t.co/omjoX8cynI which can be modified to send HTML emails from a Google Document. That is how I used to manage all of our automation’s emails — template files in Google Doc that were converted to HTML for email.
For those interested in workflows for using Google Docs as an email template this solution already has a emailHtml() function you can build on which appears to already inline images from your Google Doc.
You can format the source data in Google Spreadsheet in different colors, fonts and sizes and all your cell formatting will be retained in the email messages.
Very handy code snippet from Amit Agarwal which lets you convert the formatted text in a Google Sheets cell to HTML. In the example Amit uses the formatted text in an email sent with MailApp but you might find other uses for this solution. Click through to the source link for all the details…
Back in 2015 I shared a post on Tips on emailing inline Google Charts from Sheets using Apps Script, which looked at how you can email charts from Google Sheets. This solution is one I use in my work on a daily basis and remains largely unchanged. More recently I was faced with the problem that I couldn’t include a Combo Chart. In this post I revisit this problem and share a solution for including copies of your Google Sheet charts in your email reports.
Whilst this solution focuses on extract Google Sheets chart images for the purpose of emailing, the technique might be of interest for other situations where you need to use a chart image.
Use the new Google Cloud Identity API to manage your Google Groups on your G Suite domain. Find in this article some REST and Apps Script code to query the Cloud Identity API.
Stéphane Giron summaries some helpful Google Apps Script code for interacting with the Google Cloud Identity API via REST. In this post you’ll find functions for listing both Google Groups in your domain and the members of each of those groups.
Get stats for your current active sheet & the entire spreadsheet in one place using workbook statistics – a g suite editor add-on built using google apps script.
A handy Google Sheets add-on from Sourabh Choraria that can give you an Excel like summary of the Google Sheet you are working on that can display information like the number of: filled cells, formulas, charts and more. This post is also worth reading if you are interested in tips for the Add-on publication processes, highlighting some of the pitfalls you can avoid. The code for the Add-on is also open source making it possible to reuse in your own Apps Script projects.
This is a sample script for converting a range in Google Spreadsheet as an image data using Google Apps Script. Unfortunately, there are no methods for directly converting the range in Google Spreadsheet as an image data in the built-in functions. So in this case, as a workaround, Charts Service is used.
Let’s talk about the basics of G Suite Add-ons. G Suite Add-ons simplify how users get things done in G Suite by bringing in functionality from other applications where you need them. They provide a persistent sidebar for quick access, and they are context-aware — meaning they can react to what you’re doing in context. … Up until recently, G Suite Add-ons leaned on Apps Script to build Add-ons, but choice is always a good thing, and in some cases you may want to use another scripting language.. So let’s talk about how to build Add-ons using additional runtimes.
Google recently announced the ability to develop G Suite Add-ons using other frameworks other than Google Apps Script. This post on the Google Developers Blog introduces how you can develop G Suite Add-ons with something other than Google Apps Script.
Core Web Vitals are a set of metrics defined by Google to help webmasters understand the performance of their websites. You can automate the measurement and tracking of core vitals with Google Sheets.
Another incredibly rich resource from Amit Agarwal containing useful guidance on not only performance of websites and potential impact on search ranking, but also a very concise coding pattern for reading and writing data in Google Sheets.
How to automatically update the title of your YouTube video to accurately reflect the views and comment count in the title.
Amit Agarwal has a great eye for these little tweaks. The source post has all the code you need (one note to keep in mind is you might get into authentication loops if using other Google Apps Script services with this script solution)
Google Apps Scripts are amazing. Without setting any servers, we can do a lot of things like collecting form responses, email marketing campaigns, etc. But as a developer, we like our code to be on Version Control System like Github. In this blog, we will discuss how can you setup Github Actions to automatically backup your Google Apps Scripts to Github.
For Google Apps Script developers who use clasp this is a great post on how you can setup Github Actions as part of your dev flow. Click through to the source for all the details.
You can bring the power of Google Maps to your Google Sheets using simple formulas with no coding. You don’t need to sign-up for the Google Maps API and all results from Google Maps are cached in the sheet so you are unlikely to hit any quota limits.
Great post from Amit Agarwal using the Maps Service for Google Sheets custom functions.
Use Google Maps formulas inside Google Sheets to calculate distances, travel time, get driving directions, look up postal codes with reverse geocoding and more!
The post includes all the source code and has some great examples using the V8 syntax.
In this post, I’ll show you how to use beginner-friendly ML tools–Semantic Reactor and TensorFlow.js–to build an app that’s powered by natural language.
NEW: Semantic Reactor has been officially released! Add it to Google Sheetshere.
We’ve previously highlighted how TensorFlow.js can be used in Google Apps Script. In this latest example the new Semantic Reactor Google Sheets Add-on published by Google Research is highlighted. Semantic Reactor is designed to make it easier to start exploring Natural Language Understanding (NLU) and with this tutorial you can learn how you can deploy your model to code.
I’m sure for many pro Google Sheets users when you look at a Google Sheet what you see on screen is different for what you ‘see’ in your mind. Researchers from Coburg University, Microsoft Research and the University of Cambridge have potentially bridged this gap showing what Google Sheets can look like virtual reality (VR).
Whilst the video embedded above is not explicitly about Google Apps Script, I think it’s always worth keeping an eye on the horizon to see what the future might bring (you might want to skip through to 05:12 to see what I mean). You can also read the full research paper, in which the researchers explain how they used the Google Sheets API to build the experimental interface in the Unity game engine.
For Google Apps Script developers I’m sure you’ll be able to see how this solution could also benefited from the built-in SpreadsheetApp methods like getCurrentCell() and activate(), rather than using the the Sheet API, which reported as a limitation that haas reported in the research paper:
Since the Google Sheets API exposes no functionality to track client-side interactions, operations of users with the web page were tracked inside Unity. In particular, tracking of cell selection was implemented by constructing virtual-cells in the Unity space using oriented bounding boxes, and spatially position them in their corresponding places to fit the spreadsheet texture. Tracking of the pen and the Unity collision detection mechanism is used to detect whether the pen tip lies inside a certain cell.
Using Google Analytics and looking for a new way to aggregate, store, and efficiently organize the data from your website in a Google Sheet? In this episode of Sheets to Apps, we show you how to combine the Google Analytics add-on with Apps Script, resulting in the automation of cohesive data summaries that are compatible with Google Sites.
In this latest episode Alexandrina Garcia-Verdin demonstrates how the Google Analytics Add-on can be combined with macros to automate regular reporting. The video description has links to all the resources you need to set this up.
Whilst ‘Sheets to Apps’ videos are targeted at low/no coders as an Apps Script Developer I always find it useful to have a look at the code to see how it is done, as more often than not there will be a technique or method I’ve not come across. In the case of this example my new discovery was the .autoFill() and after browsing the documentation, .autoFillToNeighbor() methods in SpreadsheetApp. These methods allow you to replicate the auto-fill functionality users have in Google Sheets.
Another discovery was the various .setOption() calls when building the charts. I’ve used .setOption() in projects in the past and the issue I’ve had is navigating the long list of options you can use for various chart types. Using the macro recorder seems like a great way to capture all the options you want to add to your script project.
const html = HtmlService.createTemplateFromFile("index"); html.image = JSON.stringify(blob.getBytes()); // adding image data SlidesApp.getUi().showModalDialog(html.evaluate(), "sample");
This is a sample script for cropping images in the Google Slides using Google Apps Script.
Useful snippet from Tanaike which shows how you can crop images in Google Slides by using the replace(blobSource, crop) method. The post also highlights a limitation with the image manipulation methods available around crop centering.