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

# List Automations

> Returns a paginated list of automations for your organization.



## OpenAPI

````yaml /openapi.json get /v1/automations
openapi: 3.1.0
info:
  title: Replica API
  version: 2.0.0
  description: >-
    The Replica API allows you to programmatically manage cloud workspaces for
    AI agents. Use this API to manage environments (the org-scoped primitive
    workspaces are created from — including variables, files, skills, MCPs, warm
    hooks, start hooks, and warm pools), create and manage replicas, send
    messages, manage chats, stream events, read connected repositories and
    repository sets, and configure automations.
servers:
  - url: https://api.tryreplicas.com
    description: Production API
security:
  - apiKey: []
tags:
  - name: Environments
    description: >-
      Manage environments — the primitive that workspaces are created from.
      Variables, files, skills, MCPs, warm-hooks, and warm-pools are all scoped
      to an environment. Every organization has a singleton Global environment
      whose values apply to every workspace. Personal environments are scoped to
      the authenticated user and can be standalone or source-backed by a team
      environment.
  - name: Repository
    description: >-
      Read repositories and repository sets connected to your organization.
      Repositories are the underlying GitHub-connection layer; bind them to an
      environment to use them in workspaces.
  - name: Replica
    description: Manage replicas (workspaces) for AI agents
  - name: Terminal
    description: Manage interactive terminal sessions in active workspaces
  - name: Preview
    description: Manage public preview URLs for workspace ports
  - name: Profile
    description: Read and update the authenticated user's profile
  - name: Credentials
    description: >-
      Manage coding-agent credentials for an organization or the authenticated
      user
  - name: Google Search Console
    description: >-
      Read Search Console properties, performance, sitemaps, and URL inspection
      results through a connected Google account
  - name: Slack
    description: Route Slack threads to Replicas workspaces
  - name: Automation
    description: >-
      Create and manage automations that trigger replicas on a schedule or in
      response to events
  - name: Downloads
    description: Download Replicas applications
  - name: Analytics
    description: >-
      Read aggregated activity and usage metrics for your organization: compute
      minutes, workspaces created by source, and pull request throughput over a
      time range.
  - name: Presence
    description: >-
      Read and report ephemeral member presence: who is online, where they are
      (environment or workspace), and whether they are typing. Presence is
      backed by short-lived keys rather than the database and broadcast to other
      members over the events stream.
