Back to BlogStrategy

The Invisible OS: Architecting Your Agency on Google Workspace

Stop building random scripts. Learn how to architect a centralized "Operating System" in Google Workspace that governs your entire agency.

November 27, 2025
2 min read

Most agencies I work with are a patchwork. A Zapier automation here, a random Google Apps Script there, a manual checklist somewhere else. Nothing communicates. Change your hourly rate and you're updating it in a dozen places.

You don't need more tools. You need them to actually work together.

The Hub-and-Spoke Model

Instead of building isolated scripts, build a Central Config (The Hub) that feeds data to your Workers (The Spokes).

The Code: The Central Registry

Create a standalone script library called ConfigService.

// CONFIGURATION SCRIPT (Library)
const CONFIG_SHEET_ID = "YOUR_MASTER_CONFIG_ID";
 
function getGlobalConfig() {
  const ss = SpreadsheetApp.openById(CONFIG_SHEET_ID);
  const sheet = ss.getSheetByName('Settings');
  const data = sheet.getDataRange().getValues();
  
  const config = {};
  
  // Transform Row-based key/value to Object
  // Col A: Key (e.g., 'HOURLY_RATE')
  // Col B: Value (e.g., 150)
  data.forEach(row => {
    config[row[0]] = row[1];
  });
  
  return config;
}
 
function getActiveClients() {
  const ss = SpreadsheetApp.openById(CONFIG_SHEET_ID);
  const sheet = ss.getSheetByName('Clients');
  // Returns list of currently active clients for dropdowns/loops
  return sheet.getDataRange().getValues().filter(row => row[2] === 'ACTIVE');
}

Implementing the Consumer

Now, in your specific scripts (like the Invoice Generator), you don't hardcode the rate. You fetch it.

// IN CLIENT SCRIPT
function generateInvoices() {
  // 1. Fetch from Master
  const config = ConfigService.getGlobalConfig();
  const rate = config['HOURLY_RATE']; 
  
  // 2. Use it
  const amount = hours * rate;
}

Why This is "Enterprise Grade"

  1. Single Source of Truth: Change your rate in one cell, and your Invoices, Proposals, and Time Trackers all update instantly.
  2. Scalability: Adding a new client? Add them to the Clients tab. All scripts now know they exist.

Ready to stop hacking and start architecting? Book a System Design consultation. We map your entire business logic into a single Google Sheet.

Newsletter

Get more tips like this

Subscribe for practical Google Workspace automation tips.

Free updates. No spam. Unsubscribe any time.

Want more help?

We're here to help. Drop us an email and let's explore how we can optimize your workflows.

Email us

hello@mereth.dev

business architecturesystem designgoogle workspace strategyoperational efficiencycentralized configurationagency operating system