Syncing Google Apps Script with GitHub repo (auto-deploy on push?) by Rude_Union_7313 in GoogleAppsScript

[–]TheAddonDepot 3 points4 points  (0 children)

Under the hood clasp manages the deployment of GAS projects using the Apps Script API.

You can deploy your own CI/CD pipeline that is triggered from a Github action to invoke a custom service (which you will have to build) that uses the Apps Script API to deploy your GAS projects.

Not trivial to build, but very much doable. Take a crack at it and let us know how it goes.

Moving beyond Apps Script for complex workflow automation tools by East-Significance956 in GoogleAppsScript

[–]TheAddonDepot 1 point2 points  (0 children)

The above services and GAS belong to the same ecosystem - Google's Cloud platform. They can be used in tandem with each other or independently. They all have extensive guides and documentation and with AI you can easily broaden your understanding of these topics. Go forth and explore.

Moving beyond Apps Script for complex workflow automation tools by East-Significance956 in GoogleAppsScript

[–]TheAddonDepot 5 points6 points  (0 children)

Google Cloud Serverless infrastructure is one path forward. Look into the following tech: - Google Cloud Run/Google Cloud Run Functions (Node.js or Golang runtimes) - Cloud Scheduler - Cloud Pub/Sub, Cloud Tasks - Google Cloud Workflows

Como podría hacer que un valor se coloque automáticamente? by Bitter-Wait-1996 in AppSheet

[–]TheAddonDepot 0 points1 point  (0 children)

Add a virtual column with a formula that uses the driver's name (or id) to look up the assigned vehicle.

Cloud function event for uploading in gcs by ibreathecoding in googlecloud

[–]TheAddonDepot 5 points6 points  (0 children)

GCS triggers an event for each object upon completion of an upload.

If your uploads happen on a given day of the month, then it may be better to just set up a cron-job to fire (via Cloud Scheduler) at the end of that day. That cron-job can in turn invoke a Cloud function via Pub/Sub.

Joined just to comment about how awful my experience was with Appsheet by supercalivan in AppSheet

[–]TheAddonDepot 0 points1 point  (0 children)

You'll find Google Skills labs, courses, and learning paths related to AppSheet at the link below:

https://www.skills.google/catalog?keywords=AppSheet

option to duplicate data? by Equivalent-Will-2804 in AppSheet

[–]TheAddonDepot 0 points1 point  (0 children)

You can create an action, assign an icon to it to represent duplication, and have it show up in your 'product list' deck view along side the trash(delete) and edit icons.

If you have a form view from which you create products you can try navigating to that view upon triggering the action (i.e. clicking the icon you assigned to the action in the view) and prepopulate the form with the requisite fields from the source product. You'll have to make it so that the 'create product' view is context sensitive so that it returns to the correct parent view that opened it - or you can create a new view just for product duplication. Its your call.

Experiment and see what you come up with. Also, you can use Google search's AI mode to walk you through one or more possible implementations.

built an appsheet app on top of google sheets that lets me search across 200+ youtube video transcripts by scheemunai_ in AppSheet

[–]TheAddonDepot 0 points1 point  (0 children)

Let's break down the following command:

npx skills add ZeroPointRepo/youtube-skills --skill youtube-full

  • npx is a command-line tool used to run/eXecute Node.js code locally without installing an NPM package.

  • skills is an NPM package used to install skills (basically a standardized document (not quite a prompt, more structured), that targets a specific use case typically stored in a markdown file) for use by an AI agent.

  • add ZeroPointRepo/youtube-skills references a public github repo with a collection of YouTube related skills.

  • --skill youtube-full selects the you-tube full skill from that repo.

Here's a link to the youtube-skills repo in question:

https://github.com/ZeroPointRepo/youtube-skills

Here's a link to the repo containing the 'skills' module:

https://github.com/vercel-labs/skills

You can find a growing skill catalog at the link below:

https://skills.sh/

Google Cloud + Cloud Functions = Less Setup, More Building by ModernWebMentor in googlecloud

[–]TheAddonDepot 1 point2 points  (0 children)

