AppsScriptPulse

Automatically save attachments for a Google Google to Google Drive using Gmail and Google Apps Script

 

Imagine you’re managing a Google Group, where important attachments are regularly sent. Manually saving these attachments to your Google Drive can be time-consuming and prone to errors. Is there a way to automate this process and ensure that you don’t miss any crucial documents?

It’s quite easy to tie yourself in knots when it comes to scheduling tasks in Google Apps Script to handle data created since the last run. This Medium post from Pablo Pallocchi shows a nice way your can structure Gmail searches using the after: operator combined with a ‘last execution date’ stored in Apps Script Properties Service. The result is a nice solution design to backup attachments sent to a Google Group to Google Drive. There’s lots of scope for extending and/or modifying this solution. All the details are in the source post.

Source: Automatically Save Email Attachments to Google Drive Using Google Apps Script

AppSheet Core licenses will be included by default for more Google Workspace editions, along with a new Admin security setting

To bring the power of AppSheet to more users, AppSheet Core licenses will now be included for the following Google Workspace editions…

By including AppSheet Core licenses in more Google Workspace editions, the power of AppSheet is accessible to more users. Further, Admins will have the security features they need to ensure their users are using AppSheet appropriately in their organization.

Previously AppSheet Core licenses were included with Workspace Enterprise Plus, Enterprise Essentials Plus, and Education Plus users. Google have recently announced that AppSheet Core licenses will also be included in the following Google Workspace editions:

  • Business Starter, Standard, and Plus
  • Enterprise Starter and Standard
  • Frontline Starter and Standard
  • Non-profits
  • Education Standard

This is great news for Google Workspace users as AppSheet includes a number of out-of-the box features which already integrate into other Workspace products, like dynamic emails, Google Chat and Google Apps Script integration.

Along with the expansion of Workspace editions getting AppSheet Core, is the news that Admins will have basic security controls which can disable external usage of AppSheet apps.

Looking at the associated new security settings support page, it was interesting to see that turning on AppSheet Core security will disable ‘external integration through the app API’:

This caught my eye as the AppSheet API is a feature reported as only being supported on AppSheet Enterprise plans:

Perhaps it’s a mistake in the AppSheet API documentation, but I hope not as the AppSheet API is an incredibly useful addition for developers to do more with AppSheet.

Finally a little plug. If you are interested in AppSheet and would like to find out about training and support services get in touch. At CTS, where I work, we’ve a growing reputation in both products built using AppSheet as well as helping you get the most from the platform in your organisation.

Source: AppSheet Core licenses will be included by default for more Google Workspace editions, along with a new Admin security setting

A Google Workspace Developer’s notes on publishing a Google Workspace Add-on to the Marketplace

 

This guide will walk you through creating a public Google Workspace Add-on, and launching it in the Google Workspace Marketplace for as free as possible. …

I’d never developed or published an add-on before. As I was looking into it, I realized that, while it is not super complicated, it is not readily obvious — especially for anyone just getting into add-on development. Google does have a guide on developing and publishing an add-on but it leaves a lot of unanswered questions.

So I thought I would put together what I learned in this guide — a playbook for anyone else who wants to develop their own add-on.

Following on from a recent Pulse post on How to publish to the Google Workspace Marketplace published by the Google Workspace team, here’s a developer’s take on the process from start to finish. As mentioned in the post the official support resources should be your start point, but these notes spotlight some of the nuances required to publish an add-on and the appendix includes some tips on naming your add-on and where/how to host required documentation including your add-on privacy policy.

Source: Developing a GAS Powered Google Workspace Add-on And Launching It To The Marketplace

Introducing Project IDX, An Experiment to Improve Full-stack, Multiplatform App Development

Project IDX is a browser-based development experience built on Google Cloud and powered by Codey, a foundational AI model trained on code and built on PaLM 2. It’s designed to make it easier to build, manage and deploy full-stack web and multiplatform applications, with popular frameworks and languages. Project IDX is also built on Code OSS, so it should feel familiar no matter what you’re building.

Where will the online Google Apps Script go next? Google have announced it’s latest experiment in browser based IDEs in the form of Project IDX. A key feature of Project IDX is integration with AI tools to help developers:

With Project IDX, we’re exploring how Google’s innovations in AI — including the Codey and PaLM 2 models powering Studio Bot in Android Studio, Duet in Google Cloud and more – can help you not only write code faster, but also write higher-quality code. Currently, Project IDX has smart code completion, an assistive chatbot, and contextual code actions like “add comments” and “explain this code”. Our AI capabilities are in their very early days, and we’re working on making IDX AI even better at helping you as you work.

Project IDX isn’t publicly available but there is a waitlist you can join from the website. Give Project IDX is an online IDE it will be interested to see if features are rolled into the Script Editor. At the very least as you can develop offline using tools like clasp it open up interesting opportunities for Apps Script development.

Source: Introducing Project IDX, An Experiment to Improve Full-stack, Multiplatform App Development

[News] MakerSuite expands to 179 countries and territories, and adds helpful features for AI makers

When we announced MakerSuite earlier this year, we were delighted to see people from all over the world sign up for the waitlist. With MakerSuite we want to help anyone become an AI maker and easily create innovative AI applications with Google’s large generative models. We’re excited to see how it’s being used.

Today, we’re expanding access to MakerSuite to cover 179 countries and territories, including anyone with a Google Workspace account. This means that more developers than ever can sign up to create AI applications with our latest language model, PaLM 2.

