MVP
Consultation workflow automation
Give each consultation a state the next run can read.
Built a consultation-preparation MVP across Google Workspace, Apps Script, and an authenticated Cloud Run service with structured Vertex AI assistance.
- My role
- I designed and implemented the Workspace workflow and its Cloud Run enrichment service.
- Result & status
- Implemented a working architecture for consultation preparation and AI-assisted briefs within a small-organization toolset.
This is an MVP; no production adoption or quantified operational result is claimed.
Public evidence
Inspect the work.
Each link opens the source file or working product described below.
Apps Script
Workflow sequence
A single ordered runner makes the dependencies between booking, intake, documents, and enrichment explicit.
Apps Script
Enrichment state and error handling
Inspect readiness gates, required-header checks, HTTP handling, and tracker updates on success or failure.
Python / Pydantic
Service request and response models
Defines the structured contract between the Workspace workflow and the enrichment service.
Implementation guide
Authenticated invocation guide
Documents the identity-token, audience, and invoker-permission decisions needed to connect Apps Script to Cloud Run.
The problem
How does a scheduled workflow pick up a consultation after a booking, an intake response, or a partial run?
Workspace control plane
Calendar, Forms, Sheets, Docs, Drive, and Gmail hold the operating artifacts.
Recorded state
Readiness checks and explicit success or failure states make partial progress visible.
Service boundary
Authenticated Cloud Run isolates Python and AI enrichment from Apps Script.
Approach
Make consultation state explicit.
Kept bookings, tracker rows, documents, and drafts in Google Workspace. Apps Script advances the workflow; Cloud Run handles Python dependencies, structured validation, and AI enrichment behind an authenticated boundary.
Engineering
Sequence work and record failures.
One runner executes booking sync, brief creation, draft creation, intake sync, document updates, and enrichment in a defined order. Enrichment requires a submitted intake and updated document, then records In Progress, Generated, or Failed in the tracker. Failed work is visible for intervention; the implementation does not provide a blanket automatic-retry guarantee.
Validation
Validate inputs and service access.
The source checks required headers, intake row references, and HTTP response codes. Pydantic models define the service payloads. The authentication guide documents identity-token and Cloud Run audience checks. No end-to-end automated test suite or production reliability result is claimed.
Apps Script · Google Workspace · Cloud Run · FastAPI · Vertex AI