Hermes Agent para Zendesk: cómo conectarlo de forma segura (2026)
Rama Adi
Katelin Teen
Última edición October 11, 2026

Por qué miré Hermes en Zendesk
Mi trabajo en eesel es construir integraciones, y Zendesk es el helpdesk en el que más tiempo he pasado. No es casualidad: el marketplace de Zendesk fue uno de los primeros canales de crecimiento de eesel, y llevamos años poniendo IA en colas reales de Zendesk. La lección que vuelve una y otra vez es que el modelo es la parte fácil. Lo difícil es decidir qué puede tocar la IA y luego demostrar que está lista antes de que un cliente descubra que no lo está.
Hermes Agent es el agente de código abierto y autoalojado de Nous Research, con 252,613 estrellas en GitHub bajo licencia MIT. Traté la pregunta general en Hermes Agent for customer support y la versión de Freshdesk en Hermes Agent for Freshdesk. Zendesk tiene su propio artículo porque su respuesta depende de una fecha límite que los otros helpdesks no tienen.

Hermes no incluye nada específico de Zendesk. Su catálogo seleccionado de 68 servidores MCP no tiene entrada de Zendesk, y no encontré a nadie en Hacker News, Reddit o X describiendo una configuración de Hermes con Zendesk. Todo lo que sigue lo armé a partir de la documentación de los dos proveedores y el código de la comunidad, que es de todos modos como tendrías que construirlo.
La fecha límite de Zendesk que condiciona cualquier configuración
La mayoría de los tutoriales de Hermes con helpdesks empiezan con "pega tu clave de API en .env." En Zendesk, ese consejo ya tiene fecha de caducidad. La guía de migración a OAuth de Zendesk abre con ella: "Zendesk API tokens will be permanently deactivated on April 30, 2027."

Las tres fases, todas de esa guía:
- 28 de julio de 2026. Cualquier token sin usar durante 30 días se desactiva automáticamente, y las cuentas creadas después de esta fecha no pueden usar tokens en absoluto.
- 27 de octubre de 2026. Ninguna cuenta puede crear un nuevo token de API, ni desde la interfaz ni desde la API.
- 30 de abril de 2027. Todos los tokens restantes dejan de funcionar.
La regla de los 30 días es la traicionera para un agente: un cron de Hermes que pausas durante las vacaciones puede volver a un token muerto. Y los motivos de Zendesk para retirar los tokens son justo los riesgos de dárselo a un agente: "No expiry", "No scope restrictions", y la referencia de autenticación añade que un token "can be used to impersonate anyone in the account, including admins."
OAuth lo arregla, pero cambia bastante la fontanería. Los tokens de acceso duran 30 minutos por defecto y 48 horas como máximo, así que una cabecera Authorization estática en el config.yaml de Hermes no sobrevivirá. Algo tiene que renovar el token. Hermes puede hacer OAuth por sí mismo con auth: oauth, pero solo para servidores MCP remotos, y Zendesk aún no tiene uno al que puedas apuntarlo. En la práctica, la renovación ocurre dentro del servidor MCP de Zendesk que elijas, y elegir bien ese servidor es la mayor parte del trabajo; mi guía de autenticación de la API de Zendesk cubre los tipos de token con más detalle.
Cuatro formas de conectar Hermes a Zendesk
Estas son todas las vías que encontré, y quién guarda tus credenciales de Zendesk en cada una:
| Vía | Cómo la usa Hermes | Autenticación | Quién guarda tus credenciales |
|---|---|---|---|
| reminia/zendesk-mcp-server | Proceso stdio local bajo mcp_servers | OAuth con PKCE, por usuario | Un archivo de token en tu servidor (124 estrellas, Apache-2.0) |
| Swifteq MCP Server | Endpoint MCP alojado | Instalación de la app del marketplace | El servicio de Swifteq |
| Skills de skills.sh | hermes skills install | Varía según la skill | La configuración del autor de la skill (la más popular: 4,102 instalaciones) |
| Trigger de Zendesk + webhook de Hermes | El evento del ticket hace POST a una ruta de Hermes | Cabecera de autenticación del webhook | Un secreto de ruta, más una de las otras para escribir de vuelta |
Y la que quizá estés esperando: el Zendesk MCP Server. Zendesk lo anunció en Relate el 19 de mayo de 2026, con una nota al pie que dice "Early access this summer." No encontré ningún aviso de disponibilidad general en las notas de versión de septiembre de 2026 de Zendesk ni en su lista de acceso anticipado. No lo confundas con el cliente MCP que llegó a disponibilidad general el 10 de agosto de 2026, que permite que la IA de Zendesk llame a otros servidores y no hace nada por Hermes.
Hoy elegiría el servidor de reminia. Fue reescrito para OAuth antes de la fecha límite de los tokens y renueva los tokens por sí solo. Su README también defiende algo con lo que estoy de acuerdo: cada operador autoriza "with their own Zendesk login," así que Zendesk aplica exactamente los permisos que aplica en la interfaz. Swifteq es el más fácil si no quieres alojar nada, con 500 llamadas MCP gratuitas al mes por cuenta y luego 49 EUR al mes desde el 1 de octubre de 2026, pero tus datos de tickets pasan entonces por un tercero. La vía del webhook es menos una cuarta opción y más un disparador: le dice a Hermes que llegó un ticket, y Hermes sigue necesitando una de las otras para actuar.
Cómo configurarlo con seguridad
Este es el orden que seguiría. Los pasos parecen quisquillosos, pero cada uno existe por un valor por defecto concreto de Zendesk o de Hermes que te muerde si lo dejas como está.
1. Dale a Hermes su propio usuario de agente ligero
Este paso importa más que los demás. La herramienta create_ticket_comment de reminia acepta un parámetro public, y en su código fuente ese parámetro vale True por defecto. Si el modelo olvida pasar public: false, el "borrador" llega al cliente como respuesta y se envía por correo. El filtro de herramientas de Hermes puede ocultar una herramienta, pero no puede fijar un argumento, así que el filtro por sí solo no te va a salvar.
El sistema de roles de Zendesk sí puede. Según la documentación de agentes ligeros de Zendesk: "Ticket comments by light agents are private, including the first comment of any tickets they create." Así que si Hermes se autentica como agente ligero, Zendesk convierte cada comentario en una nota interna, sin importar lo que envíe el modelo.

Crea un usuario con un nombre como "Hermes (draft only)", dale el rol de agente ligero y deja que vea todos los tickets (o solo los grupos para los que debe redactar). Los puestos de agente ligero están incluidos en la mayoría de los planes Suite: hasta 50 en Growth, 100 en Professional, 1,000 en Enterprise y un complemento en Team. Dos advertencias. Zendesk prohíbe usar la API para dar a los agentes ligeros más de lo que obtienen en la interfaz, algo que esta configuración no hace. Y como un puesto normalmente es el inicio de sesión de una persona, confirmaría con tu representante de Zendesk que un usuario bot en uno está bien; si no, presupuesta un puesto completo y apóyate más en el paso 3. Los roles y permisos de Zendesk cubren el resto de la configuración de roles.
2. Registra un cliente OAuth con scopes estrechos
En Admin Center, ve a Apps and integrations > APIs > OAuth clients y crea un cliente público, ya que el servidor de reminia usa PKCE en lugar de un secreto almacenado. Define Allowed scopes, que Zendesk describe como un techo: "no token issued by this client can exceed these scopes." Para un bot de borradores basta con tickets:read tickets:write users:read hc:read. Si omites los scopes, Zendesk usa por defecto read write completo.
Luego inicia sesión como el agente ligero de Hermes y ejecuta uv run zendesk-auth una vez. Es el único paso en el navegador. Después, el servidor renueva los tokens por sí mismo, rota el token de refresco cada vez y mantiene el archivo con permisos 0600. Un segundo motivo para preferir este flujo, directo del README de reminia: los tokens de client credentials "are attributed to the Zendesk user who created the OAuth client," normalmente un administrador, así que cada nota parecería escrita por tu admin. Mi tutorial de la app OAuth de Zendesk tiene capturas del formulario del cliente.
3. Añade el servidor y filtra sus herramientas
Hermes guarda los servidores MCP bajo mcp_servers en ~/.hermes/config.yaml, y tools.include crea una lista blanca de herramientas por servidor (documentación MCP de Hermes). Este es mi montaje a partir del README de reminia y la sintaxis de Hermes. No es un ejemplo oficial de ninguno de los dos proyectos:
mcp_servers:
zendesk:
command: "uv"
args: ["--directory", "/opt/zendesk-mcp-server", "run", "zendesk"]
env:
ZENDESK_SUBDOMAIN: "yourcompany"
ZENDESK_CLIENT_ID: "${ZENDESK_CLIENT_ID}"
ZENDESK_OAUTH_SCOPES: "tickets:read tickets:write users:read hc:read"
tools:
include:
- get_ticket
- get_ticket_comments
- get_tickets
- create_ticket_comment
Dejar fuera update_ticket y create_ticket significa que Hermes no puede cambiar el estado ni reasignar, ni tampoco abrir tickets nuevos, nada de lo cual necesita un bot de borradores. Hermes también tiene una clave trust por servidor. En un servidor untrusted, "every write-capable tool call... requires user approval" (referencia de configuración MCP), pero el valor por defecto es full. Si alguien vigila a Hermes en Slack, untrusted te da un segundo control en cada nota.
4. Elige un disparador: chat, cron o webhook
Hermes necesita saber cuándo mirar un ticket:
- A petición. Un agente pega un número de ticket en Slack y pide un borrador. Una persona sigue en el proceso todo el tiempo.
- Sondeo con cron. El planificador de Hermes se activa cada 60 segundos, y un script de comprobación previa puede imprimir
{"wakeAgent": false}para que el modelo solo se ejecute cuando hay algo nuevo (documentación de cron). - Webhook. Un trigger de Zendesk dispara un webhook a una ruta como
https://your-server:8644/webhooks/zendesk.
El webhook es el más rápido y también el más delicado, porque cada lado firma las solicitudes de forma distinta. Zendesk envía X-Zendesk-Webhook-Signature, un HMAC en base64 de la marca de tiempo más el cuerpo (documentación de Zendesk). Hermes rechaza cualquier solicitud sin "a recognized signature header," y su lista es la de GitHub, la de GitLab, Standard Webhooks o su propio X-Webhook-Signature-V2 codificado en hexadecimal (documentación de webhooks). Ninguna coincide con el formato de Zendesk.