We’ve recently featured a couple of posts on Pulse mostly from Aryan Irani on getting started Google GenAI tools in Google Apps Script. As part of these Google MakerSuite, a tool that lets developers start prototyping with Google’s large language models quickly and easily, is used as part of the API calls to PaLM. MakerSuite is still in private preview, but the good news in the linked announcement that the waitlist has been expanded to 179 countries. Given how Google have rolled out other GenAI tools, in particular Bard, I’m not surprised that EU countries are still not included, but find it strange at time of writing the United Kingdom is still not on the list. Despite this the announcement is worth a read to find about some other new features including automatic text prompt tips and data import/export to Google Sheets and by CSV.

Want to write better prompts? Now, you can write a text prompt and click “Prompt Suggestion” to get ideas and suggestions to get better responses – Image credit: Google

Source: MakerSuite expands to 179 countries and territories, and adds helpful features for AI makers

How to publish to the Google Workspace Marketplace [Video Tutorial]

In this video you will find out how you can publish your app to the Google Workspace Marketplace.

Publishing a Google Workspace Add-on or Chat App can be a bit daunting. We’ve feature a couple of ‘how-to’ guides, which go into the detailed steps of the process, and my favourite has to be Alice Keeler’s top tips for getting your Google Workspace Add-on published. If you are still unsure about the Google Workspace Marketplace publication options and information required this video from Chanel Greco gives an overview of the entire process from start to finish.

Source: How to publish to the Google Workspace Marketplace

Easily managing time-driven triggers using Google Apps Script and the TriggerApp library

Google Apps Script can be executed by time-driven triggers. This is one of the very important points for taking cloud computing. But, the scenarios using time-driven triggers are different for each user, and there are a lot of situations for using time-driven triggers. But, when a script for implementing time-driven triggers is developed, each script is different and complicated. In this report, I would like to introduce easily managing time-driven triggers using a Google Apps Script library.

In Google Apps Script time-driven triggers are a powerful way to automate tasks including Google Sheets. However, managing them can be difficult, especially if you have a lot of triggers and need triggers to run at different times and frequencies. The TriggerApp library from Kanshi Tanaike makes this a lot easier and this post includes a number of examples that are easy to copy/modify for your own script projects. The post covers the following scenarios:

  • Execute 2 functions at specific dates and times
  • Execute a function with a specific cycle between specific times between specific dates
  • Execute 3 functions with a specific cycle between specific times on weekdays
  • Send an email on a birthday every year
  • Execute specific functions on specific weekdays in a week
  • Execute 6 different functions every 10 minutes from “09:00:00” to “11:50:00” in order
  • Opening hours of Google Form from 09:00 to 17:00 on Weekdays
  • Opening Hours of Google Spreadsheet from 09:00 to 17:00 on Weekdays
  • Execute specific functions at 09:00 on Monday to Friday at the beginning of specific months

The source code for the library is on GitHub and includes documentation on all the methods it uses.

Source: Easily Managing Time-Driven Triggers Using Google Apps Script

Retrieving and putting values for PDF forms with Google Apps Script (and other PDF solutions)

This is a sample script for retrieving and putting values for PDF Forms using Google Apps Script.

We’ve featured a couple of posts from Kanshi Tanaike on Pulse with solutions for handling/manipulating PDF Documents with Google Apps Script. This post on retrieving values from PDF Documents is just one in a series of recent contributions from Kanshi looking at how Google Apps Script can be used with PDFs:

All these examples use the PDF-LIB JavaScript library and as previously noted in the Pulse post Merging multiple PDF files as a single PDF and converting all the pages in a PDF to PNG images using Google Apps Script , with minor modification to can load this library into the Apps Script editor.

Source: Retrieving and Putting Values for PDF Forms using Google Apps Script

Introducing ChatGPTApp, a new library for Google Apps Script and ChatGPT (and a new way to generate personalised mail merges)

Last month, OpenAI announced Function calling, “a new way to more reliably connect GPT’s capabilities with external tools and APIs”. Super useful ❤️ and we decided to integrate that with Google Apps Script.

Following on from yesterday’s Pulse post which highlighted Ben Collins reflections on ‘What can AI do for you as a Google Sheets user? Is the hype justified?’, here is a contribution from another Apps Script expert, Romain Vialard, announcing a ChatGPT library for Google Apps Script.

The source post highlights a number of examples, including the standard ‘prompt’ calling. Where this post gets very interesting is integration with Open AI’s function calling features:

In an API call, you can describe functions to gpt-3.5-turbo-0613 and gpt-4-0613, and have the model intelligently choose to output a JSON object containing arguments to call those functions. The Chat Completions API does not call the function; instead, the model generates JSON that you can use to call the function in your code.

To illustrate this below is a screenshot of a very slightly extended example, which has a Google Sheet with the headings email, name and tip topic. The functions are described to ChatGPT and in the case of sendMessage() the parameters it requires. The ChatGPTApp library handles the functions and in the case of the getContactsList() uses it to pass the Google Sheet data for ChatGPT to format a JSON response to correctly call the sendMessage() function.

I found it took me a while to start understanding what is going on and would recommend experimenting with the library and sample code to get a sense what is possible.

Source: Introducing ChatGPTApp, a new library for Google Apps Script

What can AI do for you as a Google Sheets user? Is the hype justified?

Image credit: Dall-E/ Ben Collins

See how AI tools work with Google Sheets to boost your productivity. Covers ChatGPT, Google Bard, and AI add-ons.

A very informative post from Ben Collins, discussing how AI can be used to automate tasks, identify patterns, and make predictions in the context of Google Sheets. Ben provides several examples of how Generative AI can be used to improve the way you can interact with data in spreadsheets from helping with formula to generating and improving data.

As Ben points out in the post users have benefited from AI in Google Sheets for a number of years with features like Explore. Perhaps the biggest recent change is exposing Large Language Models as a service, with users able to directly access the ‘prompt’ to generate output.

Source: AI + Google Sheets: How To Use Them Together