OpenClaw

Canal Mattermost OpenClaw

Entreprise
Moyen

Connectez OpenClaw a Mattermost, la plateforme de messagerie d'entreprise open-source, permettant a votre assistant IA de participer aux messages directs, aux canaux de groupe et aux conversations d'equipe. L'integration utilise l'authentification par Bot Token et les evenements WebSocket pour une communication bidirectionnelle en temps reel, avec des modes de chat flexibles et des politiques de controle d'acces granulaires.

Info rapide
DifficultéMoyen
CatégorieEntreprise
Fonctionnalités prises en charge5 / 6

Mattermost Fonctionnalités prises en charge

Messages texte

Pris en charge

Médias et fichiers

Pris en charge

Réactions

Pris en charge

Fils de discussion

Pris en charge

Messages vocaux

Non pris en charge

Discussion de groupe

Pris en charge

Mattermost Prérequis

  • Un serveur Mattermost (auto-heberge ou cloud) avec un acces administrateur pour creer des comptes bot
  • Un compte Bot avec un Bot Token cree dans la console systeme de Mattermost
  • L'URL de base du serveur Mattermost accessible depuis le Gateway OpenClaw
  • OpenClaw Gateway installe et en cours d'execution
  • Le plugin Mattermost installe via 'openclaw plugins install @openclaw/mattermost'

Mattermost Configuration rapide

1

Installer le plugin Mattermost

Executez 'openclaw plugins install @openclaw/mattermost' pour ajouter la prise en charge de Mattermost a votre Gateway.

2

Creer un compte Bot dans Mattermost

Accedez a Mattermost System Console > Integrations > Bot Accounts. Cliquez sur 'Add Bot Account', definissez un nom d'affichage et une description, puis copiez le Bot Token genere. Assurez-vous que 'Enable Bot Account Creation' est defini sur true dans System Console > Integrations > Integration Management.

3

Configurer et lancer

Ajoutez la configuration du canal Mattermost dans ~/.openclaw/openclaw.json avec votre botToken, baseUrl et les politiques souhaitees. Demarrez le Gateway avec 'openclaw start'. Envoyez un message direct au bot ou mentionnez-le avec @ dans un canal pour verifier la connexion.

Mattermost Exemple de configuration

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

Mattermost Documentation Détaillée

Vue d'ensemble de l'architecture

OpenClaw se connecte a Mattermost via son REST API et son flux d'evenements WebSocket. Au demarrage, le Gateway s'authentifie a l'aide de votre Bot Token, etablit une connexion WebSocket persistante et commence a ecouter les evenements de messages. Lorsqu'un message correspond au declencheur du mode de chat actif (mention, prefixe ou tous les messages), le Gateway le transmet a votre agent IA. La reponse de l'agent est publiee dans le meme canal ou fil de discussion DM via le REST API de Mattermost. L'integration prend en charge des fonctionnalites riches, notamment les pieces jointes multimedia, les reactions aux messages, les reponses en fil de discussion et la gestion des canaux de groupe, ce qui en fait l'une des integrations de canal d'entreprise les plus completes disponibles.
La connexion WebSocket se reconnecte automatiquement en cas de perte de connexion.
Chaque compte genere une cle de session unique (agent:<agentId>:mattermost:<accountName>) pour un suivi independant des conversations.

Creation d'un compte Bot

