AppsScriptPulse

How to management deployments to Google App Script from clasp with a Github Action

This repository is an example of how to setup an automatic CI/CD process for Google Apps Script using GitHub Actions.

This solution come via Dimitri S on Twitter and provides a way to setup a continuous development workflow for Google Apps Script using clasp and Github. The basic recipe appears to be is you develop your code locally using your preferred IDE. You then use clasp to push your code to GitHub, which triggers a GitHub Action to deploy your code to script.google.com.

Source: GitHub – ericanastas/deploy-google-app-script-action

Using community connectors to go beyond filter by email in Data Studio – pablofelip.online

This article discusses row-level security in Google Data Studio and shows how community connectors can be used to overcome the limitations of the native feature when accessing data stored in Google Sheets.

I don’t think one of our summaries could ever do justice to this contribution from Pablo Felip. The post has a very thorough summary of row-level security and how Community Connectors coded in Apps Script can be used for additional levels of functionality.

Source: Using community connectors to go beyond filter by email in Data Studio – pablofelip.online

An easy way to deal with Google Apps Script’s 6-minute limit

Image credit: Inclu Cat

Google Apps Script is handy, and it will help you a lot in your work. However, as you use it, you may hit a big wall. That is the six-minute limit on execution time. As the official documentation states, the maximum allowed time per execution of Google Apps Script is 6 minutes.

If the script execution time reaches 6 minutes, the script will stop suddenly, and an error message “Exceeded maximum execution time” will be displayed.

For as long as Google Apps Script has been around there have been various solutions published for handling the 6 minute execution limit. This post from Inclu Cat presents a nice overview and solution for the execution limit.

This is also an issue also recently covered by Amit Agarwal who takes a slightly different approach in Exceeded maximum execution time Exception in Google Apps Script, by breaking the execution before the limit is reached.

Source: An easy way to deal with Google Apps Script’s 6-minute limit

A library SDK for APIs in Google Apps Scripts … think of it as the Advanced Services with batch Superpowers

More technically, this library can be used to send http requests via UrlFetchApp.fetch or UrlFetchApp.fetchAll , interacting with api endpoints in raw form. By bringing it down to a lowest layer on this platform, you get the following benefits:

  • All of the options, features, and abilities that are available. No compromises.
  • Ability to batch the requests in bulk. Performance can be significantly improved and run times lowered.

If you’re looking for a way to duck under the 6 minute limit to your scripts, the last bullet point should be particularly interesting.

This library comes from Adam Morris and is well worth exploring the source link to discover more about this solution. If you are particularly interested in how to use this library with Google Services it’s worth checking out the section on Notes on createGoogEndpoint and if you are interested here is a Google Sheet of current Google Endpoint names and versions (created with Spencer Easton’s Google APIs Library script)

eMayordomo – Monitoring Gmail and conditional responses with Google Apps Script

Este artículo presenta eMayordomo, un desarrollo GAS capaz de vigilar un buzón de Gmail y responder automáticamente y de manera condicionada a los correos electrónicos procedentes de diversos formularios web, enviando mensajes preparados de antemano. Estas respuestas preparadas soportan HTML, imágenes en línea, archivos adjuntos y emojis.

Google Translate: This article presents eMayordomo , a GAS development capable of monitoring a Gmail mailbox and responding automatically and in a conditional manner to emails from various web forms, sending messages prepared in advance. These prepared responses support HTML, inline images, attachments, and emojis

For non-Spanish speakers you’ll have to hit Google Translate but it is well worth it for the very thorough documentation Pablo Felip has prepared, which includes the source blog post and GitHub repository. The repository is particularly useful to look at as Pablo has taken the time to document and explain the various Google Apps Script functions he has developed, methods used and potential issues/limitations when interacting with a Gmail inbox.

Source: Respuestas automáticas a formularios web con eMayordomo

Simple and maintainable error-handling in TypeScript

Sometimes things fail — that’s a fact of life and programming. So as a programmer, you’re going to have to write error-handling code. Thankfully TypeScript has some handy features which can help us to create simple and maintainable error-handling code.

James Elderfield recently joined us on Totally Unscripted to share some insights into the infrastructure used at Supermetrics used to support the development of their Google Sheets Add-on and Data Studio Connector. As part of their stack James highlighted how they used TypeScript to write code complied to use in Google Apps Script. This post isn’t Apps Script specific but provides some useful tips on using TypeScript for error handling.

Source: Simple and maintainable error-handling in TypeScript

Github as an Apps Script cache platform – Desktop Liberation

Use Github as a back end for caching large objects across platforms. It’s possible to use a github repo as the back end for a caching service, and by taking this approach we can share data between Apps script and multiple platforms. It also means you can retrieve the data with the git CLI in addition. It works in exactly the same way as all the other backends. … Using a regular git Repo means you can make it private and share it using the tools already built into Github.

