Plataforma

Una plataforma pensada para voz en producción.

No es un juguete no-code. No es una caja negra. Una herramienta seria para operadores serios — con la profundidad que pide el scripting y la velocidad que exige la voz en tiempo real.

P/01

Motor de conversación

Un dialogue manager orientado a objetivo que controla el flujo. Tú declaras objetivo, slots e intercepts; el motor rellena los slots con validadores, gestiona interrupciones, silencios, repetición, control de idioma y cierres elegantes. 23 eventos de intercept permiten que los scripts reaccionen en cada momento relevante de la llamada.

P/02

Voz Realtime + Cascade

Dos modos de ejecución entre los que el motor cambia en plena llamada: S2S (OpenAI Realtime o Gemini live audio) para turn-taking natural, y Cascade (Deepgram STT → LLM → Cartesia TTS) para escenarios de coste controlado. p95 duro de 800 ms desde el fin del habla del usuario hasta el primer audio en la ruta caliente.

P/03

Onboarding AI-first

Pega una URL. La plataforma crawlea tu web, esboza el agente y corre un diálogo Copilot para confirmar objetivos y adaptar el industry pack. De URL a primera llamada en vivo dentro de una sesión laboral — sin prompts en blanco, sin tickets de ingeniería.

P/04

Plugin SPI (abierto y tipado)

Ocho categorías tipadas — telefonía, LLM Realtime, LLM Text, reservas, calendario, CRM, notificaciones, almacenamiento. Los plugins exponen herramientas al LLM con disponibilidad condicional según el estado de los slots. Los errores llegan como resultados estructurados de "service unavailable", no como excepciones. Escribe el tuyo en una tarde.

P/05

Scripting & depurador

TypeScript dentro de un sandbox isolated-vm — sin sistema de archivos, sin process, red solo a través del SDK. Presupuestos de 50 ms en ruta caliente / 500 ms en ruta tibia / 32 MB de memoria por handler. Editor Monaco con tipado, validación inline e historial de versiones. Replay determinista de cualquier sesión pasada — pon breakpoints, observa variables, inspecciona el estado, re-ejecuta tras editar el código.

P/06

Base de conocimiento & crawler

Indexa un sitio y los PDF datasheets que enlaza. Chunking consciente de encabezados, embeddings OpenAI, recuperación Qdrant con filtrado por tenant + proyecto — todo dentro de un presupuesto de 100 ms en ruta tibia. El agente lee de tus datos, no inventa hechos. Reindexa bajo demanda o autorefresco nocturno.

P/07

Entrantes + salientes + caller web

Entrantes en Twilio SIP o tu propio troncal. Salientes por API (POST /v1/calls, Idempotency-Key, dispatch programado) o subida CSV (pacing por proyecto, UI de progreso del batch, detección AMD). Caller web de prueba en el navegador — desarrolla e itera sin número de teléfono.

P/08

Webhooks (in + out)

Salientes: session.started, session.ended, session.failed, goal.achieved, slot.filled, intercept.triggered, intent.classified, outbound.batch.completed — firmados HMAC, entrega at-least-once, backoff exponencial hasta 6 h. Entrantes: POST /v1/projects/:id/webhooks/:name reparte el payload a cada sesión activa como on_webhook_received.

P/09

Observabilidad accionable

Logs JSON estructurados (ClickHouse, 90d), métricas Prometheus, dashboards Grafana del desglose del presupuesto de latencia y resultados de sesión, tracing OpenTelemetry a Langfuse para prompts / tool calls / token counts. El modo debug por sesión y el digest por email llegan al buzón adecuado automáticamente.

P/10

Facturación & medición

Ingresos por resultado (éxito / conversación real / spam) con excedente opcional, más horas de crawler y tokens de chat. Monedero prepago por defecto; postpago net-30 bajo petición. Tarifas por tenant. El modo sandbox marca cada cargo is_simulated hasta que activas producción.

P/11

Seguridad multi-tenant

Cada tabla de datos de negocio lleva tenant_id; el patrón Repository lo inyecta en cada consulta y una regla de lint bloquea el acceso directo al ORM. Auth por magic-link (código de 6 dígitos), JWT con TTL de 15 min + rotación refresh a 30 d. Membresía de proyecto entre tenants — para agencias que operan varios clientes. Cifrado a nivel de columna AES-256-GCM para API keys, secretos de plugin y claves de firma de webhook. Logs de auditoría 7 años.

P/12

Residencia UE

Todos los datos primarios — sesiones, grabaciones, transcripciones, base de conocimiento — viven en CPDs Hetzner en Alemania y Finlandia. Backups en la UE. Lista pública de subencargados. DPA firmado en la UE. Cuando un proveedor está en EE. UU. (OpenAI, Anthropic, Stripe) la transferencia se cubre con CCT de la UE más medidas suplementarias incluyendo minimización de contenido.

Las cifras que importan a nuestros clientes

< 800 ms

latencia p95 de voz

70%+

cumplimiento de objetivo en llamadas válidas

24/7

cobertura entrante sin contratar

20+

idiomas en el agente

Dentro del producto

Dashboard de operaciones en vivo

Llamadas activas, resultados del día, cumplimiento de objetivos, latencia, conversión. La pantalla que mantienes abierta todo el día.

aitelier.org · dashboard de operaciones en vivo
Dashboard de operaciones en vivo

Editor de escenario con depurador

Basado en Monaco. Paso a paso por una sesión real. Edita una línea, replay, despliega.

aitelier.org · editor de escenario con depurador
Editor de escenario con depurador

Timeline de sesión

Cada llamada como timeline — transcripción, llamadas LLM, tool calls, latencia. Clic en cualquier evento para inspeccionar.

aitelier.org · timeline de sesión
Timeline de sesión

Construido sobre documentación que existe.

Arquitectura, modelo de dominio, motor de conversación, Plugin SPI, recetario de scripting, runbooks, ADRs. Léelo antes de hacer commit.

Abrir documentación
// scenarios/restaurant-booking.ts
export const scenario = defineScenario({
  goal: 'BOOK_TABLE',
  slots: {
    partySize: int().required(),
    when:      dateTime().required(),
    name:      string().required(),
    notes:     string().optional(),
  },
  intercepts: {
    'caller.silent': retryGracefully(),
    'caller.angry':  handoffToHuman(),
  },
  tools: {
    checkAvailability: bookingPlugin.availability,
    createBooking:     bookingPlugin.create,
  },
});

Deja de perder llamadas. Deja de perseguir leads. Empieza a lanzar.

Onboarding personalizado. Piloto de 30 días. Cancelas cuando quieras.