Saltar al contenido

Desarrolladores

Conecta tu Jefe de gabinete y su equipo a tus herramientas y apps de IA.

Lleva tu equipo a Claude, ChatGPT y tu propio software. Con MCP, una API REST y webhooks firmados, una app de IA o tu código puede consultar llamadas, contactos y tareas, seguir lo que hacen tus Agentes y, con tu permiso, pedir a un Agente que haga una llamada.

Guías de configuración

Conectado en un par de minutos

Las apps que admiten inicio de sesión se conectan con tu cuenta de AgentWaves. Las demás usan una API key que creas en AgentWaves. En ambos casos, la app actúa como tú, dentro de tu rol. Los pasos están en inglés porque nombran los menús de esas apps tal como aparecen en ellas.

ClaudeIniciar sesión
  1. In Claude (web, desktop or mobile), open Settings, then Connectors, and choose Add custom connector. Team and Enterprise: an admin adds it under Organization settings, Connectors.
  2. Name it AgentWaves and paste the connector URL. Leave the advanced OAuth fields empty.
  3. Click Add, then Connect. The AgentWaves sign-in opens: pick the workspace and what Claude may do, then Allow.
  4. In a new chat, turn on AgentWaves in the tools menu and ask: Where am I with AgentWaves?
La guía de la propia app
ChatGPTIniciar sesión
  1. In ChatGPT, open Settings, then Apps and Connectors, then Advanced settings, and turn on Developer mode (Plus, Pro, Business and Enterprise plans).
  2. Choose Create, name it AgentWaves, paste the connector URL and keep OAuth as the authentication.
  3. Save, then Connect: approve the AgentWaves sign-in with the workspace and access you want.
  4. In a chat, choose AgentWaves from the tools and ask what you need.
La guía de la propia app
Claude CodeIniciar sesión
  1. Run this in your terminal:
  2. Then type /mcp in Claude Code and choose AgentWaves to sign in. To use an API key instead, add --header "Authorization: Bearer YOUR_AGENTWAVES_KEY".
claude mcp add --transport http agentwaves https://agentwaves.net/mcp
La guía de la propia app
CursorAPI key
  1. In AgentWaves, open Developers and create an API key.
  2. Open Cursor Settings, then MCP, then Add new MCP server (or edit ~/.cursor/mcp.json) and add:
{
  "mcpServers": {
    "agentwaves": {
      "url": "https://agentwaves.net/mcp",
      "headers": { "Authorization": "Bearer YOUR_AGENTWAVES_KEY" }
    }
  }
}
VS Code (Copilot)API key
  1. In AgentWaves, open Developers and create an API key.
  2. Add this to .vscode/mcp.json in your project (or your user MCP settings), then start the server from the MCP list:
{
  "servers": {
    "agentwaves": {
      "type": "http",
      "url": "https://agentwaves.net/mcp",
      "headers": { "Authorization": "Bearer YOUR_AGENTWAVES_KEY" }
    }
  }
}
WindsurfAPI key
  1. In AgentWaves, open Developers and create an API key.
  2. Edit ~/.codeium/windsurf/mcp_config.json and add:
{
  "mcpServers": {
    "agentwaves": {
      "serverUrl": "https://agentwaves.net/mcp",
      "headers": { "Authorization": "Bearer YOUR_AGENTWAVES_KEY" }
    }
  }
}
Gemini CLIAPI key
  1. In AgentWaves, open Developers and create an API key.
  2. Edit ~/.gemini/settings.json and add:
{
  "mcpServers": {
    "agentwaves": {
      "httpUrl": "https://agentwaves.net/mcp",
      "headers": { "Authorization": "Bearer YOUR_AGENTWAVES_KEY" }
    }
  }
}
Any MCP clientAPI key
  1. Transport: Streamable HTTP at the connector URL.
  2. Authentication: send an API key as Authorization: Bearer YOUR_AGENTWAVES_KEY, or use OAuth 2.1 sign-in (discovery at /.well-known/oauth-protected-resource, PKCE S256, dynamic client registration).
  3. Start with the get_started tool.

Referencia de herramientas

Qué puede hacer una app de IA en AgentWaves

Las herramientas de lectura funcionan en cualquier conexión. Las de acción necesitan acceso de lectura y acción, y cada una comprueba el rol de la propia persona. Tus aprobaciones siguen valiendo: si un Agente tiene activado Pregúntame antes de llamar, una llamada ordenada desde una app espera tu toque en Hoy o tu sí por WhatsApp, y nunca se llama a un contacto de la lista de no llamar. Cada acción queda en el registro de auditoría.

Abrir el JSON schema

Leer

Consulta información. No cambia nada.

  • get_started

    Empieza aquí. El espacio de trabajo, su plan, sus Agentes, sus números de teléfono y los últimos 7 días de llamadas, clientes potenciales y tareas, además de lo que puede hacer esta conexión.

  • list_agents

    Cada Agente con su estado (activo, apagado o sin publicar), en qué se centra, su idioma, sus números de teléfono, su número de WhatsApp y cuántas llamadas lleva.

  • list_calls

    Las llamadas recientes, de la más nueva a la más antigua, con resumen y resultado. Filtra por nombre del Agente, dirección, parte de un número de teléfono y cuántos días atrás.

  • get_call

    Una llamada completa: datos, resumen, datos extraídos (nombre, correo, empresa, seguimiento) y la transcripción.

  • find_contacts

    Busca contactos y clientes potenciales por nombre, teléfono, empresa o etiqueta (usa * para los más nuevos), con lo que los Agentes recuerdan de cada uno.

  • get_contact

    Un contacto: sus datos, su consentimiento, lo que recuerdan los Agentes, sus tareas abiertas y sus llamadas recientes.

  • list_tasks

    Tareas de seguimiento que vienen del correo, WhatsApp, llamadas y órdenes. Muestra las abiertas (por defecto), las hechas o todas.

  • get_task

    Una tarea con todas sus notas, el correo del que vino y su contacto.

  • order_progress

    En qué punto está una llamada pedida con order_call: esperando aprobación, programada, sonando, en curso o terminada, con la hora de cada paso, lo que hizo el Agente durante la llamada y, al terminar, el resultado y el resumen. Indica el task_id (o approval_id) que devolvió order_call.

  • list_campaigns

    Campañas salientes con su estado, su Agente y su avance.

  • search_knowledge

    Busca en lo que un Agente sabe del negocio (sitio web, documentos, notas).

Actuar

Cambia algo o hace una llamada. Tu app de IA debería confirmarlo contigo antes.

  • order_call

    Pide a un Agente que llame a un número y haga algo (preguntar un precio, confirmar una entrega, recordarle algo a alguien), ahora o a una hora. Se convierte en una orden y una tarea, y el resultado se anota en la tarea. Las llamadas a otras personas respetan el horario de llamadas; el teléfono guardado del propietario suena a cualquier hora. Confirma antes el número y el encargo con el usuario.

  • add_task_note

    Escribe una nota en una tarea (qué pasó, qué sigue). Una tarea abierta pasa a en curso.

  • set_task_status

    Marca una tarea como abierta, en curso, hecha o descartada.

  • update_contact

    Cambia el nombre, el correo, la empresa o el cargo de un contacto, o ponlo en la lista de no llamar o quítalo de ella.

  • set_agent_on

    Apaga un Agente (deja de responder llamadas y mensajes) o vuelve a encenderlo.

API REST

La misma potencia desde tu propio código

HTTPS y JSON sin complicaciones, construida sobre las mismas herramientas que el servidor MCP, así que las reglas de acceso y el registro de auditoría son idénticos. Envía una API key de AgentWaves como bearer token.

