Voice AI Knowledge Base manager. Read/write Google Docs and sync content to Supabase for prompt injection. USE WHEN kb, knowledge base, sync kb, read doc, write doc, update kb, kb content, google doc, sync doc.
Manage knowledge base content across Google Docs (source of truth) and Supabase (sync target). The Cloudflare Worker injects KB content into {{knowledge_base}} at call time via retell_llm_dynamic_variables.
Google Doc (source of truth, per centre)
↓ n8n gdocs-read webhook (self-hosted)
Claude reads content
↓ Supabase REST API
centres.knowledge_base column updated
↓ (at next call creation)
Worker passes as retell_llm_dynamic_variables.knowledge_base
↓
Retell substitutes {{knowledge_base}} in agent prompt
Key: KB is per-centre, not per-agent. All agents at a centre share the same KB content.
| Instance | URL | Purpose | KB Role |
|----------|-----|---------|---------|
| Self-hosted (Docker) | http://138.197.171.204:5678 | _KB Google Docs read/write | Active -- gdocs-read, gdocs-write workflows |
| Cloud | https://xprime17.app.n8n.cloud | Other automations | Not used for _KB |
_KB uses the self-hosted instance only. Webhooks are at localhost:5678 from the droplet's perspective.
See AgentDocs.md for the mapping of centres to Google Doc IDs and Supabase centre IDs.
| Workflow | Trigger | File |
|----------|---------|------|
| ReadDoc | "read kb doc", "show kb content", "read [centre] doc" | Workflows/ReadDoc.md |
| WriteDoc | "write kb doc", "update kb doc", "add to [centre] doc" | Workflows/WriteDoc.md |
| SyncToKB | "sync kb", "sync [centre] kb", "push kb", "update kb" | Workflows/SyncToKB.md |
| ViewKB | "view kb", "kb status", "check kb" | Workflows/ViewKB.md |
localhost:5678 (Docker container n8n on droplet 138.197.171.204) with Google Docs OAuth2 credential (ID: 1)gdocs-read (RQt8auabMaJqoOTB) and gdocs-write (titk07qAVIOFeqcI)xprime17.app.n8n.cloud) for _KB workflowsImport the workflow JSON files from this skill directory:
GDocsRead.n8n.json -- webhook at POST /webhook/gdocs-readGDocsWrite.n8n.json -- webhook at POST /webhook/gdocs-writeRead a doc:
User: "Read the East Gwillimbury KB doc"
--> Workflows/ReadDoc.md
--> curl to n8n gdocs-read webhook
--> Display doc content
Sync to Supabase:
User: "Sync East Gwillimbury KB"
--> Workflows/SyncToKB.md
--> Read Google Doc via n8n
--> PATCH centres.knowledge_base in Supabase
--> Next Emma/CNEG call picks up new content automatically
Check current KB:
User: "What's in the East Gwillimbury KB?"
--> Workflows/ViewKB.md
--> Query Supabase centres table
--> Show current knowledge_base content and length
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer