OpenClaw

Canal Mattermost do OpenClaw

Empresarial
Médio

Conecte o OpenClaw ao Mattermost, a plataforma empresarial de mensagens de codigo aberto, permitindo que seu assistente de IA participe de mensagens diretas, canais de grupo e conversas de equipe. A integracao utiliza autenticacao por Bot Token e eventos WebSocket para comunicacao bidirecional em tempo real, com modos de chat flexiveis e politicas de controle de acesso granulares.

Info rápida
DificuldadeMédio
CategoriaEmpresarial
Recursos suportados5 / 6

Mattermost Recursos suportados

Mensagens de texto

Suportado

Mídia e arquivos

Suportado

Reações

Suportado

Threads

Suportado

Mensagens de voz

Não suportado

Chat em grupo

Suportado

Mattermost Pré-requisitos

  • Um servidor Mattermost (auto-hospedado ou na nuvem) com acesso de administrador para criar contas de bot
  • Uma conta de Bot com um Bot Token criado no System Console do Mattermost
  • A URL base do servidor Mattermost acessivel a partir do OpenClaw Gateway
  • OpenClaw Gateway instalado e em execucao
  • O plugin do Mattermost instalado via 'openclaw plugins install @openclaw/mattermost'

Mattermost Configuração rápida

1

Instalar o plugin do Mattermost

Execute 'openclaw plugins install @openclaw/mattermost' para adicionar o suporte ao Mattermost ao seu Gateway.

2

Criar uma conta de Bot no Mattermost

Acesse Mattermost System Console > Integrations > Bot Accounts. Clique em 'Add Bot Account', defina um nome de exibicao e descricao, e copie o Bot Token gerado. Certifique-se de que 'Enable Bot Account Creation' esteja definido como true em System Console > Integrations > Integration Management.

3

Configurar e iniciar

Adicione a configuracao do canal Mattermost ao arquivo ~/.openclaw/openclaw.json com seu botToken, baseUrl e as politicas desejadas. Inicie o Gateway com 'openclaw start'. Envie uma mensagem direta ao bot ou mencione-o com @ em um canal para verificar a conexao.

Mattermost Exemplo de configuração

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

Mattermost Documentação Detalhada

Visao Geral da Arquitetura

O OpenClaw se conecta ao Mattermost atraves da REST API e do fluxo de eventos WebSocket. Na inicializacao, o Gateway se autentica usando seu Bot Token, estabelece uma conexao WebSocket persistente e comeca a escutar eventos de mensagem. Quando uma mensagem corresponde ao gatilho do modo de chat ativo (mencao, prefixo ou todas as mensagens), o Gateway a encaminha para o seu agente de IA. A resposta do agente e publicada de volta no mesmo canal ou thread de DM via REST API do Mattermost. A integracao suporta recursos avancados, incluindo anexos de midia, reacoes a mensagens, respostas em threads e gerenciamento de canais de grupo - tornando-a uma das integracoes empresariais de canal mais completas disponiveis.
A conexao WebSocket se reconecta automaticamente caso a conexao seja interrompida.
Cada conta gera uma chave de sessao unica (agent:<agentId>:mattermost:<accountName>) para rastreamento independente de conversas.

Criando uma Conta de Bot

As contas de bot do Mattermost sao contas de servico dedicadas que nao consomem uma licenca de usuario. 1. Navegue ate System Console > Integrations > Bot Accounts. 2. Certifique-se de que 'Enable Bot Account Creation' esteja habilitado em Integration Management. 3. Clique em 'Add Bot Account' e preencha o nome de exibicao, descricao e icone. 4. Selecione a funcao apropriada (System Admin NAO e recomendado - use a funcao padrao Member). 5. Copie o Bot Token gerado imediatamente - ele nao sera exibido novamente. O bot deve ser adicionado a qualquer canal onde precise operar. Administradores de equipe ou administradores do sistema podem adicionar o bot aos canais manualmente, ou os usuarios podem convida-lo via @mencao.
openclaw.json
{
  "channels": {
    "mattermost": {
      "botToken": "your-bot-token",
      "baseUrl": "https://mattermost.example.com"
    }
  }
}
Armazene o Bot Token de forma segura. Se perdido, voce devera regenera-lo no System Console.
Contas de bot nao contam no limite de licencas do Mattermost.

Modos de Chat

O OpenClaw suporta tres modos de chat que controlam quando o bot responde a mensagens em canais: **oncall (padrao)** - O bot so responde quando e @mencionado pelo nome. Este e o modo mais seguro para canais movimentados, pois o bot permanece silencioso a menos que seja explicitamente invocado. **onmessage** - O bot responde a todas as mensagens de usuarios permitidos. Mais adequado para canais dedicados ao bot ou ambientes de baixo trafego onde cada mensagem deve receber uma resposta. **onchar** - O bot responde quando uma mensagem comeca com um caractere de prefixo especifico (ex.: '!' ou '/'). Configure os prefixos de gatilho com oncharPrefixes. Este modo e util quando voce deseja uma ativacao explicita, porem concisa, sem digitar o nome completo do bot.
openclaw.json
{
  "channels": {
    "mattermost": {
      "chatmode": "onchar",
      "oncharPrefixes": ["!", "/ai"]
    }
  }
}
Em DMs, o bot sempre responde a todas as mensagens, independentemente do modo de chat.
O modo oncall e recomendado para canais de equipe para evitar ruido.

Politicas de DM

As politicas de Direct Message (DM) controlam quem pode interagir com o bot por mensagens privadas. **pairing (padrao)** - Apenas usuarios explicitamente listados no array allowFrom podem enviar DM ao bot. Este e o modo mais restritivo, ideal para controlar exatamente quais usuarios tem acesso. **open** - Qualquer usuario do Mattermost que enviar uma DM ao bot recebera uma resposta. Use este modo quando quiser que o bot seja amplamente acessivel em toda a sua organizacao. O campo allowFrom aceita IDs de usuario do Mattermost. Voce pode encontrar o ID de um usuario em System Console > Users ou via API do Mattermost.
openclaw.json
{
  "channels": {
    "mattermost": {
      "dmPolicy": "pairing",
      "allowFrom": ["user-id-1", "user-id-2"]
    }
  }
}
Definir dmPolicy como 'open' permite que qualquer usuario do seu servidor Mattermost consuma cota de IA via DMs. Use com cautela em servidores grandes.

Politicas de Grupo e Canal

As politicas de grupo controlam em quais canais o bot participa ao receber mensagens de grupo. **allowlist (padrao)** - O bot so responde em canais explicitamente listados em groupAllowFrom. Mensagens em outros canais sao silenciosamente ignoradas. **open** - O bot responde em qualquer canal ao qual tenha sido adicionado. Isso e conveniente, mas pode levar a interacoes indesejadas se o bot for adicionado a muitos canais. O campo groupAllowFrom aceita IDs de canal do Mattermost. Voce pode encontrar o ID de um canal na URL do canal ou via API do Mattermost.
openclaw.json
{
  "channels": {
    "mattermost": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["channel-id-1", "channel-id-2"]
    }
  }
}
Use o modo allowlist em producao para evitar que o bot responda em canais nao pretendidos.
O bot deve ser membro do canal para receber mensagens, independentemente da politica de grupo.

Configuracao Multi-Account

O OpenClaw suporta a execucao de multiplas contas de bot do Mattermost simultaneamente, cada uma direcionada a um servidor Mattermost diferente ou operando com configuracoes distintas. Use o padrao accounts.<name> para configurar multiplas contas. Cada conta possui seu proprio Bot Token, URL base, modo de chat e politicas de acesso. Isso e util para organizacoes que operam multiplas instancias do Mattermost (ex.: producao e staging) ou quando diferentes equipes precisam de bots com comportamentos diferentes.
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"
        }
      }
    }
  }
}

Mensagens de Saida

Os agentes de IA podem enviar mensagens proativamente para canais e usuarios do Mattermost usando a acao de ferramenta mattermost. Isso permite notificacoes agendadas, alertas e atualizacoes automatizadas sem um gatilho do usuario. Formatos de destino suportados: * channel:<channel-id> - Enviar para um canal especifico por ID * user:<user-id> - Enviar uma mensagem direta para um usuario especifico por ID * @username - Enviar uma mensagem direta para um usuario pelo nome de usuario O bot deve ter permissao para publicar no canal de destino ou iniciar uma DM com o usuario de destino.
agent-action.json
{
  "action": "mattermost",
  "params": {
    "message": "Daily standup reminder: please post your updates!",
    "to": "channel:abc123def456"
  }
}
Use IDs de canal (nao nomes) para entrega confiavel. Nomes de canal podem ser renomeados.
O bot deve ser membro do canal de destino para publicar mensagens.

Recursos de Mensagens Avancadas

O Mattermost suporta uma ampla variedade de recursos de mensagem que o OpenClaw aproveita integralmente: **Anexos de Midia** - O bot pode enviar e receber imagens, arquivos e outros anexos. Midias compartilhadas pelos usuarios sao encaminhadas ao agente de IA para processamento. **Reacoes** - O bot pode adicionar reacoes com emoji a mensagens. Isso e util para confirmacoes ou indicadores de status. **Respostas em Threads** - O bot suporta o modelo de threads do Mattermost. Quando um usuario responde em um thread, o bot mantem o contexto dentro daquele thread. **Markdown** - O Mattermost renderiza Markdown nativamente, entao as respostas do bot podem incluir texto formatado, blocos de codigo, tabelas e links.
Respostas em threads ajudam a manter as conversas organizadas, especialmente em canais movimentados.
Anexos de arquivos estao sujeitos aos limites de tamanho de upload do seu servidor Mattermost.

