> ## Documentation Index
> Fetch the complete documentation index at: https://allhandsai-tech-notes-llm-key-protection.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating Automations

> Learn how to create scheduled automations using the Automation Skill.

<Info>
  **Beta Feature**: Automations is currently in beta and available for **OpenHands Cloud** and **OpenHands Enterprise** users only.
</Info>

The easiest way to create an automation is to ask OpenHands directly. The Automation Skill handles all the details—you just describe what you want.

## Prompt vs Plugin Automations

There are two types of automations:

<Tabs>
  <Tab title="Prompt-based">
    Most automations are prompt-based. Just describe the task in natural language:

    ```
    Create an automation called "Daily Standup Summary" that runs every weekday 
    at 9 AM Eastern. It should check our GitHub repo for PRs merged yesterday 
    and post a summary to #engineering on Slack.
    ```

    This is all you need for reports, monitoring, data syncs, and most common tasks.
  </Tab>

  <Tab title="Plugin-based">
    For specialized capabilities, include one or more plugins from the [OpenHands extensions repository](https://github.com/OpenHands/extensions):

    ```
    Create an automation using the code-review plugin that runs every weekday 
    at 9 AM. It should review any Python files changed in the last 24 hours.
    ```

    Plugins provide additional skills, MCP configurations, or custom commands that extend what the automation can do.
  </Tab>
</Tabs>

The agent will:

1. Confirm the automation name and what it does
2. Set up the schedule you requested
3. Create the automation (with plugins if specified)

Once created, it runs automatically on schedule.

## What to Include in Your Request

When asking OpenHands to create an automation, include:

* **What it should do**: Describe the task clearly
* **When it should run**: Daily, weekly, every hour, etc.
* **Timezone** (optional): Defaults to UTC if not specified
* **Name** (optional): The agent can suggest one based on your description
* **Plugins** (optional): Mention specific plugins if you need extended capabilities

## Writing Good Automation Prompts

The prompt is what the AI agent executes each time the automation runs. Write it like you're giving instructions to a capable assistant.

### Be Specific

<Tabs>
  <Tab title="❌ Too Vague">
    ```
    Generate a report
    ```
  </Tab>

  <Tab title="✅ Clear & Actionable">
    ```
    Generate a weekly status report that:
    1. Lists all GitHub PRs merged in the last 7 days
    2. Summarizes open issues by priority
    3. Formats everything as markdown
    4. Posts to the #team-updates Slack channel
    ```
  </Tab>
</Tabs>

### Include Where to Send Results

Tell the automation what to do with its output:

* "Post to the #alerts Slack channel" (requires [Slack MCP](/openhands/usage/cloud/slack-installation))
* "Save to `reports/weekly-summary.md`"
* "Create a GitHub issue with the findings" (automatic if you logged in with GitHub)
* "Send a message via the configured notification service"

<Note>
  Git providers you logged in with (GitHub, GitLab, Bitbucket) are automatically available. Other services like Slack require [MCP configuration](/openhands/usage/settings/mcp-settings).
</Note>

### Specify Error Handling

For monitoring tasks, explain what should happen when things go wrong:

```
Check the health endpoint at https://api.example.com/health.
If it returns anything other than 200 OK, send an alert to #ops 
with the status code and response body.
If it's healthy, just log success without alerting.
```

## What Your Automation Can Access

Each automation runs in a full OpenHands sandbox with:

* **Terminal access**: Run any bash commands
* **File operations**: Create, read, and modify files
* **Your LLM**: Uses your configured model from settings
* **Your secrets**: Access API keys stored in Settings > Secrets
* **MCP integrations**: Use your configured MCP servers
* **Network access**: Make HTTP requests, connect to APIs
* **Git provider access**: Tokens from your Cloud login (GitHub, GitLab, or Bitbucket) are automatically included

## Schedules

Tell OpenHands when you want the automation to run in plain language:

* "every weekday at 9 AM"
* "every Monday morning"
* "hourly"
* "every 15 minutes"
* "first day of each month"
* "twice a day at 9 AM and 5 PM"

The agent converts this to the appropriate cron schedule.

<Tip>
  If you're familiar with cron expressions, you can specify them directly: "Run on cron schedule `0 9 * * 1-5`"
</Tip>

## After Creation

Once your automation is created:

* **It starts enabled** by default and will run on the next scheduled time
* **You can view past runs** in the OpenHands UI
* **Each run creates a conversation** you can review or continue
* **You can disable, update, or delete it** anytime (see [Managing Automations](/openhands/usage/automations/managing-automations))

## Next Steps

* [Automations overview & examples](/openhands/usage/automations/overview)
* [Manage your automations](/openhands/usage/automations/managing-automations)