Hay un puente, aunque no lo he ejecutado de principio a fin, así que tómalo como mi lectura de ambas documentaciones. Los webhooks de Zendesk admiten autenticación por clave de API, que envía un nombre de cabecera y un valor que tú eliges. El esquema de GitLab de Hermes es una coincidencia simple de secreto en X-Gitlab-Token. Pon la cabecera de clave de API del webhook de Zendesk en X-Gitlab-Token con el secreto de tu ruta como valor, y Hermes debería aceptarlo. Es más débil que un HMAC (sin protección contra repetición), así que mantén la ruta detrás de HTTPS.
Dos detalles más. Las ejecuciones por webhook empiezan con un conjunto de herramientas por defecto estrecho, así que la ruta necesita una concesión manual toolsets: ["mcp-zendesk"] antes de poder leer tickets. Y Zendesk da a cada webhook un timeout de 12 segundos y reintenta los timeouts hasta cinco veces (documentación de webhooks), así que un host de Hermes lento puede ver el mismo ticket más de una vez. El ajuste coalesce a nivel de ruta de Hermes, que agrupa eventos repetidos del mismo ticket en una sola ejecución, ayuda aquí.
5. Prueba con tickets antiguos antes de confiar en él
Aquí es donde yo dedicaría más tiempo, y también donde Hermes ayuda menos. No tiene un modo de reproducción para ejecutar los tickets del mes pasado y puntuar los borradores frente a lo que tu equipo envió realmente.
Puedes construir uno: extrae tickets resueltos con la API de exportación incremental, ejecuta Hermes sobre ellos en un perfil sandbox y compara. Las exportaciones incrementales están limitadas a 10 solicitudes por minuto (límites de tasa), así que conviene extraer el conjunto de datos una vez y guardarlo en caché. Para saber cómo es "suficientemente bueno", mira mi guía sobre cómo entrenar una IA con una base de conocimiento.
Antes de salir en vivo, repasa esto. Es la lista que querría ver marcada antes de que un bot toque una cola real:
Cuánto cuesta realmente Hermes en Zendesk
La licencia es gratuita. Todo lo que la rodea, no.
El puesto del bot. Un puesto de agente ligero si tu plan incluye uno; si no, un puesto de agente completo. La página de precios de Zendesk lista Support Team a $19, Suite Team a $55 y Suite Professional a $115 por agente al mes con facturación anual. Mi desglose de los precios de Zendesk cubre los demás niveles.
Margen de API. Hermes comparte el límite de tasa de tu cuenta con todas las demás integraciones. Un borrador útil son unas cuatro llamadas: el ticket, sus comentarios, tickets similares y luego la nota.
| Plan | Solicitudes/min de la API de Support | Agentes ligeros incluidos |
|---|---|---|
| Suite Team | 200 | Complemento |
| Suite Growth | 400 | Hasta 50 |
| Suite Professional | 400 | Hasta 100 |
| Suite Enterprise | 700 | Hasta 1,000 |
| Suite Enterprise Plus | 2,500 | Hasta 5,000 |
Los límites provienen de la página de límites de tasa de Zendesk. Con volúmenes de borradores no los alcanzarás, aunque el endpoint Update Ticket tiene su propio tope de 100 solicitudes por minuto por cuenta, y una integración ocupada con la API de Zendesk en otro lugar puede comerse la parte de Hermes.
Tokens del modelo y un servidor. Trae tu propia clave de proveedor o usa una suscripción a Nous Portal, más un VPS pequeño para ejecutar el gateway y el servidor MCP.
La construcción. Es lo que la gente se salta. Un responsable de soporte de una empresa de seguimiento de autobuses, con unos 200 tickets de Zendesk al mes, nos describió el objetivo en una llamada de ventas así:
"create an application that will be able to handle 60% of the incoming zendesk tickets and know when to pull a real person in for better analysis and resolution."
Esa frase es un producto entero. Está la gestión y la lógica de escalado, y luego la parte de "know when", que es la más difícil. Con Hermes lo construyes tú, y pagas en horas de ingeniería además de tokens y puestos. Mi desglose de construir o comprar le pone números.
Dónde deja de funcionar Hermes en Zendesk
Todo lo anterior asume el formato de borradores. En cuanto apuntas Hermes directamente a los clientes de Zendesk, chocas con los mismos muros que encontré en la revisión general de soporte:
- La memoria es por perfil, no por solicitante. La memoria integrada son
MEMORY.md(2,200 caracteres) yUSER.md(1,375), cargados en cada sesión que ejecuta el perfil (documentación de memoria). Lo que guarde del ticket de un cliente queda en el prompt del siguiente. - Sin destino de entrega en Zendesk. Las opciones
deliverde una ejecución por webhook son plataformas de chat, correo o un log. Devolver la respuesta al ticket siempre pasa por una llamada a una herramienta. - Sin ensayo. Ya lo vimos arriba, y es la carencia que más pesaría.
- El bot nativo ya existe. Los agentes de IA de Zendesk están incluidos en cada plan Suite, con 5 resoluciones automatizadas por agente al mes en Team y 10 en Professional, y luego $1.50 con compromiso o $2.00 de pago por uso. Si quieres un bot de cara al cliente dentro de Zendesk, Hermes estaría reconstruyendo lo que el helpdesk ya vende.
La descripción más honesta de la construcción de borradores que encontré vino de alguien que lo hacía en otro helpdesk:
"My current set up…Hermes agent logs into front with write only API token and reads whole context of customer thread. Then tries to look in our software for answers. (Unreliable right now). Then writes draft. This has been way harder than I expected. Been a side project for a while. Really focused on it right now. Goal - save CSR 80% of email writing time."
Fíjate en la forma: leer y consultar, luego redactar, con una persona que envía. Esa es la configuración que defendería también en Zendesk. Lo de "way harder than I expected" está en la recuperación de información y en el listón de calidad, no en la conexión.
Hermes vs Zendesk AI vs eesel en Zendesk
| Hermes Agent | Agentes de IA de Zendesk + Copilot | eesel | |
|---|---|---|---|
| Qué es | Agente general autoalojado | La IA nativa de Zendesk | Compañero de IA para el helpdesk |
| Conexión con Zendesk | Conectas tú MCP o webhooks | Integrada | Un enlace de aprobación |
| Sobrevive a la retirada de tokens | Solo si pasas a OAuth | Sí | Sí, no usa token de API |
| Respuestas a clientes | Posible, no recomendado | Sí | Sí, o solo borradores |
| Borradores como nota interna | Sí, como agente ligero | Sugerencias de Copilot, complemento en Professional y superiores | Sí, más reproducción con tickets pasados |
| Unidad de precio | Tokens + servidor + puesto | $1.50 a $2.00 por resolución automatizada | 1 crédito por ticket |
| Quién lo mantiene | Tú | Zendesk | eesel |
Para el panorama más amplio, mi recopilación best AI for Zendesk y la lista Zendesk AI alternatives profundizan más, mientras que Hermes Agent alternatives cubre agentes generales. Si estás sopesando otras configuraciones centradas en el modelo, Claude for Zendesk y ChatGPT for Zendesk plantean las mismas dudas de conexión.
¿Deberías ejecutar Hermes en tu cola de Zendesk?
Tras leer ambas documentaciones y el código de la comunidad, aquí es donde acabo.
Sí, si tienes un ingeniero al que le guste esto, el trabajo es redactar notas internas para agentes que las revisan, y te parece bien ser responsable de un cliente OAuth y un arnés de evaluación. El servidor de reminia, un puesto de agente ligero y una lista include de cuatro herramientas es una configuración que puedes defender. Hermes también encaja bien como chatbot de soporte interno al que tu propio equipo consulta en Slack.
No, si quieres IA respondiendo a clientes, o necesitas un registro de cada acción de la IA que un responsable de soporte pueda leer sin SSH. Misma respuesta si nadie puede mantener un archivo YAML durante la migración de tokens. La revisión de seguridad de Zendesk que harías a cualquier proveedor pasa a ser una que haces en tu propio servidor.
La conexión es un fin de semana de trabajo. Lo que queda después es el problema de las alucinaciones de la IA, más el ensayo y las barreras a su alrededor, y ese es el trabajo real de poner IA en una cola.
eesel para Zendesk
Si miraste Hermes porque quieres IA trabajando tus tickets de Zendesk, eesel es el compañero creado exactamente para eso. Conectas Zendesk mediante un enlace de aprobación, con sesión iniciada como agente, así que no hay un token de API que migrar, y aprende de tu centro de ayuda, tus macros y tus tickets pasados (documentación de eesel).

