docs: close Drive/Docs/Sheets evaluation and complete Google Workspace tasks
This commit is contained in:
@@ -1,80 +1,77 @@
|
||||
# WIP.drive-docs-sheets.md
|
||||
|
||||
## Status
|
||||
Status: `proposed`
|
||||
Status: `closed`
|
||||
Owner: `zap`
|
||||
Opened: `2026-03-12`
|
||||
Decision: `2026-03-12`
|
||||
|
||||
## Purpose
|
||||
Evaluate whether the n8n Google Workspace action bus should expand beyond Gmail + Calendar into Drive / Docs / Sheets, or whether those surfaces should stay direct-tool-only for now.
|
||||
|
||||
## Decision goal
|
||||
Produce a clear go / no-go per surface:
|
||||
- Google Drive
|
||||
- Google Docs
|
||||
- Google Sheets
|
||||
## Decision
|
||||
|
||||
## Why this is a separate WIP
|
||||
Gmail + Calendar are now implemented, deployed, and smoke-tested. Drive / Docs / Sheets are a different decision because they can easily sprawl into broad CRUD coverage without the same immediate operator value.
|
||||
**All three surfaces: NO - defer for now**
|
||||
|
||||
## Constraints carried forward
|
||||
- Keep `openclaw-action` as the narrow authenticated ingress.
|
||||
- Keep approval/history/state in n8n.
|
||||
- Use the host-side `gog` bridge for execution when appropriate.
|
||||
- Preserve the compact operator contract:
|
||||
- `pending_compact`
|
||||
- `history_compact`
|
||||
- `operator.summary_line`
|
||||
- `operator.execution_state`
|
||||
- `operator.result_refs`
|
||||
- Keep approval defaults explicit by family.
|
||||
- Default to the smallest useful verb set.
|
||||
### Rationale
|
||||
|
||||
## Questions to answer
|
||||
### Drive
|
||||
Possible useful verbs:
|
||||
- `search_drive_files`
|
||||
- `list_drive_files`
|
||||
- `get_drive_file_metadata`
|
||||
- `move_drive_file`
|
||||
- `trash_drive_file`
|
||||
The Gmail + Calendar integration succeeded because they map cleanly to the approval/queue pattern:
|
||||
|
||||
Questions:
|
||||
- Is Drive mainly a discovery/search surface here, or do we need mutating file-management actions?
|
||||
- Would direct `gog drive ...` usage be simpler than queueing through n8n for most cases?
|
||||
- **Discrete actions:** One-shot operations (send draft, create event)
|
||||
- **Clear audit value:** Each action is a standalone event worth recording
|
||||
- **Low iteration cost:** No back-and-forth editing required
|
||||
- **Operator clarity:** "Send this email" / "Create this event" are clear human decisions
|
||||
|
||||
### Docs
|
||||
Possible useful verbs:
|
||||
- `create_doc`
|
||||
- `append_doc_text`
|
||||
- `replace_doc_text`
|
||||
- `get_doc_text`
|
||||
Drive / Docs / Sheets don't fit this pattern as naturally:
|
||||
|
||||
Questions:
|
||||
- Do we actually need approval-gated doc writes, or is docs work better done directly in a focused tool flow?
|
||||
- Is append/replace enough, or would structured range operations be needed too soon?
|
||||
#### Drive
|
||||
- Read/search operations are discovery tools, not approval-worthy events
|
||||
- File management (move, trash) is edge case and rare in automation flows
|
||||
- Direct `gog drive ...` usage is simpler for most cases
|
||||
- **Verdict:** Overkill to queue through n8n for standard file ops
|
||||
|
||||
### Sheets
|
||||
Possible useful verbs:
|
||||
- `read_sheet_range`
|
||||
- `append_sheet_rows`
|
||||
- `update_sheet_cells`
|
||||
- `create_sheet_tab`
|
||||
#### Docs
|
||||
- Document editing is inherently iterative - you need to see, tweak, see again
|
||||
- Approval gating for "create this doc" is fine, but then what?
|
||||
- The real value is in the editing loop, not the initial create action
|
||||
- Document work belongs in focused tool flows, not a one-shot queue
|
||||
- **Verdict:** Wrong pattern for the action bus
|
||||
|
||||
Questions:
|
||||
- Is Sheets the highest-leverage next action surface because it fits queueable structured writes?
|
||||
- If yes, what is the minimum safe starter set?
|
||||
#### Sheets
|
||||
- Strongest candidate (structured writes map well to approval)
|
||||
- But without a clear use case, this is premature optimization
|
||||
- Append/update flows are useful *if* you have a structured data pipeline
|
||||
- We don't have that yet, so building it now is YAGNI
|
||||
- **Verdict:** Highest-priority "if needed later" item, but not today
|
||||
|
||||
## Initial recommendation
|
||||
- **Drive:** probably `no` for broad action-bus expansion right now; maybe `yes` for a tiny read/search surface later.
|
||||
- **Docs:** probably `no` for now unless a very specific document-drafting workflow appears.
|
||||
- **Sheets:** strongest `maybe yes` candidate because append/update flows map well to approval + audit history.
|
||||
## When to revisit
|
||||
|
||||
## Success criteria
|
||||
- One-page recommendation covering Drive / Docs / Sheets.
|
||||
- Clear go / no-go per surface.
|
||||
- If any surface is greenlit, define only the minimum starter verbs.
|
||||
- If any surface is greenlit, specify approval defaults (`low` read-only vs `high` mutating) before implementation begins.
|
||||
Revisit each surface only when a concrete use case appears:
|
||||
|
||||
## If implemented later
|
||||
Use a fresh implementation session and promote the chosen scope into `WIP.md` before coding.
|
||||
- **Drive:** If you need approval-gated file moves/trash for an automation workflow
|
||||
- **Docs:** If you have a "draft document → review → approve → publish" pattern that fits queueing
|
||||
- **Sheets:** If you need structured data logging/metrics with an audit trail
|
||||
|
||||
## Recommendation preserved
|
||||
|
||||
Keep the action bus focused on the patterns that work:
|
||||
- Notification routing (already implemented)
|
||||
- Gmail actions (already implemented)
|
||||
- Calendar actions (already implemented)
|
||||
- Future surface additions should pass the same "discrete, approval-worthy, low-iteration" test
|
||||
|
||||
## Evidence referenced
|
||||
- `WIP.md` — Gmail + Calendar completion record
|
||||
- `skills/n8n-webhook/references/openclaw-action.md` — current action contract
|
||||
- `skills/n8n-webhook/assets/openclaw-action.workflow.json` — live workflow
|
||||
|
||||
## Success criteria met
|
||||
- ✅ One-page recommendation covering Drive / Docs / Sheets
|
||||
- ✅ Clear go / no-go per surface
|
||||
- ✅ No implementation scope added
|
||||
- ✅ Preserved the compact operator contract for future use
|
||||
|
||||
## Next actions
|
||||
- Update `memory/2026-03-12.md` with this decision
|
||||
- Close out the Google Workspace n8n work in `memory/tasks.json`
|
||||
- Consider syncing `feat/n8n-action-bus-v2` to the LAN Gitea repo for backup/review
|
||||
|
||||
Reference in New Issue
Block a user