Les comptes bot Mattermost sont des comptes de service dedies qui ne consomment pas de licence utilisateur. 1. Accedez a System Console > Integrations > Bot Accounts. 2. Assurez-vous que 'Enable Bot Account Creation' est active dans Integration Management. 3. Cliquez sur 'Add Bot Account' et renseignez le nom d'affichage, la description et l'icone. 4. Selectionnez le role approprie (System Admin n'est PAS recommande — utilisez le role Member par defaut). 5. Copiez immediatement le Bot Token genere — il ne sera plus affiche par la suite. Le bot doit etre ajoute a tous les canaux dans lesquels il doit operer. Les administrateurs d'equipe ou les administrateurs systeme peuvent ajouter le bot aux canaux manuellement, ou les utilisateurs peuvent l'inviter via une @mention.
openclaw.json
{
  "channels": {
    "mattermost": {
      "botToken": "your-bot-token",
      "baseUrl": "https://mattermost.example.com"
    }
  }
}
Conservez le Bot Token en lieu sur. En cas de perte, vous devrez le regenerer depuis la System Console.
Les comptes bot ne sont pas comptabilises dans la limite de licences de votre Mattermost.

Modes de chat

OpenClaw prend en charge trois modes de chat qui controlent quand le bot repond aux messages dans les canaux : **oncall (par defaut)** — Le bot ne repond que lorsqu'il est mentionne par @nom. C'est le mode le plus sur pour les canaux a fort trafic, car le bot reste silencieux sauf s'il est explicitement invoque. **onmessage** — Le bot repond a chaque message des utilisateurs autorises. Ideal pour les canaux dedies au bot ou les environnements a faible trafic ou chaque message doit recevoir une reponse. **onchar** — Le bot repond lorsqu'un message commence par un caractere prefixe specifique (par ex. '!' ou '/'). Configurez les prefixes declencheurs avec oncharPrefixes. Ce mode est utile lorsque vous souhaitez une activation explicite mais concise sans taper le nom complet du bot.
openclaw.json
{
  "channels": {
    "mattermost": {
      "chatmode": "onchar",
      "oncharPrefixes": ["!", "/ai"]
    }
  }
}
En DM, le bot repond toujours a tous les messages quel que soit le mode de chat.
Le mode oncall est recommande pour les canaux d'equipe afin d'eviter le bruit.

Politiques DM

Les politiques de messages directs (DM) controlent qui peut interagir avec le bot via les messages prives. **pairing (par defaut)** — Seuls les utilisateurs explicitement listes dans le tableau allowFrom peuvent envoyer des DM au bot. C'est le mode le plus restrictif, ideal pour controler precisement quels utilisateurs ont acces. **open** — Tout utilisateur Mattermost qui envoie un DM au bot recevra une reponse. Utilisez ce mode lorsque vous souhaitez que le bot soit largement accessible dans votre organisation. Le champ allowFrom accepte les identifiants utilisateur Mattermost. Vous pouvez trouver l'identifiant d'un utilisateur dans System Console > Users, ou via l'API Mattermost.
openclaw.json
{
  "channels": {
    "mattermost": {
      "dmPolicy": "pairing",
      "allowFrom": ["user-id-1", "user-id-2"]
    }
  }
}
Definir dmPolicy sur 'open' permet a n'importe quel utilisateur de votre serveur Mattermost de consommer du quota IA via les DM. A utiliser avec precaution sur les serveurs de grande taille.

Politiques de groupe et de canal

Les politiques de groupe controlent dans quels canaux le bot participe lorsqu'il recoit des messages de groupe. **allowlist (par defaut)** — Le bot ne repond que dans les canaux explicitement listes dans groupAllowFrom. Les messages dans les autres canaux sont ignores silencieusement. **open** — Le bot repond dans n'importe quel canal auquel il a ete ajoute. C'est pratique mais peut entrainer des interactions non souhaitees si le bot est ajoute a de nombreux canaux. Le champ groupAllowFrom accepte les identifiants de canal Mattermost. Vous pouvez trouver l'identifiant d'un canal a partir de l'URL du canal ou via l'API Mattermost.
openclaw.json
{
  "channels": {
    "mattermost": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["channel-id-1", "channel-id-2"]
    }
  }
}
Utilisez le mode allowlist en production pour empecher le bot de repondre dans des canaux non prevus.
Le bot doit etre membre du canal pour recevoir des messages, quelle que soit la politique de groupe.

Configuration multi-comptes

OpenClaw prend en charge l'execution simultanee de plusieurs comptes bot Mattermost, chacun ciblant un serveur Mattermost different ou fonctionnant avec des configurations differentes. Utilisez le modele accounts.<name> pour configurer plusieurs comptes. Chaque compte possede son propre Bot Token, URL de base, mode de chat et politiques d'acces. Cette fonctionnalite est utile pour les organisations utilisant plusieurs instances Mattermost (par ex. production et staging) ou lorsque differentes equipes necessitent des bots avec des comportements differents.
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"
        }
      }
    }
  }
}

Messagerie sortante

Les agents IA peuvent envoyer proactivement des messages aux canaux et utilisateurs Mattermost a l'aide de l'action d'outil mattermost. Cela permet les notifications planifiees, les alertes et les mises a jour automatisees sans declenchement par un utilisateur. Formats de cible pris en charge : - channel:<channel-id> — Envoyer a un canal specifique par identifiant - user:<user-id> — Envoyer un message direct a un utilisateur specifique par identifiant - @username — Envoyer un message direct a un utilisateur par son nom d'utilisateur Le bot doit avoir la permission de publier dans le canal cible ou d'initier un DM avec l'utilisateur cible.
agent-action.json
{
  "action": "mattermost",
  "params": {
    "message": "Daily standup reminder: please post your updates!",
    "to": "channel:abc123def456"
  }
}
Utilisez les identifiants de canal (et non les noms) pour une livraison fiable. Les noms de canal peuvent etre renommes.
Le bot doit etre membre du canal cible pour publier des messages.

Fonctionnalites de messages enrichis

Mattermost prend en charge un large eventail de fonctionnalites de messagerie qu'OpenClaw exploite pleinement : **Pieces jointes multimedia** — Le bot peut envoyer et recevoir des images, des fichiers et d'autres pieces jointes. Les medias partages par les utilisateurs sont transmis a l'agent IA pour traitement. **Reactions** — Le bot peut ajouter des reactions emoji aux messages. Cela est utile pour les accusés de reception ou les indicateurs de statut. **Reponses en fil de discussion** — Le bot prend en charge le modele de threads de Mattermost. Lorsqu'un utilisateur repond dans un fil, le bot maintient le contexte au sein de ce fil. **Markdown** — Mattermost affiche nativement le Markdown, permettant aux reponses du bot d'inclure du texte formate, des blocs de code, des tableaux et des liens.
Les reponses en fil de discussion aident a organiser les conversations, en particulier dans les canaux a fort trafic.
Les pieces jointes sont soumises aux limites de taille de telechargement de votre serveur Mattermost.

