
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.
Empieza aquí
Todo lo que necesitas para conectarte
- Servidor MCPUna sola dirección para cualquier cliente MCP, con inicio de sesión OAuth o una API key.
- API RESTEndpoints JSON para tu espacio de trabajo, Agentes, llamadas, contactos, tareas y campañas, con errores claros.
- Especificación OpenAPIUna especificación legible por máquinas para generadores de código y herramientas de API.
- Guías de configuración por appPaso a paso para Claude, ChatGPT, Claude Code, Cursor, VS Code y más.
- Webhooks firmadosLlamadas, tareas y órdenes enviadas a tu sistema en cuanto cambian.
- Skill para AgentesEnseña a tu app de IA a trabajar con tu equipo, con seguridad.
Servidor MCP
https://agentwaves.net/mcpUna URL para conectarte
Añádela como conector o servidor MCP, inicia sesión y elige qué puede hacer la app.
Guías de configuraciónGuí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
- 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.
- Name it AgentWaves and paste the connector URL. Leave the advanced OAuth fields empty.
- Click Add, then Connect. The AgentWaves sign-in opens: pick the workspace and what Claude may do, then Allow.
- In a new chat, turn on AgentWaves in the tools menu and ask: Where am I with AgentWaves?
ChatGPTIniciar sesión
- In ChatGPT, open Settings, then Apps and Connectors, then Advanced settings, and turn on Developer mode (Plus, Pro, Business and Enterprise plans).
- Choose Create, name it AgentWaves, paste the connector URL and keep OAuth as the authentication.
- Save, then Connect: approve the AgentWaves sign-in with the workspace and access you want.
- In a chat, choose AgentWaves from the tools and ask what you need.
Claude CodeIniciar sesión
- Run this in your terminal:
- 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
CursorAPI key
- In AgentWaves, open Developers and create an API key.
- 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
- In AgentWaves, open Developers and create an API key.
- 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
- In AgentWaves, open Developers and create an API key.
- Edit ~/.codeium/windsurf/mcp_config.json and add:
{
"mcpServers": {
"agentwaves": {
"serverUrl": "https://agentwaves.net/mcp",
"headers": { "Authorization": "Bearer YOUR_AGENTWAVES_KEY" }
}
}
}Gemini CLIAPI key
- In AgentWaves, open Developers and create an API key.
- Edit ~/.gemini/settings.json and add:
{
"mcpServers": {
"agentwaves": {
"httpUrl": "https://agentwaves.net/mcp",
"headers": { "Authorization": "Bearer YOUR_AGENTWAVES_KEY" }
}
}
}Any MCP clientAPI key
- Transport: Streamable HTTP at the connector URL.
- 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).
- 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.
Leer
Consulta información. No cambia nada.
get_startedEmpieza 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_agentsCada 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_callsLas 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_callUna llamada completa: datos, resumen, datos extraídos (nombre, correo, empresa, seguimiento) y la transcripción.
find_contactsBusca 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_contactUn contacto: sus datos, su consentimiento, lo que recuerdan los Agentes, sus tareas abiertas y sus llamadas recientes.
list_tasksTareas de seguimiento que vienen del correo, WhatsApp, llamadas y órdenes. Muestra las abiertas (por defecto), las hechas o todas.
get_taskUna tarea con todas sus notas, el correo del que vino y su contacto.
order_progressEn 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_campaignsCampañas salientes con su estado, su Agente y su avance.
search_knowledgeBusca 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_callPide 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_noteEscribe una nota en una tarea (qué pasó, qué sigue). Una tarea abierta pasa a en curso.
set_task_statusMarca una tarea como abierta, en curso, hecha o descartada.
update_contactCambia 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_onApaga 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
- 01Tu espacio de trabajo: su plan, sus Agentes, sus números y los últimos 7 días.
- 02Agentes: listarlos, apagar o volver a encender uno y buscar en lo que sabe.
- 03Llamadas: listarlas y leerlas, ordenar una llamada y seguirla hasta el final.
- 04Contactos: buscarlos, leerlos y actualizarlos, incluida la lista de no llamar.
- 05Tareas y órdenes: listarlas y leerlas, añadir notas y cambiar su estado.
- 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.
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.
- 01Empieza cada sesión con get_started, así nunca adivina nombres
- 02Repite el número, el Agente y el objetivo antes de ordenar una llamada
- 03Nunca llama a un contacto de la lista de no llamar
- 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.
