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

# Automations

> Set up event-driven workflows that trigger Devin sessions automatically

Automations let you wire external events — Slack messages, GitHub webhooks, Linear ticket updates, schedules, and custom webhooks — to Devin sessions that start automatically. Instead of manually tagging Devin every time a bug is reported or a CI check fails, you define the trigger once and Devin handles each event as it arrives.

## Core concepts

An automation has three parts:

| Part           | What it does                                                                                                          |
| -------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Trigger**    | The event that fires the automation (e.g. a Slack message in `#bugs`, a GitHub CI failure, a Linear label change)     |
| **Conditions** | Optional filters that narrow the trigger (e.g. only fire when the label is `bug`, only for a specific repo)           |
| **Action**     | What Devin does when the trigger fires — start a new session, message an existing session, or act as a triage monitor |

### Action types

| Action                 | Description                                                                                                                                                                                                                                      |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Start session**      | Creates a new Devin session with the prompt you define. The event payload is automatically included as context.                                                                                                                                  |
| **Message session**    | Sends a message to an existing, long-running Devin session — useful for feeding events into a session that maintains state.                                                                                                                      |
| **Triage Devin**       | A persistent Devin that monitors a Slack channel. It watches every incoming message, decides what needs attention, and spawns child sub-devins for items that require investigation. See [Auto-triage](/product-guides/auto-triage) for details. |
| **Email notification** | Sends you an email when the automation runs — on every run, only on failures, or only on successes.                                                                                                                                              |

### Trigger sources

| Source       | Event types                                                            | Example use case                                                                               |
| ------------ | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| **Slack**    | New message, reaction added                                            | Triage bug reports in `#incidents`, react with 🚨 to start an investigation                    |
| **GitHub**   | Issue comment, PR opened/updated, PR review, check run (CI), push      | Auto-fix CI failures, respond to `/devin` comments on issues                                   |
| **Linear**   | Issue created, label added, status changed, priority changed, assigned | Triage bugs when labeled, implement tickets when assigned to Devin                             |
| **Schedule** | Recurring (cron-based)                                                 | Daily Sentry error sweeps, weekly dependency updates, nightly smoke tests                      |
| **Webhook**  | Incoming HTTP request                                                  | Wire any external system (PagerDuty, Datadog, Sentry, custom tools) to Devin via a webhook URL |

A single automation can have **multiple triggers** — they act as an OR, so the automation fires when any of its triggers match. For example, you can have one automation that fires on both a GitHub CI failure and a Slack reaction.

## Creating an automation

### From the automations page

1. Navigate to **Automations** in the sidebar
2. Click **Create automation** (or use the chat input to describe what you want in natural language — Devin will generate the automation config for you)
3. Configure the trigger, conditions, and action
4. Click **Save**

### From a template

1. Navigate to **Automations** in the sidebar
2. Click **View all examples** in the top-right of the **Featured automations** box
3. Browse the template gallery — each template is a pre-configured automation for a common workflow
4. Click a template to pre-fill the editor with its trigger, action, and suggested limits
5. Customize the configuration (e.g. select your Slack channel or repo) and save

### Using natural language

On the automations page, you can describe what you want in the chat input at the bottom — for example, "When a CI check fails on my-org/my-repo, have Devin fix it and push to the same branch." Devin will generate the automation configuration for you, which you can review and save.

## Configuring triggers

### Slack triggers

Slack triggers fire when a message is posted or a reaction is added in a channel where Devin has been invited.

* **Slack message**: Fires on new messages in a specific channel. You must select the channel when configuring the trigger.
* **Slack reaction**: Fires when a specific emoji reaction is added to a message (e.g. 🚨 for incidents). You can filter by the reaction name and the channel.

<Note>Devin must be invited to the Slack channel for the trigger to work. You must also have your personal Slack account connected in **Settings > Connections > Slack**.</Note>

### GitHub triggers

GitHub triggers fire on repository events. You must select a specific repository for each trigger.

