

Google Drive Drops Blank Files Before You Ever See Them
Opening the New menu, choosing Google Doc, typing a title, and repeating that a hundred-plus times is slow. It is also unreliable in a way you only find out by testing it. Upload a genuinely empty .docx file to Drive, and Drive often refuses to convert it. The file sits there as a stub instead of becoming an editable Doc.
A script fixes both problems in one pass. It writes a small amount of real content into every file, so Drive has no reason to reject any of them. It also builds every filename from the same source list, so nothing lands in the folder named "Untitled document" or "Untitled document (3)."
The fix is one small Python script. It runs locally in under a minute, and it needs no Google API key and no Apps Script.
From a List of Titles to a Folder of Docs
Put your document titles in a plain list, one per line. That list becomes the
topicslist in the script below.Install Python 3.8 or later, then run
pip install python-docx.Save the script as
create_docx_files.pyin a new empty folder, and paste your titles intotopics.Run
python create_docx_files.py. It writes every.docxfile into that same folder.

In Google Drive, create one folder and set its sharing permissions before you upload anything. Every file you drop into that folder inherits those permissions.
Select every file the script created and upload them in one batch.

Double-click any file and choose "Open with Google Docs." Drive converts it and saves it as a Doc automatically.
Repeat the previous step for the rest, one at a time, whenever you are ready to write in each one. Every file already carries its real title and a starting line, so there is no blank-page moment.
The Script
from docx import Document
import os
# --- EDIT THIS: paste your document titles below ---
topics = [
"Multi-Agent Workflows Explained: How Agents Collaborate to Complete Tasks",
"Agentic vs Generative AI: Key Differences and Why They Matter",
"Agents vs Chatbots: Moving Beyond Q&A to Actionable AI",
# add the rest of your topics here...
]
def safe_filename(name):
return "".join(c for c in name if c not in '<>:"/\\|?*')
def create_docx_files():
created = []
for i, topic in enumerate(topics, start=1):
filename = f"A{i}: {topic}.docx"
filename = safe_filename(filename)
doc = Document()
doc.add_heading(f"A{i}: {topic}", level=0)
# Minimal content so Drive/Docs won't treat it as empty
doc.add_paragraph(f"This document covers: {topic}")
doc.add_paragraph("\nContent to be developed...")
try:
doc.save(filename)
created.append(filename)
print(f"Created: {filename}")
except Exception as e:
print(f"Error creating {filename}: {e}")
print(f"\nCreated {len(created)} of {len(topics)} files.")
return created
if __name__ == "__main__":
create_docx_files()I ran this exact version before publishing it. It writes straight ASCII quotes, and it produces the three files above with no error. Swap in your own titles and it scales to however many rows your list holds. The only real limit is your Drive storage.
Where the Script Falls Short
The script only handles a plain filename, a one-line heading, and a short body line. If you need per-file formatting, extend the doc object with more headings, tables, or metadata before you call doc.save().
It also stops being the right tool once you need to edit a doc's content after upload. The same limit applies to reading that content back out through code. That job belongs to the Google Docs API. This script does one narrower thing. It fills a folder with correctly named, non-empty, editable files. It needs nothing installed beyond Python and one library.
What This Replaced
Doing this by hand means one click, one typed title, and one wait for Drive to load. Repeat that once per document on the list. The script cuts it down to two steps: paste the titles, then run the file.
Related reading: Composition vs Composable in Software Engineering and Replace a Quote Spreadsheet With a Pricing Engine.






This avoids unnecessary API complexity entirely. Does Drive preserve folder structure on bulk upload.
Here's the TL;DR version of this:
• Manual document creation is hidden operational waste.
• Local generation of .docx files solves this at scale.
• Google Drive auto-converts uploads into Docs instantly.
• No APIs or OAuth flows are required.
• This approach scales cleanly to hundreds of documents.