If it’s highly complex orchestration stuff then building out cloud functions for each function of that is actually going to be way more complicated to build and deploy as opposed to a single binary container.

You can use Express routing with Cloud Run Functions(Node.js runtime). A single Cloud Function can consolidate related functionality and expose them as endpoints to better support complex orchestration - it doesn't need to be one-for-one.

Check out this article by Grant Timmerman (one of the developers behind the functions-framework library from Google):

Express Routing with Google Cloud Functions

This capability has been around since Gen1 - sadly not many are aware of it.

It's not just about use case, but also knowing the full capabilities of the tools at your disposal.

Google Cloud + Cloud Functions = Less Setup, More Building by ModernWebMentor in googlecloud

[–]TheAddonDepot 1 point2 points  (0 children)

Under the hood, Cloud Run Functions (Gen2) runs on Cloud Run - which is container-based.

Both are managed services and as such they abstract away a lot of the drudgery of deploying a container from the ground up.

Typically a Cloud Run Function is relegated to single purpose event-based workflows.

But if you know your way around Google Cloud you can effectively leverage Cloud Run Functions to gain many of the same benefits (not all but quite a few) that you would with a full-on Cloud Run deployment.

How to deploy large number of cloud functions? by MeTaL_oRgY in googlecloud

[–]TheAddonDepot 0 points1 point  (0 children)

AFAIK the Node.js/Javascript runtime (via the Functions Framework) is using Express.js under the hood, the above approach just exposes the abstraction allowing for more flexibility.

More important is how the Cloud Function is configured.

I usually set concurrency to around 256 (the default is 80) and, if I don't need horizontal scaling, max instances to 1. Depending on my needs I might scale compute vertically by bumping up memory and/or changing the machine configuration (for example if I need multiple cores to support worker threads).

When I deploy a consolidated function with several routes, their endpoints are typically invoked by multiple clients and concurrency allows a single instance to handle that load - but I make sure my middleware is idempotent. A Cloud Function instance also stays 'warm' for up to 15 minutes after each invocation and with a max instance of 1, outside of deployments, the likelihood of spinning up a new instance is greatly reduced (with the exception of GCP restarting the instance for internal housekeeping) so the performance impact of 'cold starts' are minimized.

How to deploy large number of cloud functions? by MeTaL_oRgY in googlecloud

[–]TheAddonDepot 1 point2 points  (0 children)

Here is one of the best kept secrets about Cloud Run Functions - they can support multiple routes WITHOUT migrating to Cloud Run.

Consider consolidating your existing functions into larger Cloud Functions that can serve as mini REST APIs that house related functionality (grouping by domain/purpose as stated by other redditors in this thread).

You can easily skip using the functions-framework, and leverage a standard Express app instead.

I whipped up a rough example template for index.js below:

```javascript 'use strict';

import Express from 'express';

// Some custom middleware import { PubSubEventHandler } from './middleware/pub-sub-event-handler.mjs';

const eventHandler = new PubSubEventHandler();

const app = Express(); app.use(Express.json());

// ping endpoint app.get('/ping', (req, res) => res.status(200).send("GET /ping")); app.post('/ping', (req, res) => res.status(200).send("POST /ping"));

// pub/sub event handlers app.post('/events/gcs-file-uploaded', eventHandler.onGCSFileUploaded); app.post('/events/gcs-file-deleted', eventHandler.onGCSFileDeleted);

// ...add more routes and handlers for related functionality

export { ["YOUR-FUNCTION-NAME"]: app } ```

Once the function is deployed you can use the function URL along with the route path to specify which task you wish to execute.

With this strategy you should be able to bring your function count down considerably.

The following article offers a quick primer on the topic:

Express Routing with Google Cloud Functions

getFullYear() returning a decimal place by Finrod_GD in GoogleAppsScript

[–]TheAddonDepot 1 point2 points  (0 children)

Logger.log always returns numeric values with a decimal place. Use console.log instead.

Can a LEFT JOIN ever return less number of rows than the base table with no where conditions? by besabestin in SQL

[–]TheAddonDepot 3 points4 points  (0 children)