* **Issue comment**: Fires when a comment is posted on a GitHub issue. Commonly used with a `starts_with "/devin"` condition so users can type `/devin` on any issue to trigger Devin.
* **Pull request**: Fires on PR events (opened, synchronized, etc.).
* **Pull request review**: Fires when a review is submitted on a PR.
* **Pull request review comment**: Fires on individual review comments.
* **Check run (CI)**: Fires when a CI check completes. Filter by `conclusion = failure` to auto-fix broken builds.
* **Push**: Fires on pushes to a branch.

<Note>GitHub automations only work with private repositories for security reasons.</Note>

### Linear triggers

Linear triggers fire on issue events in your connected Linear workspace. You must select a team for each trigger.

* **Issue created**: Fires when a new issue is created in the selected team.
* **Label added**: Fires when a label is applied to an issue (e.g. `bug`, `devin`).
* **Status changed**: Fires when an issue's status changes (e.g. moved to "In Progress").
* **Priority changed**: Fires when an issue's priority changes.
* **Assigned**: Fires when an issue is assigned to someone.

### Schedule triggers

Schedule triggers fire on a recurring basis using standard recurrence rules.

* **Recurring**: Set the frequency (hourly, daily, weekly) and time. Under the hood, schedules use the iCalendar RRULE format.

<Tip>Times are displayed in your local timezone but stored as UTC internally.</Tip>

### Webhook triggers

Webhook triggers let you connect any external system to Devin via a unique HTTPS endpoint.

1. Create an automation with a **Webhook** trigger
2. After saving, copy the webhook URL and secret from the automation detail page
3. Configure your external system (PagerDuty, Datadog, Sentry, or any custom tool) to send HTTP POST requests to this URL
4. Optionally add a **payload filter** — a regex pattern that the request body must match for the automation to fire

The webhook payload is included in the Devin session prompt as context. Payloads larger than 200 KB are automatically truncated.

## Configuring actions

### Start session

The most common action. When the trigger fires, Devin starts a new session with your prompt. The event payload (e.g. the Slack message text, GitHub webhook body, or Linear ticket details) is automatically appended to the prompt so Devin has full context.

Options:

* **Prompt**: The instructions Devin follows. Write this like you would a normal Devin prompt.
* **Playbook** (optional): Use `@playbook-name` in your prompt to include a [playbook](/product-guides/using-playbooks) for additional instructions.
* **Tags** (optional): Add tags to sessions created by this automation for easy filtering.

### Message session

Sends a message to an existing, long-running Devin session. Useful when you want a single persistent session to process events over time instead of spawning a new session for each event.

You must select the target session when configuring this action.

### Triage Devin (monitor)

Creates a persistent Devin session that monitors a Slack channel. See the [Auto-triage guide](/product-guides/auto-triage) for full details on this action type.

### Email notification

Sends an email notification when the automation runs. Choose when to notify:

* **Always** — on every invocation
* **On failure** — only when the session fails or errors
* **On success** — only when the session completes successfully

## Limits and safeguards

Automations include built-in controls to prevent runaway usage:

### ACU limit

Set a maximum ACU (Agent Compute Unit) budget per session started by this automation. If Devin hits the limit, the session stops. This prevents any single invocation from consuming excessive resources.

### Invocation limit

Set a cap on how many times the automation can fire within a time window. For example, "at most 10 invocations per hour" prevents a noisy Slack channel or a flurry of CI failures from spawning dozens of sessions.

Both fields are optional — if unset, the automation runs without limits.

### Network policy

You can enable a network policy to restrict which external hosts the automation's sessions can access. This is especially important for automations that process untrusted user input (e.g. Slack messages, webhook payloads). You can add specific domains to the allowlist if Devin needs to reach external services.

## MCP integrations

<Tip>Connecting MCP integrations is highly recommended — they dramatically improve automation quality by giving Devin access to runtime data like logs, metrics, and error details.</Tip>

Automations work with [MCP integrations](/work-with-devin/mcp) to give Devin access to external tools. When creating an automation, the **Connections** section shows which MCP servers are recommended and their connection status.

For example, the "Daily Sentry Error Fixes" template recommends the Sentry MCP so Devin can query Sentry for unresolved errors. The "Datadog Alert Investigation" template recommends the Datadog MCP for pulling metrics and traces.

Enable MCP servers in **Settings > Connections > MCP servers** before creating automations that need them.

## Slack tool access