Así encaja con las carencias de arriba:
- Ensayo primero. La skill Simulation reproduce tickets pasados de Zendesk y puntúa la diferencia antes de responder a nadie.
- Tú eliges el nivel de escritura. Dejar una nota interna, retener un borrador para aprobación en el panel o enviar. También puede etiquetar, asignar a una persona o equipo y cerrar, lo que cubre también el triaje de tickets de Zendesk.
- Triggers de Zendesk integrados. Se ejecuta con cada mensaje del cliente, solo con el primero, cuando se cierra un ticket o cuando un compañero escribe @eesel en una nota.
- Precios simples. Un ticket es 1 crédito sin importar lo larga que sea la conversación. Los planes empiezan en $299 al mes por 500 créditos, y el plan gratuito incluye 100 créditos.

Y si la mitad del atractivo de Hermes era la terminal, eesel también la tiene. La CLI de eesel maneja el mismo compañero que ves en el panel, así que lo que configures en uno aparece en el otro. eesel integrations connect zendesk inicia la conexión (una persona todavía la aprueba en el navegador), eesel integrations download start zendesk copia tu centro de ayuda, macros y tickets, y eesel automations lista y activa lo que hace el agente por cada trigger. eesel integrations zendesk actions muestra cada acción con su ajuste de aprobación, así que puedes ver desde una terminal si tiene permiso para enviar o solo para redactar. Cada comando imprime JSON, lo que significa que Claude Code, Cursor o Codex pueden ejecutar toda la configuración de Zendesk por ti. Hay más en mi artículo CLI for customer support.
Quédate con Hermes para los trabajos en los que destaca. Para la cola de Zendesk, prueba eesel primero con tus tickets reales.
Preguntas frecuentes
¿Puedo conectar Hermes Agent a Zendesk?
mcp_servers dentro de config.yaml, instalas una skill de skills.sh o apuntas un trigger de Zendesk a una ruta de webhook de Hermes. Mi guía de MCP for customer support explica qué debería exponer un servidor MCP de soporte.¿Zendesk tiene un servidor MCP oficial para Hermes Agent?
¿Se romperá mi configuración de Hermes Agent con Zendesk cuando se retiren los tokens de API?
¿Cuánto cuesta ejecutar Hermes Agent en Zendesk?
¿Puede Hermes Agent responder automáticamente a los clientes de Zendesk?
create_ticket_comment de ese servidor publica comentarios públicos salvo que el modelo pase public: false. Los comentarios de Zendesk no se pueden editar una vez publicados, solo redactar. Yo ejecuto el bot como agente ligero para que Zendesk fuerce que cada comentario sea una nota interna.