Classify and route DevOps chat requests with Mattermost and Claude

Go to Workflow
8 views
Built by Sergei Byvshev Sergei Byvshev
Created on June 07, 2026

Description

Automatically classify and route DevOps requests from your team chat using LLM + on-call calendar lookup.
What it does
This workflow turns your Mattermost channel into a smart DevOps intake system. When someone mentions @devops-duty, the workflow:

Receives the message via Mattermost outgoing webhook
Classifies the request into one of 8 categories using an LLM
Looks up the current on-call engineer from Google Calendar
Routes the request through a Switch node based on category
Acknowledges in a Mattermost thread with the classification result

Categories
create_resource - Provision new databases, secrets, services, DNS records
incident - Something is broken — production or staging issues
question - Information requests, status checks, clarifications
ci_cd_error - Build failures, deployment issues, GitHub Actions problems
limits - Billing limits, quotas exceeded
change_request - Modify existing infrastructure or configuration
`code_approve - Code review and merge request approvals
other - Anything that doesn't fit above

Extending
Each Switch output is an independent branch — connect sub-workflows or additional nodes per category. For example:

incident → trigger an AI investigation sub-workflow with MCP tools (Kubernetes, Grafana, etc.)
create_resource → run a provisioning playbook
ci_cd_error → fetch GitHub Actions logs and analyze failures

Connect these workflows:
incident
new_system, modify infrastructure
ci_cd_error
question

Nodes Used (9)

AI Agent
@n8n/n8n-nodes-langchain.agent
Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
Embeddings Google Gemini
@n8n/n8n-nodes-langchain.embeddingsGoogleGemini
Google Calendar
n8n-nodes-base.googleCalendar
Mattermost
n8n-nodes-base.mattermost
MCP Client Tool
@n8n/n8n-nodes-langchain.mcpClientTool
OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter
Qdrant Vector Store
@n8n/n8n-nodes-langchain.vectorStoreQdrant