Limites de Taxa e Melhores Praticas

O Mattermost aplica limites de taxa a sua REST API para proteger o desempenho do servidor. Os limites padrao sao: * 10 requisicoes por segundo por usuario (sustentado) * 100 requisicoes de capacidade de burst Esses limites se aplicam as chamadas de API da conta do bot, incluindo publicacao de mensagens, adicao de reacoes e upload de arquivos. Melhores praticas para implantacoes em producao: 1. Use o modo de chat oncall ou onchar em canais movimentados para reduzir chamadas de API desnecessarias. 2. Mantenha groupPolicy como allowlist para evitar que o bot responda em todos os canais. 3. Monitore o uso de API do bot em Mattermost System Console > Environment > Rate Limiting. 4. Para implantacoes de alto trafego, considere executar contas separadas para diferentes equipes.
Se o bot exceder os limites de taxa, o Mattermost retorna erros HTTP 429. O Gateway tentara novamente com backoff, mas uso excessivo sustentado pode exigir ajustes na configuracao.

Mattermost Referência de Configuração

enabled
Type: booleanDefault: true

Habilitar ou desabilitar o canal Mattermost

botToken
Type: stringDefault: ""

Bot Token obtido em Mattermost System Console > Bot Accounts

baseUrl
Type: stringDefault: ""

URL completa do seu servidor Mattermost (ex.: https://mattermost.example.com)

chatmode
Type: stringDefault: "oncall"

Modo de gatilho do chat: 'oncall' (mencao), 'onmessage' (todas) ou 'onchar' (prefixo)

oncharPrefixes
Type: string[]Default: []

Caracteres de prefixo que ativam o bot quando o chatmode e 'onchar'

dmPolicy
Type: stringDefault: "pairing"

Politica de acesso a DM: 'pairing' (somente lista permitida) ou 'open' (qualquer usuario)

allowFrom
Type: string[]Default: []

IDs de usuario do Mattermost autorizados a enviar DM ao bot (usado com dmPolicy: pairing)

groupPolicy
Type: stringDefault: "allowlist"

Politica de canal de grupo: 'allowlist' (somente canais especificados) ou 'open' (qualquer canal)

groupAllowFrom
Type: string[]Default: []

IDs de canal do Mattermost onde o bot pode responder (usado com groupPolicy: allowlist)

requireMention
Type: booleanDefault: true

Configuracao legada - prefira usar chatmode: 'oncall' em vez disso

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

Bot Token para uma conta especifica no modo multi-account

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

URL do servidor Mattermost para uma conta especifica

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

Modo de gatilho do chat para uma conta especifica

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

Politica de acesso a DM para uma conta especifica

Mattermost Perguntas Frequentes

Mattermost Solução de Problemas

O bot nao responde as mensagens

O modo de chat ou a politica de acesso pode estar filtrando as mensagens.

Verifique se o chatmode corresponde ao gatilho esperado (oncall requer @mencao, onchar requer um prefixo). Verifique se dmPolicy e allowFrom incluem o ID do usuario para DMs, ou se groupPolicy e groupAllowFrom incluem o ID do canal para mensagens de grupo.
A conexao WebSocket falha na inicializacao

A baseUrl esta incorreta, o Bot Token e invalido ou o servidor esta inacessivel.

Verifique se a baseUrl aponta para o servidor Mattermost correto (inclua o protocolo, ex.: https://). Certifique-se de que o Bot Token e valido e nao foi revogado. Verifique a conectividade de rede e as regras de firewall entre o Gateway e o servidor Mattermost.
O bot nao consegue publicar em um canal

O bot nao e membro do canal de destino.

Adicione o bot ao canal manualmente pelo Mattermost (clique em 'Add Members' no canal), ou convide-o mencionando seu nome de usuario com @. O bot deve ser membro do canal para publicar mensagens.
Anexos de midia nao estao sendo processados

As configuracoes de upload de arquivos do servidor Mattermost podem restringir tipos ou tamanhos de arquivo.

Verifique System Console > Environment > File Storage para limites de upload. Certifique-se de que a conta do bot tem permissao para acessar anexos de arquivo. Verifique se o Gateway consegue alcancar o endpoint de API de arquivos do Mattermost.
Erros de limite de taxa (HTTP 429) nos logs

O bot esta fazendo muitas requisicoes de API em um curto periodo.

Mude de onmessage para o modo oncall ou onchar para reduzir chamadas de API. Limite o numero de canais em que o bot esta ativo. Verifique System Console > Environment > Rate Limiting para visualizar ou ajustar os limites de taxa do servidor.