Webhooks Sistema Memoria Claude
URLs y uso de los 4 webhooks n8n para el sistema de memoria persistente de Claude Code
Sistema Memoria Claude - Webhooks n8n
IMPORTANTE: Formato de URL
Los webhooks usan el formato: https://n8n.lucasgarre.com/webhook/{workflow_id}/webhook/{path}
NO usar el path directo /webhook/{path} — eso da 404.
Webhook 1: Cargar contexto completo al inicio de sesión
curl "https://n8n.lucasgarre.com/webhook/mxu2KQ72GjLNldKv/webhook/claude-context"
- Método: GET
- Workflow ID: mxu2KQ72GjLNldKv
- Respuesta: JSON con keys:
projects,recent_sessions,state,people,pending_tasks - Usar al inicio de cada sesión para cargar el contexto de proyectos activos, estado y tareas pendientes
Webhook 2: Guardar resumen de sesión
curl -X POST "https://n8n.lucasgarre.com/webhook/yAsvlXvY1tT0jcjl/webhook/claude-session-summary" \
-H "Content-Type: application/json" \
-d '{
"summary": "Resumen de lo que se hizo en la sesión",
"projects_touched": "Proyecto A, Proyecto B",
"decisions_made": "Decisión 1, Decisión 2",
"tasks_completed": "Tarea completada 1",
"tasks_created": "Nueva tarea creada",
"mood": "productive"
}'
- Método: POST
- Workflow ID: yAsvlXvY1tT0jcjl
- Tabla:
claude_sessions(camposession_datepara fecha) - Usar al final de sesiones importantes para dejar contexto para la próxima
Webhook 3: Actualizar estado del sistema
curl -X POST "https://n8n.lucasgarre.com/webhook/ZRtFeo8sR0o3pRRQ/webhook/claude-update-state" \
-H "Content-Type: application/json" \
-d '{
"key": "nombre_del_estado",
"value": "valor del estado",
"category": "server|config|service|etc"
}'
- Método: POST
- Workflow ID: ZRtFeo8sR0o3pRRQ
- Tabla:
claude_state(upsert porkey) - Usar para actualizar IPs de servidores, estados de servicios, configuraciones
Webhook 4: Gestionar tareas
# Crear tarea
curl -X POST "https://n8n.lucasgarre.com/webhook/NJgECGR6n81xFsS1/webhook/claude-task" \
-H "Content-Type: application/json" \
-d '{"task": "descripcion de la tarea", "priority": 8, "action": "create"}'
# Marcar como completada
curl -X POST "https://n8n.lucasgarre.com/webhook/NJgECGR6n81xFsS1/webhook/claude-task" \
-H "Content-Type: application/json" \
-d '{"task": "descripcion exacta de la tarea", "action": "done"}'
# Cancelar tarea
curl -X POST "https://n8n.lucasgarre.com/webhook/NJgECGR6n81xFsS1/webhook/claude-task" \
-H "Content-Type: application/json" \
-d '{"task": "descripcion exacta de la tarea", "action": "cancel"}'
- Método: POST
- Workflow ID: NJgECGR6n81xFsS1
- Tabla:
claude_tasks - Acciones:
create,done,cancel - priority: 1-10 (10 = máxima urgencia), default 5
Flujo recomendado por sesión
Al INICIAR sesión:
- Cargar historial Telegram reciente:
GET /webhook/hpwyAsrb1SL189oO/webhook/telegram-history?chat_id=8009772819&limit=30 - Cargar contexto memoria estructurada:
GET /webhook/mxu2KQ72GjLNldKv/webhook/claude-context
Durante la sesión:
- Crear tareas conforme surjan: Webhook 4 action=create
- Actualizar estado si algo cambia: Webhook 3
Al FINALIZAR sesión importante:
- Guardar resumen: Webhook 2 con summary, proyectos tocados, decisiones, tareas
Tablas PostgreSQL (claude_memory DB)
| Tabla | Columnas clave |
|---|---|
claude_sessions |
id, session_date, summary, projects_touched, decisions_made, tasks_completed, tasks_created, mood |
claude_state |
id, key, value, category, updated_at |
claude_tasks |
id, project_id, task, status, priority, created_at, updated_at |
claude_projects |
id, name, description, status, server, url, stack, notes, priority, created_at, updated_at |
claude_people |
id, name, relationship, notes, updated_at |
telegram_history |
id, chat_id, role, message, timestamp |
n8n API Key (para gestión de workflows)
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0NjM3ZDEyOC0yYzM3LTRlODYtODE3Ny1mNGFlZDljYzkwMTgiLCJpc3MiOiJuOG4iLCJhdWQiOiJwdWJsaWMtYXBpIiwianRpIjoiYTZjZmE4NzYtMjRhZS00Nzg3LTkzOTQtY2EyODA4NWQ0MDk5IiwiaWF0IjoxNzc2MDAyNjc1LCJleHAiOjE4OTM0NTYwMDAwMDB9.IO-_CMq_SrOKNFl5_X1IGFr9Ocm8n3vvSv_nRv2C5OQ
Header: X-N8N-API-KEY
Expira: 2030-01-01