Files
swarm-zap/WIP.md

118 lines
4.0 KiB
Markdown

# WIP.md
## Current focus
Google Workspace + n8n integration
## Goal
Use OpenClaw as the brain, n8n as the orchestration layer, and Google Workspace as a real execution surface for Gmail/Calendar workflows.
## Current status
Status: `in-progress`
Owner: `zap`
Started: `2026-03-12`
### Architecture decision
- Keep `openclaw-action` as the narrow authenticated ingress into n8n.
- Keep approval/state/logging in n8n.
- Use host-side `gog` execution for Google Workspace actions for now.
- Attach execution results back into n8n history so approval items become auditable records.
- Prefer this over broad n8n Google credential sprawl unless a later need clearly justifies it.
## What is already done
### n8n action bus
- [x] Live `openclaw-action` workflow exists and is active.
- [x] Core actions verified live:
- `append_log`
- `get_logs`
- `notify`
- `approval_queue_add`
- `approval_queue_list`
- `approval_queue_resolve`
- `fetch_and_normalize_url`
- `inbound_event_filter`
- [x] Approval-gated notification execution works live:
- `send_notification_draft`
- approve → real `notify`
### Google access
- [x] `gog` installed and authenticated for:
- Gmail
- Calendar
- Drive
- Contacts
- Docs
- Sheets
- [x] Local-only Gog automation env stored outside git at:
- `/home/openclaw/.openclaw/credentials/gog.env`
- [x] Host bridge implemented:
- `skills/n8n-webhook/scripts/resolve-approval-with-gog.py`
- [x] n8n history patch action implemented:
- `approval_history_attach_execution`
- [x] Dry-run end-to-end bridge tests succeeded for:
- Gmail draft creation
- Calendar event creation
- [x] Headless non-interactive Gog execution works via the stored local env.
- [x] Direct real Gmail draft create test succeeded.
- [x] Direct real Gmail draft delete test succeeded.
## What is left
### Highest priority: prove the bridge with real Google writes
- [ ] Real end-to-end Gmail draft via n8n path:
1. queue `send_email_draft`
2. approve via `resolve-approval-with-gog.py`
3. verify draft exists in Gmail
4. delete the test draft
- [ ] Real end-to-end Calendar event via n8n path:
1. queue `create_calendar_event`
2. approve via bridge
3. verify event exists in Calendar
4. delete the test event
### Then expand useful Google actions
- [ ] Add `delete_email_draft`
- [ ] Add `list_email_drafts`
- [ ] Add `send_gmail_draft` / send-approved-email path
- [ ] Add `update_calendar_event`
- [ ] Add `delete_calendar_event`
- [ ] Add `list_upcoming_events`
- [ ] Decide whether Drive/Docs/Sheets need action-bus verbs next or can stay direct-tool only for now
### Then polish the operator experience
- [ ] Add a compact operator command/reference section for common approval flows
- [ ] Add one or two canned test payloads for real bridge verification flows
- [ ] Decide whether some Google actions should stay approval-gated by default
- [ ] Add low-noise reporting so history clearly shows:
- queued
- approved/rejected
- executed
- execution result id / draft id / event id
## Nice-to-have / future
- [ ] Evaluate whether native n8n Google nodes are worth adding later
- [ ] If useful, sync this work into the LAN Gitea repo for safer backup/review and easier long-lived tracking
## Current recommendation
Next action should be:
1. real n8n-routed Gmail draft test
2. real n8n-routed Calendar event test
3. add delete/update/list verbs after those pass
## Relevant files
- `skills/n8n-webhook/assets/openclaw-action.workflow.json`
- `skills/n8n-webhook/scripts/call-action.sh`
- `skills/n8n-webhook/scripts/resolve-approval-with-gog.py`
- `skills/n8n-webhook/references/openclaw-action.md`
- `memory/2026-03-12.md`
- `/home/openclaw/.openclaw/credentials/gog.env` (local-only, not for git)
## Current branch / checkpoints
- branch: `feat/n8n-action-bus-v2`
- key commits:
- `9dcc477` — expand action bus starter workflow
- `dc990a1` — deploy and verify expanded action bus
- `1eabaeb` — add approval-gated notification executor
- `afa48a3` — bridge approvals to gog executors
- `044e36f` — auto-load local gog automation env