← Back to work
Case Study 12 · Apps Script rewrite · digest emails

Client Onboarding Automation Consultant — Apps Script & Digest Email

Google Apps Script · Advanced Sheets API · Gmail

The Problem

A digital marketing agency managed client onboarding through spreadsheet checklists — but alerts weren't going out, tasks were being missed, and the script kept hitting Google's 6-minute execution limit and dying silently. Clients were receiving alerts for services they hadn't purchased because nothing was filtering out irrelevant tasks.

The Build

We rewrote the Apps Script from scratch with two core optimizations: batch property reads and writes using PropertiesService instead of individual calls, and a single Advanced Sheets API call per spreadsheet to pull all hidden row data at once. Hidden rows indicate services that don't apply to a given client — preserving this filtering was non-negotiable. Individual task emails were consolidated into per-client digest emails to reduce noise and API overhead. A deduplication layer prevents re-sending alerts for tasks already notified.

The Outcomes
Script execution time dropped from timeout at 6+ minutes to well within limits
Clients only receive alerts for tasks that apply to their service package
Daily digest emails replace per-task spam — one email per client per day
Zero duplicate alerts via ScriptProperties deduplication
Fully documented and handed off with SOPs for the incoming team
The Stack
Google Apps Script Advanced Sheets API Gmail Google Sheets
Have a similar problem?
We start every engagement by understanding what's actually broken before we touch a tool.
Tell us about it →