By default, automation sessions can read and write to the Slack channels involved in the trigger. You can grant access to additional Slack channels in the **Slack tools** section of the automation editor. This is useful when Devin needs to read from multiple channels beyond the one that triggered the automation.

## Activity and monitoring

Each automation tracks its invocation history. On the automation detail page, the **Activity** tab shows:

* Recent invocations with timestamps
* Whether each invocation succeeded or was skipped
* Links to the Devin sessions that were created
* Error messages for failed invocations

The automations list page shows a sparkline for each automation, giving you a visual overview of activity over the past 30 days.

## Enabling and disabling

Toggle an automation on or off at any time from the automations list or detail page. Disabled automations stop processing events but retain their configuration. Re-enabling an automation resumes event processing immediately.

## Templates

Devin includes a library of pre-built automation templates for common workflows:

| Template                            | Category           | What it does                                                                       |
| ----------------------------------- | ------------------ | ---------------------------------------------------------------------------------- |
| Triage Bug Reports on Slack         | Monitoring         | Monitors a Slack channel and auto-triages incoming bug reports                     |
| Daily Sentry Error Fixes            | Monitoring         | Pulls top unresolved Sentry errors daily and opens fix PRs                         |
| Datadog Alert Investigation         | Monitoring         | Investigates Datadog alerts posted to Slack and replies with a root-cause analysis |
| Daily Health Digest                 | Monitoring         | Scans Datadog daily and posts a health summary to Slack                            |
| Stripe Failed Payment Investigation | Monitoring         | Investigates failed payment alerts in Slack via the Stripe MCP                     |
| Weekly Analytics Health Check       | Monitoring         | Checks Metabase dashboards weekly for broken queries and anomalies                 |
| CI Failure Fixer                    | CI/CD              | Auto-fixes failing CI checks on PRs                                                |
| /devin Issue Fix                    | CI/CD              | Responds to `/devin` comments on GitHub issues with a fix PR                       |
| CircleCI Failure Fix                | CI/CD              | Pulls CircleCI build logs on failure and pushes a fix                              |
| Customer Support Triage             | Triage             | Drafts responses to support messages in Slack                                      |
| Jira Ticket to PR                   | Triage             | Implements Jira tickets posted in Slack and opens a PR                             |
| Jam Bug Report Investigation        | Triage             | Investigates Jam recordings shared in Slack                                        |
| Nightly QA & Smoke Tests            | Maintenance        | Runs E2E tests nightly and files tickets for regressions                           |
| Weekly Dependency Updates           | Maintenance        | Scans for outdated packages and opens update PRs                                   |
| Weekly Changelog                    | Maintenance        | Compiles merged PRs into a categorized changelog                                   |
| Stale PR Cleanup                    | Maintenance        | Flags PRs with no recent activity and checks for merge conflicts                   |
| Security Vulnerability Scan         | Maintenance        | Weekly CVE scan with fix PRs for critical vulnerabilities                          |
| Cloudflare Security Audit           | Maintenance        | Weekly review of Cloudflare audit logs for suspicious activity                     |
| Weekly Status Digest to Notion      | Project Management | Compiles weekly progress into a Notion status update                               |
| Asana Sprint Progress Report        | Project Management | Posts a daily standup summary from Asana to Slack                                  |
| Figma Design Review on PR           | Code Quality       | Compares UI changes against Figma designs on PRs                                   |
| SonarQube Quality Gate Fix          | Code Quality       | Fixes SonarQube quality gate violations on failing CI checks                       |
| Dependency Vulnerability Scanner    | Security           | Daily CVE scan with severity-prioritized fix PRs                                   |
| Secret Scanner                      | Security           | Daily scan for leaked credentials and hardcoded secrets, with fix PRs              |
| Code Pattern Enforcer               | Security           | Compares your repo against a golden reference repo and opens alignment PRs         |
| SRE Health Checker                  | Security           | Weekly scan for deprecated APIs, missing error handling, and reliability gaps      |
| OWASP Security Hardening            | Security           | Weekly scan for OWASP Top 10 vulnerabilities with fix PRs                          |

To browse all templates, open the **Automations** page in the Devin app and click **View all examples** next to "Featured automations" above the chat input (or go directly to `/automations/templates`).