Source: Github as an Apps Script cache platform – Desktop Liberation

Creating a Google Chatbot connected to SAP Graph API

You know that idea you always keep at the bottom of your backlog for that elusive day you’ll find enough time to address? For me, it’s the possibility to connect a chatbot to an SAP system.

Julien Delvat shares how you can connect the SAP Graph API to Google Chat with Google Apps Script. The post provides details of the entire development and deployment process with useful tips on how you can extend the project.

Source: Creating a Google Chatbot connected to SAP Graph API

Analyze your friends Peloton workout stats with real-time updates (using Google Apps Script)

A tutorial on how you can sync and analyze your Peloton workout stats into Coda with custom dashboards. Sync with a Google Apps Script or serverless function on Google Cloud.

We’ve featured this example from Al Chen on interacting with Peleton data with Google Apps Script before. Al has recently updated the post to include a “new table ‘Friend Workouts’ contains latest 10 cycling workouts from people you follow”. Follow the source link for more details…

Source: Analyze your Peloton workout stats with real-time updates

Modern Angular in Google Workspace Editor Add-ons

I intend this post for established Add-on developers who want to use Angular in Google Workspace editor Add-ons and Google Apps Script webapps. This does not attempt to show how to create Add-ons or Angular apps, but the tooling and build process to use Angular apps in Add-ons. I am also assuming familiarity with installing and using CLI tools in your development workflow.

We recently had the author of this post, Spencer Easton, on an episode of Totally Unscripted to talk about this topic. This companion post provides an overview of using Angular for Add-on development. There is a cost associated with this solution has separate hosting is required for the Webpacks, but as covered by Spencer the cost is low (for a 100K+ users add-on the cost is $8/month).

Source: Modern Angular in Google Workspace Editor Add-ons

Maintain Google Apps Script in an Enterprise environment – Google Apps Script deployment with Cloud Build

In this article I will showcase the way I deploy Google Apps Script code in an Enterprise environment. I will share the actual build file and the necessary steps and tools to reproduce my workflow. This approach does require Google Cloud Platform knowledge and a credit card. The instructions are high level, this article is not a codelab.

For those interested in scaling up their Google Apps Script development Jasper Duizendstra outlines how you can use Google Cloud Build for version control and Continuous Deployment (CD). As Jasper notes:

When the CD pipeline is in place it becomes easy to deploy the script, separate the responsibilities and support multiple versions and implementations of the code … the most important advantage of using CD is the mindset that it enables. It provides an environment where I feel confident and safe to create small incremental changes in my applications.

Source: Google Apps Script deployment with Cloud Build

Use Google Cloud AI to find the right answers from the Calendar TV contest

I have programmed an application that searches for (or rather knows) the correct answers to the competition questions from the Kalendárium program, all using Google Cloud AI. I decided to write the entire application in Google Apps Script technology, which offers an online IDE editor, application operation in the cloud and the possibility of a quick connection to Google services. [auto-translated]

You’re going to have to hit Google Translate to read this post from Ivan Kutil, but it’s worth it is a nice example of how Google Apps Script can be used for orchestration. All the details are in the post and it’s also a nice reminder of the Parser library Ivan released in 2016, which makes it easy to scrape data from websites using UrlFetchApp (read more about the web scraping).

Source: Využití Google Cloud AI pro hledání správných odpovědí z televizní soutěže Kalendárium

Everything you ever wanted to know about Gmail draft inline images and Google Apps Script but were afraid to ask

Image order in Gmail draft

A common workflow solution in Google Apps Script is to use a Gmail draft message as a template for sending emails. For the user the benefit is they can draft a message in a familiar environment adding formatting without having to worry about writing HTML. A problem often encountered is the inclusion of inline images. This post looks at solving the issue of missing inline images.

Source: Everything you ever wanted to know about Gmail draft inline images and Google Apps Script but were afraid to ask – MASHe

Analyze your Peloton workout stats with real-time updates (template and scripts) – Google Apps Script

A tutorial on how you can sync and analyze your Peloton workout stats into Coda with custom dashboards. Sync with a Google Apps Script or serverless function on Google Cloud

Nice post from Al Chen for Peloton users keen to add to their ‘quantified self’ pool of data. This post might be of particular interest for community members interested to see how authentication cookies can be handled with UrlFetchApp .

Source: Analyze your Peloton workout stats with real-time updates (template and scripts)

How to write a custom function library for Google Sheets

In this article I will showcase one of the many ways you can customize your Google Workspace environment. We will implement two custom functions in Google Sheets. With these functions as an example I will demonstrate how to use Google Apps Script Libraries to organise and distribute your solution. There are multiple ways to distribute your Apps Script code within the Google Workspace, and this article will help you decide if this library method is right for you.

