feat(n8n-webhook): add calendar list update delete approval flows
This commit is contained in:
@@ -20,6 +20,9 @@ It implements a real local OpenClaw → n8n router.
|
||||
- `delete_email_draft`
|
||||
- `send_gmail_draft` (alias: `send_approved_email`)
|
||||
- `create_calendar_event`
|
||||
- `list_upcoming_events`
|
||||
- `update_calendar_event`
|
||||
- `delete_calendar_event`
|
||||
- `approval_queue_add`
|
||||
- `approval_queue_list`
|
||||
- `approval_queue_resolve`
|
||||
@@ -60,6 +63,9 @@ Actions:
|
||||
- `delete_email_draft`
|
||||
- `send_gmail_draft` (alias: `send_approved_email`)
|
||||
- `create_calendar_event`
|
||||
- `list_upcoming_events`
|
||||
- `update_calendar_event`
|
||||
- `delete_calendar_event`
|
||||
|
||||
Behavior:
|
||||
- queue proposals into workflow static data under key:
|
||||
@@ -70,10 +76,10 @@ Behavior:
|
||||
- are intended for host-side execution via the included `gog` bridge after explicit approval resolution
|
||||
|
||||
Approval policy defaults:
|
||||
- `send_email_draft`, `delete_email_draft`, `send_gmail_draft` / `send_approved_email`, `create_calendar_event`
|
||||
- `send_email_draft`, `delete_email_draft`, `send_gmail_draft` / `send_approved_email`, `create_calendar_event`, `update_calendar_event`, `delete_calendar_event`
|
||||
- `approval.required = true`
|
||||
- `approval.mutation_level = "high"`
|
||||
- `list_email_drafts`
|
||||
- `list_email_drafts`, `list_upcoming_events`
|
||||
- `approval.required = true`
|
||||
- `approval.mutation_level = "low"` (read-only action, still routed through approval queue for explicit operator acknowledgement + audit trail)
|
||||
|
||||
@@ -172,6 +178,9 @@ After import, set this manually in n8n:
|
||||
- `assets/test-send-gmail-draft.json`
|
||||
- `assets/test-send-approved-email.json`
|
||||
- `assets/test-create-calendar-event.json`
|
||||
- `assets/test-list-upcoming-events.json`
|
||||
- `assets/test-update-calendar-event.json`
|
||||
- `assets/test-delete-calendar-event.json`
|
||||
- `assets/test-fetch-and-normalize-url.json`
|
||||
- `assets/test-approval-queue-list.json`
|
||||
- `assets/test-inbound-event-filter.json`
|
||||
@@ -190,6 +199,9 @@ scripts/call-action.sh delete_email_draft --args-file assets/test-delete-email-d
|
||||
scripts/call-action.sh send_gmail_draft --args-file assets/test-send-gmail-draft.json --pretty
|
||||
scripts/call-action.sh send_approved_email --args-file assets/test-send-approved-email.json --pretty
|
||||
scripts/call-action.sh create_calendar_event --args-file assets/test-create-calendar-event.json --pretty
|
||||
scripts/call-action.sh list_upcoming_events --args-file assets/test-list-upcoming-events.json --pretty
|
||||
scripts/call-action.sh update_calendar_event --args-file assets/test-update-calendar-event.json --pretty
|
||||
scripts/call-action.sh delete_calendar_event --args-file assets/test-delete-calendar-event.json --pretty
|
||||
scripts/call-action.sh fetch_and_normalize_url --args '{"url":"http://192.168.153.113:18808/healthz"}' --pretty
|
||||
scripts/call-action.sh fetch_and_normalize_url --args '{"url":"https://example.com","skip_ssl_certificate_validation":true}' --pretty
|
||||
scripts/call-action.sh approval_queue_list --args '{"limit":10,"include_history":true}' --pretty
|
||||
@@ -295,6 +307,56 @@ python3 scripts/resolve-approval-with-gog.py --id <approval-id> --decision appro
|
||||
}
|
||||
```
|
||||
|
||||
### list_upcoming_events
|
||||
|
||||
```json
|
||||
{
|
||||
"ok": true,
|
||||
"request_id": "test-list-calendar-events-001",
|
||||
"result": {
|
||||
"action": "list_upcoming_events",
|
||||
"status": "queued_for_approval",
|
||||
"pending_id": "approval-pqr678",
|
||||
"approval_status": "pending",
|
||||
"approval": {
|
||||
"policy": "approval_queue_resolve",
|
||||
"required": true,
|
||||
"mutation_level": "low"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### update_calendar_event
|
||||
|
||||
```json
|
||||
{
|
||||
"ok": true,
|
||||
"request_id": "test-update-calendar-event-001",
|
||||
"result": {
|
||||
"action": "update_calendar_event",
|
||||
"status": "queued_for_approval",
|
||||
"pending_id": "approval-stu901",
|
||||
"approval_status": "pending"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### delete_calendar_event
|
||||
|
||||
```json
|
||||
{
|
||||
"ok": true,
|
||||
"request_id": "test-delete-calendar-event-001",
|
||||
"result": {
|
||||
"action": "delete_calendar_event",
|
||||
"status": "queued_for_approval",
|
||||
"pending_id": "approval-vwx234",
|
||||
"approval_status": "pending"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### fetch_and_normalize_url
|
||||
|
||||
```json
|
||||
@@ -339,6 +401,9 @@ Behavior:
|
||||
- `email_draft_delete` → `gog gmail drafts delete`
|
||||
- `email_draft_send` → `gog gmail drafts send`
|
||||
- `calendar_event` → `gog calendar create`
|
||||
- `calendar_list_events` → `gog calendar events`
|
||||
- `calendar_event_update` → `gog calendar update`
|
||||
- `calendar_event_delete` → `gog calendar delete`
|
||||
- writes execution metadata back via `approval_history_attach_execution`
|
||||
|
||||
Important automation note:
|
||||
|
||||
Reference in New Issue
Block a user