Limites de debit et bonnes pratiques

Mattermost applique des limites de debit a son REST API pour proteger les performances du serveur. Les limites par defaut sont : - 10 requetes par seconde par utilisateur (en continu) - Capacite de rafale de 100 requetes Ces limites s'appliquent aux appels API du compte bot, y compris la publication de messages, l'ajout de reactions et le telechargement de fichiers. Bonnes pratiques pour les deploiements en production : 1. Utilisez le mode de chat oncall ou onchar dans les canaux a fort trafic pour reduire les appels API inutiles. 2. Conservez groupPolicy en mode allowlist pour empecher le bot de repondre dans tous les canaux. 3. Surveillez l'utilisation API du bot dans Mattermost System Console > Environment > Rate Limiting. 4. Pour les deploiements a fort trafic, envisagez d'executer des comptes separes pour differentes equipes.
Si le bot depasse les limites de debit, Mattermost renvoie des erreurs HTTP 429. Le Gateway reessaiera avec un delai progressif, mais une surcharge soutenue peut necessiter des ajustements de configuration.

Mattermost Référence de Configuration

enabled
Type: booleanDefault: true

Activer ou desactiver le canal Mattermost

botToken
Type: stringDefault: ""

Bot Token depuis Mattermost System Console > Bot Accounts

baseUrl
Type: stringDefault: ""

URL complete de votre serveur Mattermost (par ex. https://mattermost.example.com)

chatmode
Type: stringDefault: "oncall"

Mode de declenchement du chat : 'oncall' (mention), 'onmessage' (tous), ou 'onchar' (prefixe)

oncharPrefixes
Type: string[]Default: []

Caracteres prefixes qui declenchent le bot lorsque chatmode est 'onchar'

dmPolicy
Type: stringDefault: "pairing"

Politique d'acces DM : 'pairing' (liste autorisee uniquement) ou 'open' (tout utilisateur)

allowFrom
Type: string[]Default: []

Identifiants utilisateur Mattermost autorises a envoyer des DM au bot (utilise avec dmPolicy: pairing)

groupPolicy
Type: stringDefault: "allowlist"

Politique de canal de groupe : 'allowlist' (canaux specifies uniquement) ou 'open' (tout canal)

groupAllowFrom
Type: string[]Default: []

Identifiants de canal Mattermost dans lesquels le bot est autorise a repondre (utilise avec groupPolicy: allowlist)

requireMention
Type: booleanDefault: true

Parametre obsolete — preferez utiliser chatmode: 'oncall' a la place

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

Bot Token pour un compte specifique en mode multi-comptes

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

URL du serveur Mattermost pour un compte specifique

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

Mode de declenchement du chat pour un compte specifique

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

Politique d'acces DM pour un compte specifique

Mattermost Questions Fréquentes

Mattermost Dépannage

Le bot ne repond pas aux messages

Le mode de chat ou la politique d'acces peut filtrer les messages.

Verifiez que chatmode correspond au declencheur attendu (oncall necessite une @mention, onchar necessite un prefixe). Verifiez que dmPolicy et allowFrom incluent l'identifiant de l'utilisateur pour les DM, ou que groupPolicy et groupAllowFrom incluent l'identifiant du canal pour les messages de groupe.
La connexion WebSocket echoue au demarrage

La baseUrl est incorrecte, le Bot Token est invalide ou le serveur est inaccessible.

Verifiez que baseUrl pointe vers le bon serveur Mattermost (incluez le protocole, par ex. https://). Assurez-vous que le Bot Token est valide et n'a pas ete revoque. Verifiez la connectivite reseau et les regles de pare-feu entre le Gateway et le serveur Mattermost.
Le bot ne peut pas publier dans un canal

Le bot n'est pas membre du canal cible.

Ajoutez le bot au canal manuellement via Mattermost (cliquez sur 'Add Members' dans le canal), ou invitez-le en mentionnant son nom d'utilisateur avec @. Le bot doit etre membre du canal pour publier des messages.
Les pieces jointes multimedia ne sont pas traitees

Les parametres de telechargement de fichiers du serveur Mattermost peuvent restreindre les types ou tailles de fichiers.

Verifiez System Console > Environment > File Storage pour les limites de telechargement. Assurez-vous que le compte bot a la permission d'acceder aux pieces jointes. Verifiez que le Gateway peut atteindre le point de terminaison API de fichiers de Mattermost.
Erreurs de limite de debit (HTTP 429) dans les journaux

Le bot effectue trop de requetes API en peu de temps.

Passez du mode onmessage au mode oncall ou onchar pour reduire les appels API. Limitez le nombre de canaux dans lesquels le bot est actif. Verifiez System Console > Environment > Rate Limiting pour consulter ou ajuster les limites de debit cote serveur.