paths:
  /v1/automations:
    get:
      tags:
        - Automation
      summary: List Automations
      description: Returns a paginated list of automations for your organization.
      operationId: listAutomations
      parameters:
        - name: page
          in: query
          description: Page number for pagination
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
        - name: limit
          in: query
          description: Number of items per page
          required: false
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
        - name: trigger_type
          in: query
          description: >-
            Restrict the result set to automations that have at least one
            trigger of the given type. Pass `all` (or omit) to disable the
            filter.
          required: false
          schema:
            type: string
            enum:
              - all
              - cron
              - github
              - gitlab
              - slack
              - sentry
              - custom
        - name: enabled
          in: query
          description: >-
            Restrict the result set to automations matching this enabled state.
            Omit to include both enabled and disabled automations.
          required: false
          schema:
            type: boolean
        - name: search
          in: query
          description: >-
            Case-insensitive substring match against the automation name.
            Whitespace is trimmed before matching.
          required: false
          schema:
            type: string
        - name: scope
          in: query
          description: >-
            Filter by automation scope. `org` returns org-owned automations,
            `user` returns your personal automations, `all` returns both.
          required: false
          schema:
            type: string
            enum:
              - org
              - user
              - all
            default: org
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAutomationsResponse'
        '400':
          description: Invalid query parameter (e.g. unknown trigger_type)
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ListAutomationsResponse:
      type: object
      description: Paginated list of automations
      properties:
        automations:
          type: array
          items:
            $ref: '#/components/schemas/AutomationRecord'
        total:
          type: integer
          description: Total number of automations
        page:
          type: integer
          description: Current page number
        limit:
          type: integer
          description: Number of items per page
        totalPages:
          type: integer
          description: Total number of pages
      required:
        - automations
        - total
        - page
        - limit
        - totalPages
    AutomationRecord:
      type: object
      description: An automation record
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the automation
        organization_id:
          type: string
          format: uuid
          description: Organization that owns this automation
        name:
          type: string
          description: Human-readable name for the automation
        description:
          type:
            - string
            - 'null'
          description: Optional description
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/AutomationTrigger'
          description: Triggers that fire this automation
        prompt:
          type: string
          description: The instruction sent to the coding agent when the automation fires
        debounce_seconds:
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 86400
          description: >-
            Optional per-automation debounce window in seconds. When set and
            greater than 0, bursty trigger events update one pending run for
            this automation and the latest payload runs after the automation
            stops receiving events for this many seconds. Null or 0 disables
            debouncing.
        environment_id:
          type: string
          format: uuid
          description: >-
            ID of the environment this automation runs in. The environment
            supplies the repository (or repository set) and the env vars / MCPs
            / skills layered on top of the org-wide Global environment.
        enabled:
          type: boolean
          description: Whether the automation is active
        webhook_token:
          type:
            - string
            - 'null'
          description: >-
            Unique token for the automation's custom webhook. Present only when
            a `custom` trigger is configured. The public webhook URL is `POST
            /v1/automations/webhook/{webhook_token}`. Treat the token like an
            API key: the URL alone is enough to fire the automation.
        cron_expression:
          type:
            - string
            - 'null'
          description: Derived cron expression (from the cron trigger, if any)
        cron_timezone:
          type:
            - string
            - 'null'
          description: Timezone for the cron schedule
        cron_next_fire_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Next scheduled fire time for cron automations
        user_id:
          type:
            - string
            - 'null'
          format: uuid
          description: User ID for personal automations, null for org-owned automations
        created_by:
          type:
            - string
            - 'null'
          format: uuid
          description: User who created the automation
        workspace_lifecycle_policy:
          type: string
          description: Lifecycle policy for workspaces created by this automation
          enum:
            - default
            - archive_when_done
            - sleep_when_done
            - delete_after_inactivity
        workspace_auto_stop_minutes:
          type:
            - integer
            - 'null'
          description: >-
            Inactivity timeout in minutes (3-1440) for default keep-alive and
            delete_after_inactivity policies
          minimum: 3
          maximum: 1440
        workspace_size:
          type:
            - string
            - 'null'
          description: >-
            Compute size for workspaces fired off by this automation. Defaults
            to `small` when omitted.
          enum:
            - small
            - large
            - null
        config:
          $ref: '#/components/schemas/WorkspaceConfig'
        agent_provider:
          type:
            - string
            - 'null'
          description: >-
            Coding agent override for this automation. Null inherits the
            organization default.
          enum:
            - claude
            - codex
            - cursor
            - opencode
            - pi
            - null
        model:
          type:
            - string
            - 'null'
          description: Model override for this automation. Null uses the agent default.
        thinking_level:
          type:
            - string
            - 'null'
          description: >-
            Thinking/reasoning level override for this automation. `ultra` is
            Codex-only; `ultracode` is Claude Code-only.
          enum:
            - low
            - medium
            - high
            - xhigh
            - max
            - ultra
            - ultracode
            - null
        plan_mode:
          type: boolean
          description: Whether automation messages run in plan mode.
        goal_mode:
          type:
            - boolean
            - 'null'
          description: >-
            Whether automation messages are set as Codex goals. Null inherits
            the resolved agent default; false explicitly disables it. Only
            applies when the resolved agent is Codex.
        fast_mode:
          type:
            - boolean
            - 'null'
          description: >-
            Whether automation messages run in fast mode. Null inherits the
            resolved agent default; false explicitly disables it.
        created_at:
          type: string
          format: date-time
          description: When the automation was created
        updated_at:
          type: string
          format: date-time
          description: When the automation was last updated
      required:
        - id
        - organization_id
        - name
        - description
        - triggers
        - prompt
        - debounce_seconds
        - environment_id
        - enabled
        - user_id
        - webhook_token
        - cron_expression
        - cron_timezone
        - cron_next_fire_at
        - created_by
        - workspace_lifecycle_policy
        - workspace_auto_stop_minutes
        - workspace_size
        - config
        - agent_provider
        - model
        - thinking_level
        - plan_mode
        - goal_mode
        - fast_mode
        - created_at
        - updated_at
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        details:
          type:
            - string
            - 'null'
          description: Additional error details
      required:
        - error
    AutomationTrigger:
      type: object
      description: A trigger that determines when an automation fires
      properties:
        type:
          type: string
          description: The trigger type
          enum:
            - cron
            - github
            - gitlab
            - slack
            - sentry
            - custom
        config:
          description: >-
            Trigger-specific configuration. When `type` is `cron`, this is a
            `CronTriggerConfig`. When `type` is `github`, this is a
            `GitHubTriggerConfig`. When `type` is `gitlab`, this is a
            `GitLabTriggerConfig`. When `type` is `slack`, this is a
            `SlackTriggerConfig`. When `type` is `sentry`, this is a
            `SentryTriggerConfig`. When `type` is `custom`, this is a
            `CustomTriggerConfig` (empty object).
          anyOf:
            - $ref: '#/components/schemas/CronTriggerConfig'
            - $ref: '#/components/schemas/GitHubTriggerConfig'
            - $ref: '#/components/schemas/GitLabTriggerConfig'
            - $ref: '#/components/schemas/SlackTriggerConfig'
            - $ref: '#/components/schemas/SentryTriggerConfig'
            - $ref: '#/components/schemas/CustomTriggerConfig'
      required:
        - type
        - config
    WorkspaceConfig:
      type: object
      description: >-
        Workspace behavior configuration. Missing capabilities and preferences
        default to disabled.
      properties:
        capabilities:
          type: object
          description: >-
            Actions this workspace is allowed to perform. Automations snapshot
            this config onto each workspace they create; API-created replicas
            can set it at creation time.
          properties:
            pr_followups:
              type: boolean
              description: >-
                Whether matching pull requests can receive Replicas follow-up
                actions. Defaults to true for workspaces created from the
                dashboard, Slack, Linear, GitHub, or the API, and to false for
                workspaces created from an automation. When enabled, later CI
                and review-comment replies can route back to this workspace.
          additionalProperties: true
        preferences:
          type: object
          description: >-
            Workspace behavior preferences that do not grant new action
            permissions.
          properties:
            keep_open_on_pr_merge:
              type: boolean
              description: >-
                Whether the workspace should remain open after its last tracked
                PR is merged. Defaults to false.
              default: false
            keep_open_on_pr_close:
              type: boolean
              description: >-
                Whether the workspace should remain open after its last tracked
                PR is closed without merging. Defaults to false.
              default: false
          additionalProperties: true
        provisioning_error:
          type: object
          description: >-
            Setup/provisioning or wake/resume failure captured when the
            workspace remains queryable in `error` status. Some wake/resume
            failures can be retried; the `error` status can also represent an
            unrecoverable sandbox failure.
          properties:
            message:
              type: string
              description: >-
                Underlying setup failure message, such as repository clone/auth
                errors.
          additionalProperties: true
      additionalProperties: true
    CronTriggerConfig:
      type: object
      description: Configuration for a cron (scheduled) trigger
      properties:
        schedule:
          type: string
          description: Cron expression (e.g. "0 9 * * 1-5" for weekdays at 9am UTC)
          example: 0 9 * * 1-5
        timezone:
          type: string
          description: IANA timezone for the schedule (defaults to UTC)
          default: UTC
          example: America/New_York
      required:
        - schedule
    GitHubTriggerConfig:
      type: object
      description: Configuration for a GitHub event trigger
      properties:
        event:
          type: string
          description: The GitHub event to listen for
          enum:
            - pull_request.opened
            - pull_request.synchronize
            - pull_request.merged
            - pull_request.closed
            - pull_request.command
        repository_ids:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Optional filter: only fire for events from these repositories. If
            omitted, fires for all repositories.
        group_pr_events:
          type: boolean
          description: >-
            When true, later `pull_request.opened`, `pull_request.synchronize`,
            or `pull_request.command` events for a PR that already has a
            workspace from an earlier run of this automation are routed to that
            workspace as a follow-up message instead of spawning a new one. Only
            meaningful for the opened, synchronize, and command events.
        excluded_actors:
          type: array
          items:
            type: string
          description: >-
            Optional exclusion list: events sent by these GitHub usernames never
            fire the automation (e.g. `dependabot[bot]`). Matching is
            case-insensitive and ignores a leading `@`.
      required:
        - event
    GitLabTriggerConfig:
      type: object
      description: Configuration for a GitLab merge request event trigger
      properties:
        event:
          type: string
          description: The GitLab event to listen for
          enum:
            - merge_request.opened
            - merge_request.updated
            - merge_request.merged
            - merge_request.closed
        repository_ids:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Optional filter: only fire for events from these GitLab projects. If
            omitted, fires for all projects.
        group_pr_events:
          type: boolean
          description: >-
            When true, later `merge_request.opened` or `merge_request.updated`
            events for an MR that already has a workspace from an earlier run of
            this automation are routed to that workspace as a follow-up message
            instead of spawning a new one. Only meaningful for the opened and
            updated events.
        excluded_actors:
          type: array
          items:
            type: string
          description: >-
            Optional exclusion list: events sent by these GitLab usernames never
            fire the automation. Matching is case-insensitive and ignores a
            leading `@`.
      required:
        - event
    SlackTriggerConfig:
      type: object
      description: Configuration for a Slack event trigger
      properties:
        event:
          type: string
          description: The Slack event to listen for
          enum:
            - message
        channel_ids:
          type: array
          items:
            type: string
          description: >-
            Optional filter: only fire for events from these Slack channels. If
            omitted, fires for all channels.
        group_thread_replies:
          type: boolean
          description: >-
            When true (default), thread replies flow to the same workspace as
            the root message instead of spawning new ones.
          default: true
      required:
        - event
    SentryTriggerConfig:
      type: object
      description: Configuration for a Sentry event trigger
      properties:
        event:
          type: string
          description: The Sentry event to listen for
          enum:
            - event_alert.triggered
            - issue.created
            - error.created
        project_slugs:
          type: array
          items:
            type: string
          description: >-
            Optional filter: only fire for events from these Sentry project
            slugs. If omitted, fires for all projects.
        min_level:
          type: string
          description: >-
            Optional minimum severity level (inclusive). If omitted, fires for
            all levels.
          enum:
            - debug
            - info
            - warning
            - error
            - fatal
      required:
        - event
    CustomTriggerConfig:
      type: object
      description: >-
        Configuration for a custom webhook trigger. The config is intentionally
        empty: the automation's generated `webhook_token` is the only thing that
        needs to be stored.
      properties: {}
  responses:
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        API key authentication. Obtain your API key from the Replicas dashboard
        under Organization → Settings → API Keys.

````