> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyshift.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Automation

> Control how Annie responds to messages with automation rules, action types, and source scoping.

## Overview

Automation lets you define **rules** that control what Annie does when it receives a Slack message: investigate, respond as a chat, offer a manual action, or stay silent.

Each rule follows one pattern:

> **If** \[sources] **send** \[condition] **in** \[channels] **then** Annie \[action]

Sources and channels are optional scopes (leave empty to apply anywhere). Annie evaluates rules **top to bottom, first match wins**. If none match, its AI decides between RCA and chat automatically. A **default action** is appended as extra context to every response.

## Action types

When a rule matches, Annie takes one of these actions:

<AccordionGroup>
  <Accordion icon="wand-magic-sparkles" title="Annie chooses">
    Annie's AI decides whether to run an RCA or respond as a chat; the rule just adds context. Best for general-purpose rules.
  </Accordion>

  <Accordion icon="magnifying-glass" title="Run investigation (RCA)">
    Annie performs a full root cause analysis, querying your connected integrations. Best for alerts that always need deep investigation.
  </Accordion>

  <Accordion icon="message" title="Ask Annie (chat)">
    Annie responds conversationally, using the rule's instructions as the prompt. Best for validation questions, quick lookups, or automated workflows.
  </Accordion>

  <Accordion icon="hand" title="Offer manual RCA">
    Annie acknowledges the alert and shows a "Start RCA" button so a teammate can trigger the investigation when ready. Best for low-priority or noisy sources.
  </Accordion>

  <Accordion icon="volume-xmark" title="Silently ignore">
    Annie does nothing: no message, no reaction. Best for known noise, test alerts, or bot messages.
  </Accordion>
</AccordionGroup>

## Rule scoping

Rules narrow on two optional, multi-value axes that combine with **AND**: **sources** (who sent the message) and **channels** (where it was posted). An empty source matches anyone; an empty channel matches any channel. Channels are workspace-aware, so `#infra-alerts` in one workspace won't match the same name in another.

<Tip>
  Subscribing a new bot or user auto-creates a catch-all "any message → Run investigation" rule for that source, which you can then customize or delete.
</Tip>

## The Automation page

<AccordionGroup>
  <Accordion icon="sliders" title="Default action">
    Extra context Annie always includes in responses (this is not a rule). Use it for formatting preferences, team conventions, or baseline steps: what Annie should consider, and how to structure replies.
  </Accordion>

  <Accordion icon="list-check" title="Rules">
    An ordered list of rules, first match wins, drag to reorder. Each rule sets sources, a natural-language condition, channels, an action, and optional instructions.
  </Accordion>

  <Accordion icon="users" title="Slack identities">
    Every Slack user and bot the rule engine can target. Each has a **Subscribed / Unsubscribed** toggle that controls what Annie does *outside* rules: **Subscribed** processes every message automatically (right for alerting bots like PagerDuty or Datadog); **Unsubscribed** only responds when tagged `@Annie` (right for human teammates). Rules can target any identity regardless of its toggle.
  </Accordion>

  <Accordion icon="clock-rotate-left" title="Duplicate alert detection">
    A time window for suppressing repeated alerts: Annie links to the existing investigation instead of starting a new one.
  </Accordion>
</AccordionGroup>

## Get Started

<CardGroup cols={2}>
  <Card title="Create Account" icon="user-plus" href="https://app.anyshift.io/">
    Sign up for Anyshift
  </Card>

  <Card title="Request Demo" icon="phone" href="https://calendly.com/roxane-fischer/30-zoom-meeting?back=1">
    See Automation in action
  </Card>
</CardGroup>