Lo que cubre hoy

  1. 01Tu espacio de trabajo: su plan, sus Agentes, sus números y los últimos 7 días.
  2. 02Agentes: listarlos, apagar o volver a encender uno y buscar en lo que sabe.
  3. 03Llamadas: listarlas y leerlas, ordenar una llamada y seguirla hasta el final.
  4. 04Contactos: buscarlos, leerlos y actualizarlos, incluida la lista de no llamar.
  5. 05Tareas y órdenes: listarlas y leerlas, añadir notas y cambiar su estado.
  6. 06Campañas: listarlas con su avance.

Los casos, los objetivos, los documentos y las aprobaciones aún no están en la API. Para eso, usa la app.

  • Las respuestas llegan en un campo data. Los errores llegan en un campo error con un code y un message, junto con el código de estado HTTP habitual.
  • Una key de lectura solo ve los endpoints de lectura. Los endpoints de acción también comprueban el rol de la persona.
  • Hasta 300 solicitudes por minuto por key. Cada cambio queda en el registro de auditoría del espacio de trabajo.
Descargar la especificación OpenAPI

Ejemplo

curl "https://agentwaves.net/api/v1/calls?days=7" \
  -H "Authorization: Bearer $AGENTWAVES_KEY"

curl -X POST https://agentwaves.net/api/v1/call-orders \
  -H "Authorization: Bearer $AGENTWAVES_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent": "Layla", "phone": "+14155550123", "task": "Confirm the appointment tomorrow at 10:00"}'

Espacio de trabajo

  • GET/workspaceEl espacio de trabajo, su plan, sus Agentes, sus números, los últimos 7 días y lo que puede hacer esta keyLeer

Agentes

  • GET/agentsCada Agente con su estado, su enfoque, su idioma y sus númerosLeer
  • PATCH/agents/{agent}Apaga un Agente o vuelve a encenderloActuar
  • GET/agents/{agent}/knowledgeBusca en lo que un Agente sabe del negocioLeer

Llamadas

  • GET/callsLlamadas recientes, de la más nueva a la más antigua, con resumen y resultadoLeer
  • GET/calls/{call_id}Una llamada con su resumen, los datos extraídos y la transcripciónLeer
  • POST/call-ordersPide a un Agente que llame a un número ahora o a una hora fijadaActuar
  • GET/call-orders/statusEn qué punto está una llamada ordenada y su resultado cuando terminaLeer

Contactos

  • GET/contactsBusca contactos por nombre, teléfono, empresa o etiquetaLeer
  • GET/contacts/{contact_id}Un contacto con su consentimiento, su memoria, sus tareas abiertas y sus llamadas recientesLeer
  • PATCH/contacts/{contact_id}Cambia los datos de un contacto o su estado de no llamarActuar

Tareas

  • GET/tasksTareas de seguimiento de llamadas, WhatsApp, correo y órdenesLeer
  • GET/tasks/{task_id}Una tarea con sus notas, su origen y su contactoLeer
  • PATCH/tasks/{task_id}Marca una tarea como abierta, en curso, hecha o descartadaActuar
  • POST/tasks/{task_id}/notesEscribe una nota en una tareaActuar

Campañas

  • GET/campaignsCampañas salientes con su estado, su Agente y su avanceLeer

Webhooks

Entérate en cuanto cambia el trabajo

AgentWaves envía por POST JSON firmado a tu sistema cuando cambian llamadas, tareas y órdenes, para que tu CRM, tus hojas de cálculo o tu back office estén al día sin hacer polling. Las firmas siguen la especificación Standard Webhooks, así que las bibliotecas existentes las verifican.

  • Responde con cualquier 2xx en menos de 10 segundos. Cualquier otra respuesta se reintenta pasados 1 minuto, 5 minutos, 30 minutos, 2, 5, 10 y 14 horas.
  • El mismo evento puede llegar dos veces: usa webhook-id para omitir repeticiones. El orden no está garantizado, así que usa el timestamp.
  • Solo direcciones https públicas. Un endpoint que falla durante tres días seguidos se desactiva, y te avisamos.
  • Añade un endpoint en AgentWaves, en Desarrolladores, elige sus eventos y copia el signing secret, que se muestra una sola vez.

