# Instrucciones para el agente: Volterra: conecta el análisis de llamadas con HubSpot

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: avanzado
- Proyecto: https://github.com/duhman/volterra-call-intelligence (licencia MIT)
- Guía completa: https://lab.wisd.ai/hub/volterra-call-intelligence

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

### Preparación

Comprueba Node.js ≥20.9 (mínimo de Next.js 16 usado por la app), npm y una copia del repositorio. Abre su raíz y prepara cuentas de ensayo de Supabase, ElevenLabs, HubSpot y la telefonía compatible. Configura los accesos después de instalar y antes de migrar.

### Paso 1: prepara el proyecto

Descarga con `git clone https://github.com/duhman/volterra-call-intelligence.git` y entra con `cd volterra-call-intelligence`. Revisa el apartado de configuración del README. Dentro del proyecto:

```bash
npm install
```

### Paso 2: configura integraciones

Copia `.env.example` a `.env.local`. Configura `NEXT_PUBLIC_SUPABASE_URL` con la URL del proyecto de ensayo y sus claves `NEXT_PUBLIC_SUPABASE_ANON_KEY` y `SUPABASE_SERVICE_ROLE_KEY`; define `ADMIN_PASSWORD`. Añade `ELEVENLABS_API_KEY` para transcripción y `OPENAI_API_KEY` para el análisis: son proveedores distintos. Para CRM, configura `HUBSPOT_PRIVATE_ACCESS_TOKEN` y `NEXT_PUBLIC_HUBSPOT_PORTAL_ID`; para webhooks define `WEBHOOK_SECRET`. La integración telefónica del código es Telavox, con endpoint `/api/webhooks/telavox`, no cualquier proveedor sin adaptar.

### Paso 3: prepara el esquema e inicia

Hay una contradicción: el README cita `db:push`, que no existe en [package.json](https://github.com/duhman/volterra-call-intelligence/blob/main/package.json). El script real es `db:up` y ejecuta Supabase CLI. Comprueba `supabase` accesible y autenticado; enlaza explícitamente el proyecto de ensayo mediante `supabase link --project-ref TU_REF`. La copia consultada tampoco trae `supabase/config.toml`: prepara ese archivo con `supabase init` según la [CLI oficial](https://supabase.com/docs/reference/cli/supabase-init), conservando las migraciones existentes. Después:

```bash
npm run db:up
npm run dev
```

Comprueba que el destino del esquema es tu entorno de pruebas antes del primer comando.

## Comprobación

Abre http://localhost:3000 y entra con el administrador configurado. El repositorio no aporta un recorrido completo probado desde una base vacía ni un evento de llamada ficticia listo para reproducir: si las migraciones o la configuración de Telavox fallan, registra ese bloqueo y no declares validada la integración por ver el panel. Cuando hayas resuelto esas dependencias, procesa una llamada ficticia, comprueba los datos almacenados y revisa el negocio de HubSpot elegido. Confirma que las señales proceden de esa conversación y que no hay asociación a otra cuenta.

## Si algo falla

Si el evento no llega, revisa el webhook del proveedor telefónico y los registros de la API. Si HubSpot no recibe datos, verifica la configuración de integración y los permisos en su entorno de prueba.

Consulta el [README oficial](https://github.com/duhman/volterra-call-intelligence#readme) para el procedimiento completo y los cambios de versión.
