Automations let you run Replicas agents automatically, on a schedule, in response to GitHub events, when messages are posted in Slack channels, or whenever any external system hits a custom webhook URL. Use them for nightly maintenance, scheduled audits, automatic responses to PR activity, reacting to messages in Slack, wiring up a tool we don’t have a first-class integration for, and any other workflow you want to run without a human in the loop.Documentation Index
Fetch the complete documentation index at: https://docs.replicas.dev/llms.txt
Use this file to discover all available pages before exploring further.
Automations and the public API are the only sanctioned channels for programmatic use of Replicas. Driving the dashboard, Slack, Linear, GitHub, or CLI from scripts is prohibited under our Terms of Service.
How it works
Each automation has:- A prompt the agent will receive when the automation runs.
- An environment that supplies the repository (or repository set) plus any vars / files / skills / MCPs layered on top of Global.
- One or more triggers that decide when the automation fires.
Triggers
Five trigger types are supported today:Cron triggers
Run an automation on a recurring schedule defined by a standard cron expression. The minimum interval is 60 minutes between runs.GitHub triggers
Run an automation in response to events from your connected GitHub repositories. You can optionally filter a GitHub trigger to a specific subset of repositories. Supported events:- PR opened: fires when a pull request is created
- PR updated (new commits): fires when new commits are pushed to a pull request
- PR closed: fires when a pull request is closed or merged
- Attach to user: Resolves the GitHub user who triggered the event to a Replicas user in your organization and attaches them to the created workspace. This enables security policy enforcement for automation-created workspaces, ensuring that the same policies that apply to a user’s manual workspaces also apply when an automation runs on their behalf.
- Group PR events: Available on PR opened and PR updated (new commits) only. When enabled, later opened or synchronize events for a PR that already has a workspace from a prior run of the same automation route to that workspace as a follow-up message instead of spawning a new one. Works the same way as Slack’s Group thread replies.
Slack triggers
Run an automation when a new message is posted in a connected Slack workspace. You can optionally filter to specific channels. For example, only fire when someone posts in#nit. Bot messages and message edits are automatically ignored.
Slack triggers support two optional settings:
- Attach to user: Resolves the Slack user who posted the message (via their email) to a Replicas user in your organization, enabling security policy enforcement on the workspace. Works the same way as the GitHub trigger equivalent.
- Group thread replies (on by default): When a top-level message creates a workspace, subsequent replies in that thread are routed to the same workspace instead of spawning new ones. Turn this off if you want each message to always create its own workspace, regardless of threading.
Slack triggers require your organization to have Slack connected in Organization Settings. The Slack app must be subscribed to
message.channels events in the app configuration.Sentry triggers
Run an automation in response to events from your connected Sentry organization. You can optionally filter to specific Sentry projects, and set a minimum severity level so only events at or above the chosen level fire the automation. Supported events:- Issue alert fired (
event_alert.triggered): fires when one of your Sentry issue alerts is triggered. - New issue created (
issue.created): fires when Sentry opens a new issue. - New error event (
error.created): fires when a new error event is captured.
Sentry triggers require your organization to have Sentry connected in Organization Settings. See Sentry for how to connect.
Custom webhook triggers
If none of the built-in triggers fit your use case, add a custom webhook trigger. Replicas generates a unique URL for the automation, and anyone with the URL can fire it by sending an HTTPPOST with any JSON body:
{ "raw": "<body>" }) and embedded into the automation’s prompt under ## Trigger Payload, so your prompt can reference any fields the caller sent.
The endpoint returns 202 Accepted once the execution is queued. It does not wait for the workspace to spin up, so callers stay fast. Disabled automations, unknown tokens, and automations without a custom trigger all return 404 without distinguishing between the three.
The URL itself is the secret. Treat it like an API key: don’t check it into public repos or share it in logs. If the URL leaks, remove the custom trigger and re-add it to rotate the token.
Each trigger event can only be added once per automation. You can still combine distinct events, for example a GitHub pull_request.opened trigger plus a pull_request.synchronize trigger, but not two pull_request.opened triggers.
Plan availability and limits
Automations are available on every plan. Plans differ only in rate limits and the per-cycle pool of included minutes (see Billing).| Plan | Max automations | Org executions / hour | Per-automation executions / hour | Min cron interval |
|---|---|---|---|---|
| Hobby | 2 | 5 | 2 | 60 minutes |
| Developer | 5 | 20 | 5 | 60 minutes |
| Team | Unlimited | Unlimited | Unlimited | 60 minutes |
| Enterprise | Unlimited | Unlimited | Unlimited | 60 minutes |
Reliability
Automations include a circuit breaker: if an automation fails 5 times in a row, it is automatically disabled to prevent runaway behavior. You can re-enable it from the dashboard once the underlying issue is fixed. Every execution is recorded with its status (pending, creating, running, completed, or failed) and any error message.
Billing
Automation workspaces are metered separately from your seat subscription, at the same rate as API usage. See Billing for rates, rounding, and plan details.Templates
The automations page surfaces a small set of starter templates with their tags and triggers pre-filled, so you can stand up a useful automation in a few clicks instead of writing a prompt from scratch. Available templates today:- Code Review. Posts a single PR comment with an X/5 review score on PR opened and synchronized.
- DRY Code Check. Flags duplicated logic, parallel schemas, and reinvented utilities on PRs.
- No useEffects Check. Catches unnecessary
useEffectescape hatches in React PRs. - Documentation Sync. Verifies that docs and the changelog stay in sync with feature changes.