Observadores por defecto
Despliega los agentes observadores de fábrica (CX-E16) en tu tenant desde la galería del portal, por API o con la CLI osx.
Cortex versiona en el repo un stack IaC con los observadores "de fábrica"
(apps/cortex/stacks/observadores-default.yaml): agentes que leen conversaciones
terminadas y persisten Insights del contacto, sin responder nunca por el canal.
| Recurso | Qué hace | Cadencia por defecto |
|---|---|---|
observador-insights-contacto + su hook | Mantiene la ficha del contacto (Insights contact_info y preference) | Cada 3 sesiones de una misma conversación |
observador-oportunidades + su hook | Detecta oportunidades comerciales, decisiones y sentimiento | Cada 5 sesiones |
Con sesión-por-turno, cada turno del contacto es una sesión: los hooks usan la
condición everyNSessions sobre session.ended.
Requisito
Un modelo ya registrado en el tenant (mdl_…): es el único parámetro
obligatorio (ModelId). Las cadencias (CadenciaInsightsContacto,
CadenciaOportunidades) tienen default y son opcionales.
Opción A — portal (recomendada)
- Ve a Stacks → Nuevo stack: la plantilla «Observadores por defecto» aparece destacada en la galería.
- Elige el modelo en el parámetro
ModelId(el formulario lista los modelos del tenant) y ajusta las cadencias si quieres. - Crea el stack y ejecuta el changeset inicial. Los dos agentes quedan marcados como observadores y sus hooks activos.
Opción B — API
TEMPLATE=$(cat apps/cortex/stacks/observadores-default.yaml)
curl -s -X POST "$CORTEX_API_URL/v1/iac/stacks" \
-H "x-api-key: $CORTEX_API_KEY" -H "content-type: application/json" \
-d "$(jq -n --arg t "$TEMPLATE" \
'{name: "observadores-default", template: $t, parameters: {ModelId: "mdl_xxx"}}')"
# → ejecutar el changeset inicial:
curl -s -X POST "$CORTEX_API_URL/v1/iac/stacks/<stackId>/change-sets/<csId>/execute" \
-H "x-api-key: $CORTEX_API_KEY"Opción C — CLI osx (fabric)
Desde un directorio con el template (o apuntando a él con -t):
osx stacks deploy observadores-default \
-t apps/cortex/stacks/observadores-default.yaml \
--param ModelId=mdl_xxxLa CLI valida, muestra el diff, pide confirmación y espera el resultado. En CI
añade --yes y pasa la key por OSX_API_KEY.
Actualizaciones y personalización
- Converger una versión nueva del YAML: repite el deploy (portal o
osx stacks deploy) sobre el mismo stack — el motor propone un changesetUPDATEcon el diff exacto y nada cambia hasta ejecutarlo. - Personalizaciones del tenant: si editas los agentes u hooks por fuera del
stack, la detección de drift (CX-E19) lo
marca
DRIFTEDantes de pisarlo; ajusta el template o acepta la convergencia conscientemente.
¿Onboarding automático?
Desplegar este stack automáticamente al registrar el primer modelo del tenant quedó como evolución futura (issue #72): hoy el despliegue es explícito por galería, API o CLI.