Always nice to have some advanced techniques in your toolbox. In this example from Jasper Duizendstra he explores how custom functions in Google Sheets can be packaged and used in Libraries.
Source: How to write a custom function library for Google Sheets

Google Apps Script deployment with Cloud Build

Google Apps Script can go way beyond a simple script that solves a problem. In this article I will showcase the way I deploy Google Apps Script code in an Enterprise environment. I will share the actual build file and the necessary steps and tools to reproduce my workflow. This approach does require Google Cloud Platform knowledge and a credit card.

Source: Google Apps Script deployment with Cloud Build

16 secrets tips, tricks and features for new Google Apps Script Editor (v2020)

Google Apps Script has a new editor, which is better, nicer, and completed ready for future new features. Today, I would like to introduce you to several dirty and secret tricks, what you can do.

If you like a keyboard shortcut you’ll love this post from Ivan Kutil! For those less keen on keyboard commands there is still plenty of other productivity tips from Ivan shared in this post.

Source: 16 secrets tips, tricks and features for new Google Apps Script Editor (v2020)

Get ready to up your Apps Script! – Google Developers Blog

The new Apps Script IDE features the same rich integration with Google Workspace as it did before, allowing you to get started building solutions without having to install or configure anything. If you are working on a standalone script project application, you can use the Apps Script Dashboard to launch your project directly, or if you are working on a container bound project in Sheets, Slides or Docs, you can do so from selecting Tools > Script editor from their top menus.

Charles Maxson, Developer Advocate Google Cloud, has highlighted some features Google Apps Script developers new and old should keep an eye out for. I think one of the big ones for experienced Apps Script developers who work mostly in the online editor is going to be the context menu options and the Command Palette. Find out more in the source post.

Source: Get ready to up your Apps Script! – Google Developers Blog

How to get the most out of the new Google Apps Script debugger and logging

Building and maintaining code can be hard. There are multiple phases in the livecycle of the code, each phase with its own challenges. Being able to easily retrieve information about the execution of your code in each phase is key. This is where the new Google Apps Script IDE debugging and logging features can help. In this article I will show you what you can do with the new debugging and logging features.

Some great tips from Jasper Duizendstra on using the logging and debugging features of the new Apps Script IDE.

Source: How to get the most out of the new Google Apps Script debugger & logging

Guide To The New Google Apps Script IDE Covering 135 Features

Explore the fantastic new Google Apps Script IDE and see features that will make your life easier, whether you’re a beginner or pro developer.

Ben Collins can never be accused of slacking off and this post is the perfect example. As announced on Totally Unscripted the new Apps Script IDE is rolling out and Ben lists 135 features for developers to look out for. View the source post for these features plus a video of Ben highlighting his favorites.

Source: Guide To The New Google Apps Script IDE Covering 135 Features

Creating an embedded interactive Chain Story app with Google Apps Script and Google Sheets – Yagisanatode

In this tutorial, we are going to create an interactive story chain app that we can embed into a Google Site or your own site like WordPress.

Yagi uses a simple but very effective interactive story chain app to explore and explain some very powerful Apps Script functionality all developers should know about. This includes using the LockService which can be used to prevent concurrent access to sections of code. Yagi also highlights some recent discussions around the limitations of Web Apps and concurrent users. Click through to the source for all this and more.

Source: Creating an embedded interactive Chain Story app with Google Apps Script and Google Sheets – Yagisanatode

Creating Unique Ranges from 2D Arrays in Google Apps Script – Yagisanatode

If you have ever done any work in Google Sheets you might have come across the incredibly useful UNIQUE function. This function can take a single row or multiple rows and generate a list of unique cell values.

Sometime you might have a use case where you need to replicate the UNIQUE functionality in Google Apps Script. … Whatever the case, knowing how to to create a unique array from a 1-dimensional array or a 2-dimensional array is an important part of your toolkit as a coding goat 🐐.

This tutorial will look at how to create this with modern Javascript that is incorporated into the Google Apps Script language.

Source: Creating Unique Ranges from 2D Arrays in Google Apps Script – Yagisanatode

Sentiment Analysis For Google Tables Using Goole Apps Script – Ben Collins

Learn how to use Google Cloud’s Natural Language API to do sentiment analysis on tickets submitted to a Google Tables Support Issue Tracker. We’ll use Google Tables as the platform for our Support Tracker and Apps Script to connect to the Cloud Natural Language API.

Great example from Ben Collins building on the work of Alicia Williams which shows how you can interact with your Google Tables with Google Apps Script. As part of this solution Ben uses the new Tables Service, which is the latest Advanced Service to hit Google Apps Script, connecting to the Google Cloud Natural Language API. Click through to the source for all the details you need to get started.

Note: Google Tables beta is currently only available in the U.S.

Source: Sentiment Analysis For Google Tables Using Apps Script –

Subscribe to Apps Script Pulse...