New Capability: Google Docs Document Delivery

New Capability: Google Docs Document Delivery

Date: March 6, 2026 Origin: ABS Company spec delivery session Impact: All three AI leaders can now produce formatted, shareable Google Docs from markdown


What Happened

During the ABS Company /spec session, Chris needed to share the implementation specification with Ryan Ginsberg (ryan@valuefirstteam.com) and Alexia (alexia@theabscompany.com) as a polished Google Doc — not raw markdown.

Infrastructure Unblocked

Three things were missing from the Google Workspace service account configuration:

  1. Drive scopehttps://www.googleapis.com/auth/drive was not authorized in Google Workspace Admin Console (Security > API Controls > Domain-wide Delegation). Chris added it.
  2. Docs scopehttps://www.googleapis.com/auth/documents was also not authorized. Chris added it alongside the Drive scope.
  3. Docs API — The Google Docs API had never been enabled in GCP project 515447210394. Chris enabled it.

The service account (v-operations@value-first-operations.iam.gserviceaccount.com) now has these authorized scopes:

  • Gmail (send, read, compose) — authorized since Feb 16
  • Calendar (read, write) — authorized since Feb 16
  • Drive (full access) — authorized Mar 6
  • Docs (full access) — authorized Mar 6

What Was Built

scripts/google/create-doc.js — Creates a formatted Google Doc from a markdown file.

The script converts markdown to HTML (headings, tables with styled borders, bold/italic/code, checkbox lists, code blocks, horizontal rules), then uploads via the Drive API with mimeType: application/vnd.google-apps.document conversion. Google's server-side HTML→Docs conversion produces native headings, formatted tables, and proper typography — not raw markdown text.

Usage

# Basic: create a formatted Google Doc from a markdown file
node scripts/google/create-doc.js --name "Document Title" --body-file /path/to/content.md

# With sharing: create and share with specific people
node scripts/google/create-doc.js --name "Title" --body-file /path/to/file.md --share "email1,email2"

# With folder placement
node scripts/google/create-doc.js --name "Title" --body-file /path/to/file.md --folder "FOLDER_ID"

# Inline content (short documents)
node scripts/google/create-doc.js --name "Title" --body "## Section\n\nContent here"

# Dry run (preview without creating)
node scripts/google/create-doc.js --name "Title" --body-file /path/to/file.md --dry-run

Full Pipeline Demonstrated

This session proved the complete document delivery pipeline:

/spec generates markdown spec
    ↓
create-doc.js converts to formatted Google Doc (with sharing)
    ↓
create-draft.js creates Gmail draft with doc link
    ↓
Chris reviews and sends

Artifacts created:

  • Formatted Google Doc: 1JUipVMKmnwukNWMaXS1bSDGS7r9yZ0WreWQOj_Ow7DA
  • Gmail draft to Ryan + CC Alexia with doc link

How Each Leader Uses This

V (Operations)

  • Implementation specs (/spec → Google Doc → email to implementer)
  • Architecture documents, project briefs, any deliverable that needs to leave the terminal
  • Client-facing documentation that Chris sends on behalf of the team

Sage (Customer)

  • Relationship briefs shared with team members before sessions
  • Assessment reports delivered as polished documents to stakeholders
  • Any intelligence output that needs to be readable outside the terminal

Pax (Finance)

  • Revenue reconciliation reports shared with accountant (Mac Reed)
  • 1099 compliance documentation
  • Investment portfolio summaries for Advisory Committee review

Pattern: Any Markdown → Shareable Document

Any skill or command that produces markdown output can now feed create-doc.js to create a shareable, formatted Google Doc. The doc appears in Chris's Drive and can be shared with anyone.


Cleanup

The first attempt created a raw-markdown doc (ID: 1BgRw_15XTl1XI-Ye1g8i-Dj80o0JzD7kHm8xhSEnbv8) that should be deleted from Chris's Drive.


Summary

Item Before After
Google Drive API access Not authorized Full Drive + Docs scopes
Document delivery Terminal-only (markdown files) Formatted Google Docs, shareable
Spec delivery pipeline Manual copy/paste /spec → Google Doc → Gmail draft
Service account scopes Gmail + Calendar Gmail + Calendar + Drive + Docs