a self-directed approach to tech comm - script

Automating Structured Documents in Google Sheets and Docs

A lightweight system for managing repeatable content, from assignments to SOPs and blog drafts.

If you’ve ever duplicated the same Google Doc 20 times and changed the title and due date in each one, this is for you.

I originally built this for course assignments, but it turned into a system I now use for any repeatable document set. It can handle SOPs, templates, or blog drafts. Really, anything that follows a consistent structure but needs its own file.

When I built my self-paced Tech Comm course in Google Sites, I wanted a simple way to manage all of the assignments. Each one followed the same structure, but copying and editing each document one at a time was time-consuming.

To save time, I connected Google Sheets and Google Docs using Apps Script. Apps Script is Google’s built-in tool for automating Docs, Sheets, and Drive. You don’t need to install anything or know complex coding.

The result is an automated process that creates and updates assignment Docs from a single spreadsheet.

Want to see a working version? 

Get the full Course Site Demo Kit through the free tools link below. It’s emailed to you so you can keep the access link for future updates. Includes the Sheet, template Doc, Hub Doc, and a sample Google Site with a Read Me and walkthrough video.

What lives where

  • Google Sheet. Holds all of the assignment data. Each row is one assignment with columns like Title, Category, Points, Due Date, and Steps.
  • Template Doc. One Google Doc acts as a master layout. It uses placeholders such as {{TITLE}} and {{OVERVIEW}}.
  • Hub Doc. A summary document that lists every assignment by category with clickable links. Basically, a TOC of the assignments. 
  • A script inside the Sheet. Assignments.gs – Creates Docs from the Sheet rows following the structure in the Doc template, and then updates the Hub Doc.
google sites course automation files

How it all works

The script lives inside the Google Sheet itself. It runs on demand and pulls directly from the data in each row.

Assignments.gs

  • Reads each row in the Sheet.
  • Creates a new Doc for any row that doesn’t have a corresponding assignment.
  • Updates existing Docs if the corresponding row’s content changed.
  • Rebuilds the Hub Doc when finished.

The first time you run any function, Google will show an authorization prompt. This is normal for Apps Script and only appears once per user. Choose Continue → your Google account → Allow to grant access.

After you’ve allowed access, reopen the Sheet and use the new Assignments menu to run actions directly.

Configuring and generating assignments

If you’ve just copied the demo kit, make sure you add the files (Sheet, Template Doc, and Hub Doc) to a single folder you own in Drive and create the folder you want to hold the assignments.

Before generating any assignment Docs, in the Sheet, open Assignments > Setup to map your template and folder IDs.

Mapping the files ensures the script knows which template to use, where to save the new Docs, and which hub document to update. Once everything is mapped, run Assignments > Generate Docs + Hub in the Sheet to create the individual assignment documents and automatically update the Hub Doc with linked entries. You can then embed those Docs or the Hub Doc directly into your Google Site. 
 

Why it helps

Once it’s set up, the workflow is simple:

  • Edit assignment details in bulk in one Sheet.
  • Click Assignments > Generate Docs + Hub in the Sheet to push updates to every document.
  • Keep the Hub Doc synced without manually touching links.

Each document follows the same structure and headings from the template, ensuring consistency across the set, whether you’re managing course materials, SOPs, or other repeatable documents. It turns repetitive document updates into a one-click routine that lets you focus on content (or whatever else) instead of maintenance.

Beyond Assignments: Other Use Cases

The same framework can support almost any recurring document type that follows a shared format. Examples include:

  • SOP libraries that need consistent sections for purpose, steps, and owner
  • Client deliverables such as proposals, onboarding packets, or project briefs
  • Internal training modules that follow the same structure for overview, objectives, and steps
  • Product release notes where each row in the Sheet generates a new update and refreshes the Hub Doc
  • Blog or content systems where each row represents a post draft, and the Hub Doc becomes a linked editorial index

The structure stays the same: one Sheet as the source, one Doc template for layout, and one Hub Doc to keep everything visible and connected.

This setup follows the same framework I use for every documentation system. It’s just enough structure to stay clear without slowing the work. You can read more in The Docs Every Startup Product Needs.

Shopping Cart