Skip to main content
Software Delivery & Engineering OpsLast reviewed 2026-09-20

ChatOps

Conducting operations in the chat surface where the team already works: bots and commands that execute real actions, with authorization, audit and a shared transcript of who did what.

Overview

Read the full ChatOps guidance
WHAT IT IS ChatOps is the practice of performing and recording operational work inside the team's chat surface: bots that execute deployments, queries and remediations; approvals that happen in-channel; and a transcript that becomes a shared, timestamped record of who did what during an event. **Not this:** ChatOps is not IncidentOps: it is the surface through which operational actions are invoked and recorded, not the incident process of detection, command, communication and review. WHY IT EXISTS Operational knowledge concentrates in the people who know which terminal to open. Moving common actions into a shared surface distributes that capability and, more importantly, makes the work observable: everyone in the channel sees the action, its output and its consequence, which is worth a great deal during an incident and again during the review. The transcript is a genuine artifact, not a by-product. WHEN TO USE IT Adopt it when operational actions are concentrated in a few people, when incident timelines have to be reconstructed from memory, or when onboarding an on-call engineer means teaching them a folder of local scripts. Do not adopt it to avoid building proper tooling — a chat command wrapping an unsafe operation is still an unsafe operation, now easier to invoke. WHO OWNS IT The platform or operations team owns the bot, its command surface and its integrations. Security owns the authorization model — this is the item most often skipped, because chat feels informal while the actions are not. Each command's owning team owns what it does. The incident process that uses the surface belongs to /incidentops. WHAT GOOD LOOKS LIKE Commands authenticate and authorize the invoking person against the same model as every other interface, rather than trusting channel membership. Destructive actions require explicit confirmation and are recorded in the audit trail, not only in the chat log. Output is legible in-channel. Commands are discoverable and documented in the surface itself. The dependency is understood: a team that can only operate through chat has made its chat provider a production dependency, and needs a defined path for when it is unavailable. HOW TO IMPLEMENT Start with read-only commands — status, health, recent deploys — which deliver most of the shared-context benefit with none of the risk. Build the authorization model before the first action that changes anything, mapping chat identity to the same roles your other interfaces use. Add write commands narrowly, each with confirmation and audit. Document the fallback for when chat is down. Keep the command set small enough to remember; an undiscoverable command is an unused one. The procedures the commands support belong in /runbooks. HOW TO ASSESS YOURSELF Ask whether a chat command could be run by someone who should not be able to run it. Ask what happens operationally if the chat provider is unavailable. Ask whether last month's incident timeline could be reconstructed from the transcript. Take the scored self-assessment at /assess and plan with /roadmaps.

Capabilities

  • Chat action audit

    Recording actions invoked through chat in the real audit trail, not only in the conversation log.

  • Chat command authorization

    Authorizing the invoking person against the same model as every other interface, rather than trusting channel membership.

  • Chat-independent fallback

    A defined way to operate when the chat provider is unavailable, since chat-only operation makes it a production dependency.

  • Command discoverability

    A command set small and documented enough in-surface to be remembered and used.

  • Shared operational visibility

    Read-only status and health commands that give the channel shared context at no operational risk.

Practices

  • Command surface review

    Periodically pruning commands nobody uses and re-checking who is authorized to run the rest.

  • Game day

    A scheduled exercise where a failure is injected with the responders present and the learning captured.

Metrics

  • Chat command usage

    How often operational commands are invoked through the shared surface rather than privately.

    Unit: invocations per week. Good direction: up.

  • Timeline reconstructability

    Share of incidents whose timeline can be rebuilt from the transcript without asking people to remember.

    Unit: percent. Good direction: up.

  • Unauthorized command attempts

    Attempts to invoke a command the person is not entitled to run, which should be recorded and reviewed.

    Unit: attempts per quarter. Good direction: down.

Tools

  • Mattermost

    Self-hostable team chat with slash commands and integrations, used where chat must stay inside the estate.

    Visit site ↗
  • Microsoft Teams

    Collaboration platform with bot and workflow extensibility used for in-channel operational actions and approvals.

    Visit site ↗
  • Slack

    Team chat platform with an app and slash-command surface commonly used to host operational commands.

    Visit site ↗

Architecture patterns

Reference architectures and their trade-offs live in the blueprints library.

Maturity

  1. L1 ReactiveOperational knowledge lives in private terminalsrequired stage

    Actions happen where nobody can see them, and incident timelines are reconstructed from memory afterwards.

  2. L2 RepeatableRead-only status commands are shared in-channelrequired stage

    The team gains shared context with no operational risk, and the transcript starts becoming useful.

  3. L3 StandardizedCommands authorize the caller like any other interface

    Chat identity maps to the same roles as everywhere else, rather than trusting who is in the channel.

  4. L4 MeasuredActions are confirmed and land in the real audit trail

    Destructive operations require explicit confirmation and are recorded outside the chat log.

  5. L5 OptimizedThe chat dependency is understood and has a fallback

    A documented path exists for operating when the provider is unavailable, and the command set is pruned to what is used.

Maturity for chatops is measured, not guessed — every score traces to your answers. See how maturity is scored.

Put it to work

Sources