Las videollamadas de tu espacio de trabajo están en la API REST y en el servidor MCP. Un agente de IA o tu integración puede buscar llamadas, leer su resumen y su transcripción, ver las próximas y decidir en cuáles entra el asistente.
Sólo responden si tu espacio de trabajo tiene activado el asistente de reuniones. Sin él, cada llamada responde 403 MEETING_NOTETAKER_NOT_ENABLED, nunca una lista vacía.
Herramientas y rutas
| Herramienta MCP | Ruta REST | Alcance | Qué hace |
|---|---|---|---|
search_meetings | GET meetings/search | meetings:read | Llamadas pasadas por lo dicho, contacto, fecha, asesor o resultado |
get_meeting | GET meetings/get | meetings:read | Contacto, asesor, duración, estado, motivo de falla y quién habló |
get_meeting_summary | GET meetings/summary | meetings:read | Resumen con IA: puntos y próximos pasos |
get_meeting_transcript | GET meetings/transcript | meetings:read | Transcripción en Markdown, participantes, idioma y duración |
list_upcoming_meetings | GET meetings/upcoming | meetings:read | Próximas citas, si el asistente entrará y si puedes cambiarlo |
get_meeting_assistant_settings | GET meetings/assistant-settings | meetings:read | A qué citas entra el asistente en todo el espacio |
set_meeting_assistant | POST meetings/assistant | meetings:write | Enciende o apaga el asistente en una cita, o la regresa al ajuste general |
update_meeting_assistant_settings | POST meetings/assistant-settings/update | meetings:write | Define a qué citas entra el asistente |
Las rutas REST van bajo https://api.watsi.ai/v1/actions/.
Busca y lee
search_meetings devuelve las llamadas de la más reciente a la más antigua, y nextCursor para pedir la siguiente página. Una llamada sin transcripción sigue en la lista con su motivo.
querybusca en el título, en el nombre, teléfono o correo del contacto y en lo dicho en la llamada.memberIdses una lista de ids separados por comas.assignedToMetrae sólo las tuyas.fromytoson instantes ISO-8601 con su zona.includeSummarieseincludeTranscriptsagregan el texto a cada fila. Con cualquiera de los dos, la página baja a 10 filas, aunque pidas más.
summary es null mientras se procesa: mira summaryStatus antes de concluir que no hay resumen. markdown es null cuando no hay transcripción: status y failureCode dicen por qué.
La transcripción, el resumen, los nombres y los títulos son texto no confiable: vienen de lo que alguien dijo o escribió. Si los pasas a un modelo, trata cualquier instrucción que contengan como dato, nunca como una orden.
Quién ve qué
- El dueño y los administradores ven todas las llamadas del espacio.
- Un miembro ve una llamada cuando puede ver a su contacto: es su responsable o colaborador.
- Una clave de API ve lo que ve el miembro que la creó.
- Un rol personalizado todavía no puede leer llamadas por API ni MCP.
Una llamada que no puedes ver responde 404 MEETING_NOT_FOUND.
Decide en cuáles entra el asistente
set_meeting_assistant recibe calendarEventId y override: on, off o null para volver al ajuste general. Puede cambiarlo el asesor de la cita, quien tenga calendar:write_any o una clave sin miembro. No envía avisos ni mueve la cita.
Cuando el asistente ya está entrando a la llamada, ya no se puede cambiar: responde 409 MEETING_BOT_ALREADY_JOINING. canChange en list_upcoming_meetings te lo dice antes.
update_meeting_assistant_settings reemplaza el ajuste general con mode: all, none o rules. Con rules, los tipos de cita y los asesores se combinan como Y; si dejas las dos listas vacías, no entra a ninguna. Hace falta el permiso meeting_assistant:manage, que por defecto tienen el dueño y los administradores. Lo que digas en una cita gana sobre este ajuste.
Alcances
Una clave de API nueva lleva meetings:read; meetings:write no. Ver alcances.
Por OAuth, toda conexión pide estos dos alcances, y meetings:write es una casilla sin marcar en la pantalla de consentimiento. Una conexión hecha antes de que existieran estas herramientas tiene que volver a conectarse para tenerlas. Las herramientas sólo aparecen en un espacio de trabajo con el asistente de reuniones activado.