OpenClaw

Canal Mattermost de OpenClaw

Empresarial
Medio

Conecta OpenClaw con Mattermost, la plataforma empresarial de mensajería de código abierto, permitiendo que tu asistente de IA participe en mensajes directos, canales de grupo y conversaciones de equipo. La integración utiliza autenticación mediante Bot Token y eventos WebSocket para una comunicación bidireccional en tiempo real, con modos de chat flexibles y políticas de control de acceso granulares.

Info rápida
DificultadMedio
CategoríaEmpresarial
Funciones compatibles5 / 6

Mattermost Funciones compatibles

Mensajes de texto

Compatible

Medios y archivos

Compatible

Reacciones

Compatible

Hilos

Compatible

Mensajes de voz

No compatible

Chat grupal

Compatible

Mattermost Requisitos previos

  • Un servidor Mattermost (autoalojado o en la nube) con acceso de administrador para crear cuentas de bot
  • Una cuenta de bot con un Bot Token creada en la consola de administración de Mattermost (System Console)
  • La URL base del servidor Mattermost accesible desde el OpenClaw Gateway
  • OpenClaw Gateway instalado y en ejecución
  • El plugin de Mattermost instalado mediante 'openclaw plugins install @openclaw/mattermost'

Mattermost Configuración rápida

1

Instalar el plugin de Mattermost

Ejecuta 'openclaw plugins install @openclaw/mattermost' para agregar la compatibilidad con Mattermost a tu Gateway.

2

Crear una cuenta de bot en Mattermost

Ve a System Console > Integrations > Bot Accounts en Mattermost. Haz clic en 'Add Bot Account', establece un nombre para mostrar y una descripción, y copia el Bot Token generado. Asegúrate de que 'Enable Bot Account Creation' esté activado en System Console > Integrations > Integration Management.

3

Configurar e iniciar

Agrega la configuración del canal Mattermost en ~/.openclaw/openclaw.json con tu botToken, baseUrl y las políticas deseadas. Inicia el Gateway con 'openclaw start'. Envía un mensaje directo al bot o menciónalo con @ en un canal para verificar la conexión.

Mattermost Ejemplo de configuración

config.json
{
  "channels": {
    "mattermost": {
      "enabled": true,
      "botToken": "your-bot-token",
      "baseUrl": "https://mattermost.example.com",
      "dmPolicy": "pairing",
      "chatmode": "oncall"
    }
  }
}

Mattermost Documentación Detallada

Descripción general de la arquitectura

OpenClaw se conecta a Mattermost a través de su REST API y el flujo de eventos WebSocket. Al iniciarse, el Gateway se autentica utilizando tu Bot Token, establece una conexión WebSocket persistente y comienza a escuchar eventos de mensajes. Cuando un mensaje coincide con el disparador del modo de chat activo (mención, prefijo o todos los mensajes), el Gateway lo reenvía a tu agente de IA. La respuesta del agente se publica en el mismo canal o hilo de DM a través de la REST API de Mattermost. La integración admite funciones avanzadas como archivos adjuntos multimedia, reacciones a mensajes, respuestas en hilos y gestión de canales de grupo, lo que la convierte en una de las integraciones de canal empresarial más completas disponibles.
La conexión WebSocket se reconecta automáticamente si la conexión se interrumpe.
Cada cuenta genera una clave de sesión única (agent:<agentId>:mattermost:<accountName>) para el seguimiento independiente de conversaciones.

Crear una cuenta de bot

Las cuentas de bot de Mattermost son cuentas de servicio dedicadas que no consumen una licencia de usuario. 1. Navega a System Console > Integrations > Bot Accounts. 2. Asegúrate de que 'Enable Bot Account Creation' esté habilitado en Integration Management. 3. Haz clic en 'Add Bot Account' y completa el nombre para mostrar, la descripción y el icono. 4. Selecciona el rol apropiado (NO se recomienda System Admin; usa el rol predeterminado Member). 5. Copia el Bot Token generado inmediatamente, ya que no se mostrará de nuevo. El bot debe ser agregado a cualquier canal donde necesite operar. Los administradores de equipo o del sistema pueden agregar el bot a los canales manualmente, o los usuarios pueden invitarlo mediante una @mención.
openclaw.json
{
  "channels": {
    "mattermost": {
      "botToken": "your-bot-token",
      "baseUrl": "https://mattermost.example.com"
    }
  }
}
Almacena el Bot Token de forma segura. Si se pierde, deberás regenerarlo desde la System Console.
Las cuentas de bot no cuentan contra el límite de licencias de Mattermost.

Modos de chat

OpenClaw admite tres modos de chat que controlan cuándo el bot responde a los mensajes en los canales: **oncall (predeterminado)** — El bot solo responde cuando se le menciona con @ por su nombre. Este es el modo más seguro para canales concurridos, ya que el bot permanece en silencio a menos que se le invoque explícitamente. **onmessage** — El bot responde a cada mensaje de los usuarios permitidos. Ideal para canales dedicados al bot o entornos de bajo tráfico donde cada mensaje debe recibir una respuesta. **onchar** — El bot responde cuando un mensaje comienza con un carácter de prefijo específico (por ejemplo, '!' o '/'). Configura los prefijos de activación con oncharPrefixes. Este modo es útil cuando deseas una activación explícita pero concisa sin escribir el nombre completo del bot.
openclaw.json
{
  "channels": {
    "mattermost": {
      "chatmode": "onchar",
      "oncharPrefixes": ["!", "/ai"]
    }
  }
}
En los DM, el bot siempre responde a todos los mensajes independientemente del modo de chat.
Se recomienda el modo oncall para canales de equipo para evitar ruido.

Políticas de DM

Las políticas de mensajes directos (DM) controlan quién puede interactuar con el bot a través de mensajes privados. **pairing (predeterminado)** — Solo los usuarios explícitamente incluidos en la lista allowFrom pueden enviar DM al bot. Este es el modo más restrictivo, ideal para controlar exactamente qué usuarios tienen acceso. **open** — Cualquier usuario de Mattermost que envíe un DM al bot recibirá una respuesta. Usa este modo cuando desees que el bot sea ampliamente accesible en toda tu organización. El campo allowFrom acepta IDs de usuario de Mattermost. Puedes encontrar el ID de un usuario en System Console > Users, o a través de la API de Mattermost.
openclaw.json
{
  "channels": {
    "mattermost": {
      "dmPolicy": "pairing",
      "allowFrom": ["user-id-1", "user-id-2"]
    }
  }
}
Establecer dmPolicy en 'open' permite que cualquier usuario de tu servidor Mattermost consuma cuota de IA a través de DM. Usa esta opción con precaución en servidores grandes.

Políticas de grupo y canal

Las políticas de grupo controlan en qué canales participa el bot al recibir mensajes de grupo. **allowlist (predeterminado)** — El bot solo responde en los canales explícitamente incluidos en groupAllowFrom. Los mensajes en otros canales se ignoran silenciosamente. **open** — El bot responde en cualquier canal al que haya sido agregado. Esto es conveniente, pero puede generar interacciones no deseadas si el bot se agrega a muchos canales. El campo groupAllowFrom acepta IDs de canal de Mattermost. Puedes encontrar el ID de un canal en la URL del canal o a través de la API de Mattermost.
openclaw.json
{
  "channels": {
    "mattermost": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["channel-id-1", "channel-id-2"]
    }
  }
}
Usa el modo allowlist en producción para evitar que el bot responda en canales no deseados.
El bot debe ser miembro del canal para recibir mensajes, independientemente de la política de grupo.

Configuración multicuenta

OpenClaw admite ejecutar múltiples cuentas de bot de Mattermost simultáneamente, cada una dirigida a un servidor Mattermost diferente u operando con configuraciones distintas. Usa el patrón accounts.<name> para configurar múltiples cuentas. Cada cuenta tiene su propio Bot Token, URL base, modo de chat y políticas de acceso. Esto es útil para organizaciones que operan múltiples instancias de Mattermost (por ejemplo, producción y staging) o cuando diferentes equipos necesitan bots con comportamientos distintos.
openclaw.json
{
  "channels": {
    "mattermost": {
      "accounts": {
        "production": {
          "botToken": "prod-bot-token",
          "baseUrl": "https://mattermost.company.com",
          "chatmode": "oncall",
          "dmPolicy": "pairing",
          "allowFrom": ["user-1", "user-2"]
        },
        "dev-team": {
          "botToken": "dev-bot-token",
          "baseUrl": "https://mm-dev.company.com",
          "chatmode": "onmessage",
          "dmPolicy": "open"
        }
      }
    }
  }
}

Mensajería saliente

Los agentes de IA pueden enviar mensajes proactivamente a canales y usuarios de Mattermost usando la acción de herramienta mattermost. Esto permite notificaciones programadas, alertas y actualizaciones automatizadas sin necesidad de que un usuario lo active. Formatos de destino admitidos: • channel:<channel-id> — Enviar a un canal específico por ID • user:<user-id> — Enviar un mensaje directo a un usuario específico por ID • @username — Enviar un mensaje directo a un usuario por su nombre de usuario El bot debe tener permiso para publicar en el canal de destino o iniciar un DM con el usuario de destino.
agent-action.json
{
  "action": "mattermost",
  "params": {
    "message": "Daily standup reminder: please post your updates!",
    "to": "channel:abc123def456"
  }
}
Usa IDs de canal (no nombres) para una entrega confiable. Los nombres de canal pueden ser renombrados.
El bot debe ser miembro del canal de destino para publicar mensajes.

Funciones avanzadas de mensajes

Mattermost admite una amplia gama de funciones de mensajes que OpenClaw aprovecha completamente: **Archivos adjuntos multimedia** — El bot puede enviar y recibir imágenes, archivos y otros adjuntos. Los archivos compartidos por los usuarios se reenvían al agente de IA para su procesamiento. **Reacciones** — El bot puede agregar reacciones con emojis a los mensajes. Esto es útil para confirmaciones o indicadores de estado. **Respuestas en hilos** — El bot admite el modelo de hilos de Mattermost. Cuando un usuario responde en un hilo, el bot mantiene el contexto dentro de ese hilo. **Markdown** — Mattermost renderiza Markdown de forma nativa, por lo que las respuestas del bot pueden incluir texto formateado, bloques de código, tablas y enlaces.
Las respuestas en hilos ayudan a mantener las conversaciones organizadas, especialmente en canales concurridos.
Los archivos adjuntos están sujetos a los límites de tamaño de carga de tu servidor Mattermost.

Límites de velocidad y mejores prácticas

Mattermost aplica límites de velocidad a su REST API para proteger el rendimiento del servidor. Los límites predeterminados son: • 10 solicitudes por segundo por usuario (sostenidas) • 100 solicitudes de capacidad de ráfaga Estos límites se aplican a las llamadas API de la cuenta del bot, incluyendo la publicación de mensajes, la adición de reacciones y la carga de archivos. Mejores prácticas para despliegues en producción: 1. Usa el modo de chat oncall u onchar en canales concurridos para reducir las llamadas API innecesarias. 2. Mantén groupPolicy como allowlist para evitar que el bot responda en todos los canales. 3. Supervisa el uso de API del bot en System Console > Environment > Rate Limiting de Mattermost. 4. Para despliegues de alto tráfico, considera ejecutar cuentas separadas para diferentes equipos.
Si el bot excede los límites de velocidad, Mattermost devuelve errores HTTP 429. El Gateway reintentará con retroceso exponencial, pero un uso excesivo sostenido puede requerir ajustes de configuración.

Mattermost Referencia de Configuración

enabled
Type: booleanDefault: true

Habilitar o deshabilitar el canal de Mattermost

botToken
Type: stringDefault: ""

Bot Token de System Console > Bot Accounts de Mattermost

baseUrl
Type: stringDefault: ""

URL completa de tu servidor Mattermost (por ejemplo, https://mattermost.example.com)

chatmode
Type: stringDefault: "oncall"

Modo de activación del chat: 'oncall' (mención), 'onmessage' (todos) u 'onchar' (prefijo)

oncharPrefixes
Type: string[]Default: []

Caracteres de prefijo que activan el bot cuando chatmode es 'onchar'

dmPolicy
Type: stringDefault: "pairing"

Política de acceso a DM: 'pairing' (solo lista de permitidos) u 'open' (cualquier usuario)

allowFrom
Type: string[]Default: []

IDs de usuario de Mattermost autorizados para enviar DM al bot (usado con dmPolicy: pairing)

groupPolicy
Type: stringDefault: "allowlist"

Política de canales de grupo: 'allowlist' (solo canales especificados) u 'open' (cualquier canal)

groupAllowFrom
Type: string[]Default: []

IDs de canal de Mattermost donde el bot puede responder (usado con groupPolicy: allowlist)

requireMention
Type: booleanDefault: true

Configuración heredada — se recomienda usar chatmode: 'oncall' en su lugar

accounts.<id>.botToken
Type: stringDefault: ""

Bot Token para una cuenta específica en modo multicuenta

accounts.<id>.baseUrl
Type: stringDefault: ""

URL del servidor Mattermost para una cuenta específica

accounts.<id>.chatmode
Type: stringDefault: "oncall"

Modo de activación del chat para una cuenta específica

accounts.<id>.dmPolicy
Type: stringDefault: "pairing"

Política de acceso a DM para una cuenta específica

Mattermost Preguntas Frecuentes

Mattermost Solución de Problemas

El bot no responde a los mensajes

El modo de chat o la política de acceso puede estar filtrando los mensajes.

Verifica que chatmode coincida con el disparador esperado (oncall requiere @mención, onchar requiere un prefijo). Comprueba que dmPolicy y allowFrom incluyan el ID del usuario para DM, o que groupPolicy y groupAllowFrom incluyan el ID del canal para mensajes de grupo.
La conexión WebSocket falla al iniciar

La baseUrl es incorrecta, el Bot Token es inválido o el servidor es inaccesible.

Verifica que baseUrl apunte al servidor Mattermost correcto (incluye el protocolo, por ejemplo, https://). Asegúrate de que el Bot Token sea válido y no haya sido revocado. Comprueba la conectividad de red y las reglas de firewall entre el Gateway y el servidor Mattermost.
El bot no puede publicar en un canal

El bot no es miembro del canal de destino.

Agrega el bot al canal manualmente desde Mattermost (haz clic en 'Add Members' en el canal), o invítalo mencionando su nombre de usuario con @. El bot debe ser miembro del canal para publicar mensajes.
Los archivos adjuntos multimedia no se procesan

La configuración de carga de archivos del servidor Mattermost puede restringir tipos o tamaños de archivo.

Verifica System Console > Environment > File Storage para conocer los límites de carga. Asegúrate de que la cuenta del bot tenga permiso para acceder a los archivos adjuntos. Comprueba que el Gateway pueda alcanzar el endpoint de la API de archivos de Mattermost.
Errores de límite de velocidad (HTTP 429) en los registros

El bot está realizando demasiadas solicitudes API en un período corto.

Cambia del modo onmessage al modo oncall u onchar para reducir las llamadas API. Limita la cantidad de canales en los que el bot está activo. Consulta System Console > Environment > Rate Limiting para ver o ajustar los límites de velocidad del servidor.