Configuración de agente de soporte con Google Calendar e IA

Clase 11 de 16Curso de Workflows Profesionales con n8n

Resumen

Aprende, paso a paso, a crear un agente de soporte técnico que conecta con varias aplicaciones usando MCP Server y MCP Client. Verás cómo filtrar casos de IT con prioridad alta, enviar mensajes en paralelo, diseñar un prompt efectivo, pasar el contexto con JSON.stringify, y agendar eventos en Google Calendar con campos clave. Todo con pruebas rápidas, depuración y ajustes finos del flujo.

¿Cómo iniciar el flujo con MCP Server y MCP Client?

Para empezar, se construye un subflujo que notifica a distintos departamentos y se enfoca en la rama de IT con prioridad alta. La lógica se apoya en nodos como trigger, switch y filter, permitiendo rutas paralelas y condiciones precisas.

¿Qué datos de prueba usar con el trigger?

  • Usa el trigger y pulsa en “Execute step”.
  • Se genera un objeto JSON con campos vacíos: categoría, prioridad, usuario, mensaje, ejecución y fecha.
  • Edita con el lápiz y rellena valores falsos para desarrollo.
  • Escribe un mensaje de ejemplo: "No me funciona el mouse. ¿Qué debo de hacer?".
  • Guarda para tener pin data y facilitar las pruebas.

¿Cómo filtrar por IT y prioridad alta?

  • En switch, enruta a la rama IT.
  • Mueve el nodo filter para que se aplique solo a IT y no bloquee otras acciones.
  • Arrastra el campo prioridad al filter y ejecuta cuando sea “alto”.
  • Mantén acciones paralelas: por ejemplo, que Slack se envíe siempre, aunque no sea alta la prioridad.

¿Cómo mantener Slack en paralelo?

  • Desconecta el filter de la ruta principal si interfiere.
  • Conecta la rama IT al filter como acción paralela.
  • Así, Slack se envía siempre y el filtro solo controla la lógica crítica de IT.

¿Cómo diseñar el AI Agent y su prompt?

Se añade un AI Agent genérico con “Define Below” para controlar el comportamiento. El system message orquesta tareas encadenadas, y el user message pasa el contexto completo en texto.

¿Qué poner en el system message y user message?

  • System message con objetivos claros:
  • Agendar un evento en el calendario para ayudar al usuario.
  • Enviar un correo con la fecha del evento.
  • Buscar solución con “Serve API” en Google, según el mensaje del usuario.
  • Formatear la respuesta en HTML.
  • Responder en español.
  • User message con contexto completo usando Expressions y el objeto de entrada.

Código recomendado para pasar todo el contexto del nodo anterior:

{{ JSON.stringify($json) }}

Ventajas: - Evita arrastrar campo por campo. - El agente lee todo el estado de entrada.

¿Cómo conectar OpenAI y Google Calendar?

  • Selecciona tu proveedor (OpenAI) y credenciales.
  • Añade la herramienta Google Calendar con credenciales válidas.
  • Escribe una descripción clara de la herramienta para el agente: “Agendar una reunión con el usuario a partir de la fecha de hoy en adelante y añade un título descriptivo al evento.”

Consejos clave: - Elige el calendario correcto. - Deja que el agente rellene la fecha final si aplica. - Desactiva “use default reminders” si no los necesitas.

¿Qué campos configurar en el evento?

  • Attendees: arrastra el email del usuario para invitarlo.
  • Description: permite que el agente lo rellene.
  • Summary: define que el agente cree un título corto y descriptivo (mejor da límites claros).
  • Conference data: “Add conference” para generar enlace de Google Meet.

Nota sobre lenguaje del prompt: “corto” y “descriptivo” son vagos para una IA. Mejor especifica límites, por ejemplo, 40 caracteres para el título y pautas para el contenido.

¿Cómo depurar fechas y mejorar el resultado?

Durante la prueba se detectó la creación de dos eventos y rangos de fechas excesivos. La causa: el agente no conocía la fecha actual y el prompt no indicaba duración ni cuándo agendar.

¿Por qué se crearon dos eventos y con fechas erróneas?

  • Falta de contexto temporal: el modelo no sabe “hoy”.
  • Prompt ambiguo: sin duración ni ventanas claras.
  • Resultado: eventos duplicados y rangos incoherentes.

¿Cómo corregir con date and time tool y un prompt específico?

  • Añade la herramienta date and time tool para que el agente consulte el día actual.
  • Reescribe el prompt con criterios precisos. Ejemplo usado:

“Agenda un evento en el calendario con el usuario para resolver su problema con una duración máxima de quince minutos lo antes posible.”

  • Repite la prueba y valida en el calendario: título, descripción y horario correctos.

¿Qué buenas prácticas aplicar para estabilidad?

  • Define tareas del system message en pasos concretos.
  • Pasa el contexto completo con JSON.stringify($json).
  • Especifica duración, ventana temporal y límites de formato.
  • Usa logs del flujo para inspección rápida.
  • Acepta la no determinación del modelo: el mismo prompt puede variar.
  • Ajusta y vuelve a probar con datos anclados y credenciales validadas.

¿Te gustaría ver ejemplos de prompts más específicos para otros departamentos o prioridades? Comparte tu caso en comentarios y construimos mejoras juntos.