Eventos

  • call.startedUna llamada empieza a sonar, entrante o saliente.
  • call.endedUna llamada termina, con su duración y resultado.
  • call.summarizedEl resumen de la llamada y los datos que el Agente recogió están listos.
  • task.createdSe crea una tarea de seguimiento desde una llamada, WhatsApp, correo o una orden.
  • task.updatedUna tarea cambia: estado, responsable, notas o fecha límite.
  • order.createdAlguien ordena a un Agente que llame o escriba a una persona.
  • order.updatedUna orden avanza: programada, llamando o una nota nueva del Agente.
  • order.completedUna orden se completa o se descarta, con la última nota del Agente.

Qué llega

POST /your/endpoint
webhook-id: evt_3f1c0b9a7d2e4c5b6a7f8e9d
webhook-timestamp: 1792494954
webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=

{
  "id": "evt_3f1c0b9a7d2e4c5b6a7f8e9d",
  "type": "call.ended",
  "timestamp": "2026-10-20T09:15:54.000Z",
  "workspaceId": "cmw1org00001",
  "data": {
    "id": "cmw1call0001",
    "direction": "inbound",
    "status": "completed",
    "from": "+14155550123",
    "to": "+14155550199",
    "agent": {
      "id": "cmw1agent001",
      "name": "Layla"
    },
    "contact": {
      "id": "cmw1contact1",
      "name": "Daniel Reyes"
    },
    "campaignId": null,
    "startedAt": "2026-10-20T09:14:02.000Z",
    "answeredAt": "2026-10-20T09:14:03.000Z",
    "endedAt": "2026-10-20T09:15:54.000Z",
    "durationSeconds": 112,
    "outcome": "appointment_booked",
    "endReason": "caller_hung_up",
    "link": "https://agentwaves.net/app/calls/cmw1call0001"
  }
}

Verifica la firma

import crypto from "node:crypto";

// body: the raw request body, as text, before any JSON parsing.
export function verifyAgentWaves(secret, headers, body) {
  const id = headers["webhook-id"];
  const ts = headers["webhook-timestamp"];
  if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
  const key = Buffer.from(secret.replace("whsec_", ""), "base64");
  const expected = "v1," + crypto.createHmac("sha256", key).update(`${id}.${ts}.${body}`).digest("base64");
  return headers["webhook-signature"].split(" ").some(
    (sig) => sig.length === expected.length && crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected)),
  );
}

Skill para Agentes

Una skill que enseña el trabajo a tu app de IA

Un breve archivo SKILL.md que tu app de IA carga cuando preguntas por las llamadas, los contactos, las tareas o los Agentes de tu equipo. Sabe qué herramienta responde a cada pregunta y las reglas que protegen a tus clientes.

  1. 01Empieza cada sesión con get_started, así nunca adivina nombres
  2. 02Repite el número, el Agente y el objetivo antes de ordenar una llamada
  3. 03Nunca llama a un contacto de la lista de no llamar
  4. 04Te avisa cuando una llamada ordenada espera tu aprobación y la sigue hasta el final

Acceso y seguridad

Tus datos, con tus condiciones

  • Inicio de sesión OAuth 2.1

    PKCE y registro dinámico de clientes. La persona elige el espacio de trabajo y el acceso, y puede revocarlo cuando quiera.

  • Solo lectura, o lectura y acción

    Elígelo por app o por API key. Las herramientas de acción no aparecen en las conexiones de solo lectura.

  • Tu rol sigue aplicándose

    Una app nunca puede hacer más que la persona que la conectó.

  • Cada acción, auditada

    Las llamadas ordenadas, las tareas cambiadas y los contactos editados quedan registrados a nombre de la persona, marcados como procedentes de una app de IA.

Lleva tu equipo a las apps de IA que ya usas.

Elige un plan, conoce a tu Jefe de gabinete y conecta Claude o ChatGPT en un minuto.