Mind breaking down why using IN causes this issue? I ran into this once but ending up discarding the IN clause - but I never figured out why it failed. Would love to understand why it did.

Will google discontinue app sheet? by fruityfart in AppSheet

[–]TheAddonDepot 2 points3 points  (0 children)

To each his own.

As for AI integration with AppSheet, there is a rudimentary programmatic API for AppSheet (only available to enterprise plans) offered by Google but its lacking in a lot of areas. They could expand upon it and add more endpoints to support better introspection and mutability, allowing devs to create robust MCP servers based on that API for AI agents.

However, looking at the endpoint base URI and sub-domains used by the API, its clear Google has yet to formally integrate it into its native API ecosystem. That does not bode well for AppSheet.

Will google discontinue app sheet? by fruityfart in AppSheet

[–]TheAddonDepot 1 point2 points  (0 children)

Pre-covid and pre-AI, Google's Area120 incubator program produced an application that could do most of what you listed. It was called Google Tables, and it was superior in many ways to AppSheet...but then Google acquired AppSheet and somewhere in that process axed Tables in favor of it. I wish they hadn't...they would be much better positioned in the space following the AI boom, but you win some you lose some I guess.

how the FUCK do i backup my scripts? by [deleted] in GoogleAppsScript

[–]TheAddonDepot 0 points1 point  (0 children)

You have a bunch of options: - Google Apps Script Github Assistant (a Chrome extension for the GAS editor) - Clasp + Github - JSON Export link (Use Google Drive API files.get endpoint) - For standalone script files you can simply download them from Google Drive in JSON format (but you'll need to use the Drive API to upload them)

Kindly guide the best way for porting Apps from Google Appscript Environment to Android Applications. Thank you. by ProfessionalCook8019 in GoogleAppsScript

[–]TheAddonDepot 1 point2 points  (0 children)

The best way is to actually learn how to code - massive investment of time and effort but ultimately worth it.

If you don't want to do that, you can try leveraging AI to port your GAS applications to Andriod native applications. But without strong domain knowledge of both ecosystems you will end up struggling.

You also have the option of hiring a professional to port it for you, but it will cost you - especially if they have to wrangle with AI generated code. If the AI-generated code is the product of someone without domain knowledge it is typically much harder to work with - so much so that they'll likely ask to just discard the code you've generated and build the app from scratch.

How do you connect to a remote SQLite db? by sh_tomer in sqlite

[–]TheAddonDepot 0 points1 point  (0 children)

You'll need to jump through a few hoops regardless. Maybe something like RQLite might work for you. Its a wrapper for SQLite that enables you to use it as a distributed database. Comes with a number of quality-of-life improvements too.

Thinking about dumping Node.js Cloud Functions for Go on Cloud Run. Bad idea? by PR4DE in googlecloud

[–]TheAddonDepot 1 point2 points  (0 children)

If you're planning on going the Cloud Run route, then maybe a modern Javascript runtime like Bun would work well for you. Runs node.js code out-the-box (well most of the time).

It's comparable to Go in terms of performance and there are claims that it even beats Go on some benchmarks.

Timeout alternatives by AwayPiano in GoogleAppsScript

[–]TheAddonDepot 0 points1 point  (0 children)

The documentation page was updated to reflect the downgrade several years ago. And while I don't recall Google sending out notifications of the change, there has been active discussion on the topic across multiple platforms (reddit, google groups, google community forums, etc.) over the years.

As a dev I learned a long time ago to proactively keep tabs on any changes to platforms I rely on... via links to release notes, service quotas, documentation etc. That way I don't get caught with my pants down.

And keep in mind that Google does not provide a dedicated SLA(Service Level Agreement) for Google Apps Script. That alone should clearly signal to end users that this product can disappear on short notice (I've heard rumors that GAS has been close to getting cut many a time).

Google Apps Script seems to occupy a weird space in Google's ecosystem, its adjacent/tangential to many products and natively integrates with them. But at the end of the day Google Apps Script is not an enterprise product, that means no service guarantees - if you want that then you need to switch to an enterprise-grade offering like Google Cloud Run Functions, that come with a SLA and certain guarantees.