> ## 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.

# Automatisierungsvorlagen auflisten

> Listet die integrierten Automatisierungsvorlagen auf.

`template_id`-Werte werden vom Create-Endpunkt akzeptiert. Wenn
`tools.mcp_servers` beim Erstellen nicht angegeben wird, gelten die
`required_mcps` der Vorlage.

<div id="permissions">
  ## Berechtigungen
</div>

Erfordert einen Service-Benutzer mit der Berechtigung `ViewOrgAutomations` auf Organisationsebene.

<div id="usage">
  ## Nutzung
</div>

Listet die integrierten Automatisierungsvorlagen auf. `template_id`-Werte werden vom Erstellungsendpunkt als Herkunftsmarkierung akzeptiert; wird `tools.mcp_servers` beim Erstellen nicht angegeben, gelten die `required_mcps` der Vorlage.


## OpenAPI

````yaml de/v3-openapi.yaml GET /v3/organizations/{org_id}/automations/templates
openapi: 3.1.0
info:
  description: Devin v3 API mit Service-User-Authentifizierung und RBAC
  title: Devin API v3
  version: 3.0.0
servers: []
security:
  - bearerAuth: []
paths:
  /v3/organizations/{org_id}/automations/templates:
    get:
      tags:
        - automations
      summary: Automatisierungsvorlagen auflisten
      description: |-
        Listet die integrierten Automatisierungsvorlagen auf.

        `template_id`-Werte werden vom Create-Endpunkt akzeptiert. Wenn
        `tools.mcp_servers` beim Erstellen nicht angegeben wird, gelten die
        `required_mcps` der Vorlage.
      operationId: >-
        handle_list_automation_templates_v3_organizations__org_id__automations_templates_get
      parameters:
        - description: 'Organisations-ID (Präfix: org-)'
          in: path
          name: org_id
          required: true
          schema:
            example: org-abc123def456
            title: Org Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutomationTemplatesResponse'
          description: Erfolgreiche Antwort
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Nicht autorisiert
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Zugriff verweigert
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Nicht gefunden
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Konflikt
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Nicht verarbeitbarer Inhalt
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetail'
          description: Zu viele Anfragen
components:
  schemas:
    AutomationTemplatesResponse:
      additionalProperties: false
      properties:
        templates:
          items:
            $ref: '#/components/schemas/AutomationTemplateResponse'
          title: Templates
          type: array
      required:
        - templates
      title: AutomationTemplatesResponse
      type: object
    ProblemDetail:
      description: >-
        RFC 9457 application/problem+json-Fehlertext für die v3-API.


        detail wird aus dem Legacy-Body {"detail": ...} aus Gründen der
        Abwärtskompatibilität beibehalten; die

        anderen Member sind additiv. errors enthält Validierungsfehler auf
        Feldebene

        (nur 422).
      properties:
        detail:
          anyOf:
            - type: string
            - type: 'null'
          description: Eine menschenlesbare Erklärung, die speziell für diesen Fall gilt.
          title: Detail
        errors:
          anyOf:
            - items:
                additionalProperties: true
                type: object
              type: array
            - type: 'null'
          description: Validierungsfehler auf Feldebene (nur bei 422-Antworten).
          title: Errors
        instance:
          anyOf:
            - type: string
            - type: 'null'
          description: Eine URI-Referenz (der Anfragepfad) für diesen Fall.
          title: Instance
        status:
          description: Der HTTP-Statuscode.
          title: Status
          type: integer
        title:
          description: Eine kurze, menschenlesbare Zusammenfassung des Problemtyps.
          title: Title
          type: string
        type:
          default: about:blank
          description: Eine URI-Referenz, die den Problemtyp identifiziert.
          title: Type
          type: string
      required:
        - title
        - status
      title: ProblemDetail
      type: object
    AutomationTemplateResponse:
      additionalProperties: false
      properties:
        actions:
          items:
            discriminator:
              mapping:
                message_session:
                  $ref: '#/components/schemas/AutomationMessageSessionAction'
                monitor_session:
                  $ref: '#/components/schemas/AutomationMonitorSessionAction'
                start_session:
                  $ref: '#/components/schemas/AutomationStartSessionAction-Output'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/AutomationStartSessionAction-Output'
              - $ref: '#/components/schemas/AutomationMessageSessionAction'
              - $ref: '#/components/schemas/AutomationMonitorSessionAction'
          title: Actions
          type: array
        category:
          title: Category
          type: string
        description:
          title: Description
          type: string
        docs_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Docs Url
        featured:
          default: false
          title: Featured
          type: boolean
        name:
          title: Name
          type: string
        required_integrations:
          items:
            type: string
          title: Required Integrations
          type: array
        required_mcps:
          items:
            type: string
          title: Required Mcps
          type: array
        template_id:
          title: Template Id
          type: string
        triggers:
          items:
            $ref: '#/components/schemas/AutomationTriggerRequest-Output'
          title: Triggers
          type: array
      required:
        - template_id
        - name
        - description
        - category
        - required_integrations
        - required_mcps
        - triggers
        - actions
      title: AutomationTemplateResponse
      type: object
    AutomationMessageSessionAction:
      additionalProperties: false
      properties:
        auto_create:
          default: false
          description: >-
            Wenn true, erstellt der erste Trigger eine neue, langfristig
            laufende Sitzung im Besitz der Automatisierung, an die nachfolgende
            Trigger Nachrichten senden.
          title: Auto Create
          type: boolean
        prompt:
          description: Die Payload des auslösenden Ereignisses wird automatisch angehängt.
          title: Prompt
          type: string
        target_devin_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Muss zur Organisation gehören; zum Bearbeiten einer Automatisierung
            mit dieser Action ist Schreibzugriff auf die Zielsitzung
            erforderlich (ausgenommen sind Änderungen, die nur aktivieren oder
            deaktivieren). Erforderlich, sofern auto_create nicht true ist; dann
            wird es serverseitig gesetzt, sobald der erste Trigger die Sitzung
            erstellt. Vom Client bereitgestellte Werte werden ignoriert.
          title: Target Devin Id
        type:
          const: message_session
          default: message_session
          title: Type
          type: string
      required:
        - prompt
      title: AutomationMessageSessionAction
      type: object
    AutomationMonitorSessionAction:
      additionalProperties: false
      properties:
        setup_prompt:
          description: >-
            Wird in den System-Prompt der Sitzung eingefügt. Verwendet dieselbe
            Referenz-Token-Grammatik wie prompt.
          title: Setup Prompt
          type: string
        slack_monitor_config:
          $ref: '#/components/schemas/AutomationSlackMonitorConfig'
          description: Erfordert genau einen slack:message-Trigger im selben Channel.
        type:
          const: monitor_session
          default: monitor_session
          title: Type
          type: string
      required:
        - setup_prompt
        - slack_monitor_config
      title: AutomationMonitorSessionAction
      type: object
    AutomationStartSessionAction-Output:
      additionalProperties: false
      properties:
        prompt:
          description: >-
            Die maßgebliche Quelle: Klartext mit Inline-Referenz-Tokens
            (@{owner}/{repo}, @{path}, @playbook:{id}, @skills:{name}, !{macro},
            ${SECRET_NAME}). Tokens mit Typpräfix werden beim Speichern
            validiert; unbekannte IDs führen zu einem 400-Fehler. Die Payload
            des auslösenden Ereignisses wird automatisch angehängt.
          title: Prompt
          type: string
        session:
          $ref: '#/components/schemas/AutomationSessionConfig-Output'
          description: Konfiguration für die gestartete Sitzung.
        type:
          const: start_session
          default: start_session
          title: Type
          type: string
      required:
        - prompt
      title: AutomationStartSessionAction
      type: object
    AutomationTriggerRequest-Output:
      additionalProperties: false
      properties:
        conditions:
          anyOf:
            - $ref: '#/components/schemas/AutomationConditions-Output'
            - type: 'null'
          description: null entspricht jedem Ereignis.
        event_type:
          description: Trigger-Ereignistyp, z. B. 'github:pull_request'.
          enum:
            - github:issue_comment
            - github:issues
            - github:pull_request
            - github:pull_request_review
            - github:pull_request_review_comment
            - github:check_run
            - github:push
            - gitlab:merge_request
            - gitlab:note
            - gitlab:issue
            - gitlab:issue_note
            - gitlab:push
            - gitlab:pipeline
            - schedule:recurring
            - slack:message
            - slack:reaction_added
            - linear:create
            - linear:label_added
            - linear:assigned
            - linear:status_changed
            - linear:priority_changed
            - linear:moved
            - jira:issue_created
            - jira:label_added
            - jira:status_changed
            - jira:assigned
            - pylon:issue_created
            - pylon:issue_tag_added
            - pylon:issue_status_changed
            - incident_io:incident_created
            - incident_io:status_changed
            - incident_io:severity_changed
            - incident_io:follow_up_created
            - webhook:incoming
            - snapshot_build:completed
          title: Event Type
          type: string
        replies:
          default: []
          description: >-
            Woran die Sitzung dieses Triggers gebunden wird und wohin ihre
            Antwort gesendet wird. Nur Antworten des übereinstimmenden Triggers
            werden ausgeführt; alle Einträge werden unabhängig verarbeitet und
            dedupliziert.
          items:
            $ref: '#/components/schemas/AutomationReply'
          title: Replies
          type: array
      required:
        - event_type
      title: AutomationTriggerRequest
      type: object
    AutomationSlackMonitorConfig:
      additionalProperties: false
      properties:
        source_channel_id:
          title: Source Channel Id
          type: string
        team_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Team Id
      required:
        - source_channel_id
      title: AutomationSlackMonitorConfig
      type: object
    AutomationSessionConfig-Output:
      additionalProperties: false
      properties:
        bypass_approval:
          default: false
          description: >-
            Genehmigt die Erstellung von Unter-Sitzungen automatisch (die
            einzige Prüfung, die dieses Flag umgeht); jede künftig umgehbare
            Prüfung erfordert ein neues Feld.
          title: Bypass Approval
          type: boolean
        notifications:
          anyOf:
            - $ref: '#/components/schemas/AutomationSessionNotificationsConfig'
            - type: 'null'
          description: Benachrichtigungen zu Sitzungsinhalten (derzeit nur Slack).
        platform:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            VM-Plattform für die Sitzung. Bei null verwendet die Sitzung zum
            Zeitpunkt des Aufrufs die Standardplattform der Organisation.
          title: Platform
        playbook_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Schreibgeschützt: aus dem ersten @playbook:-Token im Prompt
            abgeleitet.
          title: Playbook Id
        repos:
          default: []
          description: 'Schreibgeschützt: aus Repo-Tokens im Prompt abgeleitet.'
          items:
            type: string
          title: Repos
          type: array
        tags:
          default: []
          description: >-
            Sitzungs-Tags. Bei Enterprises mit erzwungener Tag-Kennzeichnung ist
            genau ein zulässiger Wert erforderlich.
          items:
            type: string
          title: Tags
          type: array
      title: AutomationSessionConfig
      type: object
    AutomationConditions-Output:
      additionalProperties: false
      properties:
        any:
          description: ODER-Verknüpfung von UND-Gruppen (feste zweistufige DNF).
          items:
            $ref: '#/components/schemas/AutomationConditionGroup'
          title: Any
          type: array
      required:
        - any
      title: AutomationConditions
      type: object
    AutomationReply:
      additionalProperties: false
      properties:
        type:
          description: >-
            notify_thread: einseitiger Hinweis „session started“ im auslösenden
            Thread beim Versand (Slack-Trigger). attach_thread: zweiseitige
            Bindung an den auslösenden Thread beim Versand (Slack-Trigger).
            post_response: stellt die Antwort des Agenten im auslösenden Kontext
            zu.
          enum:
            - notify_thread
            - attach_thread
            - post_response
          title: Type
          type: string
      required:
        - type
      title: AutomationReply
      type: object
    AutomationSessionNotificationsConfig:
      additionalProperties: false
      description: >-
        Wohin die Inhalte der gestarteten Sitzung gehen, im Gegensatz zur

        ``notifications``-Gruppe auf Automatisierungsebene
        (Versandstatus-Pings).
      properties:
        slack:
          anyOf:
            - $ref: '#/components/schemas/AutomationSessionSlackConfig'
            - type: 'null'
          description: >-
            Weist der Sitzung ein Slack-Zuhause zu: bidirektional für
            post_updates/forward_thread und post_response, nachdem die erste
            Zustellung den Thread verknüpft hat.
      title: AutomationSessionNotificationsConfig
      type: object
    AutomationConditionGroup:
      additionalProperties: false
      properties:
        all:
          description: 'UND: Alle Bedingungen in der Gruppe müssen zutreffen.'
          items:
            discriminator:
              mapping:
                between:
                  $ref: '#/components/schemas/AutomationRangeCondition'
                contains:
                  $ref: '#/components/schemas/AutomationStringCondition'
                ends_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
                eq:
                  $ref: '#/components/schemas/AutomationComparisonCondition'
                globs:
                  $ref: '#/components/schemas/AutomationGlobCondition'
                gt:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                gte:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                in:
                  $ref: '#/components/schemas/AutomationListCondition'
                is_empty:
                  $ref: '#/components/schemas/AutomationEmptyCondition'
                is_not_empty:
                  $ref: '#/components/schemas/AutomationEmptyCondition'
                lt:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                lte:
                  $ref: '#/components/schemas/AutomationNumericCondition'
                matches:
                  $ref: '#/components/schemas/AutomationMatchCondition'
                neq:
                  $ref: '#/components/schemas/AutomationComparisonCondition'
                not_contains:
                  $ref: '#/components/schemas/AutomationStringCondition'
                not_ends_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
                not_globs:
                  $ref: '#/components/schemas/AutomationGlobCondition'
                not_in:
                  $ref: '#/components/schemas/AutomationListCondition'
                not_matches:
                  $ref: '#/components/schemas/AutomationMatchCondition'
                not_starts_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
                recurrence:
                  $ref: '#/components/schemas/AutomationRecurrenceCondition'
                starts_with:
                  $ref: '#/components/schemas/AutomationStringCondition'
              propertyName: operator
            oneOf:
              - $ref: '#/components/schemas/AutomationComparisonCondition'
              - $ref: '#/components/schemas/AutomationStringCondition'
              - $ref: '#/components/schemas/AutomationNumericCondition'
              - $ref: '#/components/schemas/AutomationEmptyCondition'
              - $ref: '#/components/schemas/AutomationRangeCondition'
              - $ref: '#/components/schemas/AutomationListCondition'
              - $ref: '#/components/schemas/AutomationMatchCondition'
              - $ref: '#/components/schemas/AutomationRecurrenceCondition'
              - $ref: '#/components/schemas/AutomationGlobCondition'
          title: All
          type: array
      required:
        - all
      title: AutomationConditionGroup
      type: object
    AutomationSessionSlackConfig:
      additionalProperties: false
      properties:
        channel_id:
          title: Channel Id
          type: string
        mode:
          description: >-
            post_updates: Die Sitzung kommuniziert in einem Thread im Channel
            (für Nicht-Slack-Trigger verfügbar). forward_thread: Dasselbe,
            zusätzlich wird ein Rücklink im auslösenden Thread gepostet
            (erfordert einen Slack-Trigger). post_response: Die endgültige
            Antwort der Sitzung wird als Nachricht auf oberster Ebene im Channel
            gepostet; anschließend wird ihr Thread für Antworten und
            Folgemeldungen verknüpft (für jeden Trigger verfügbar).
          enum:
            - post_updates
            - forward_thread
            - post_response
          title: Mode
          type: string
      required:
        - mode
        - channel_id
      title: AutomationSessionSlackConfig
      type: object
    AutomationRangeCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          const: between
          title: Operator
          type: string
        value:
          description: Inklusiver Bereich [low, high].
          maxItems: 2
          minItems: 2
          prefixItems:
            - anyOf:
                - type: integer
                - type: number
            - anyOf:
                - type: integer
                - type: number
          title: Value
          type: array
      required:
        - field
        - operator
        - value
      title: AutomationRangeCondition
      type: object
    AutomationStringCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - contains
            - not_contains
            - starts_with
            - not_starts_with
            - ends_with
            - not_ends_with
          title: Operator
          type: string
        value:
          title: Value
          type: string
      required:
        - field
        - operator
        - value
      title: AutomationStringCondition
      type: object
    AutomationComparisonCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - eq
            - neq
          title: Operator
          type: string
        value:
          anyOf:
            - type: string
            - type: integer
            - type: number
            - type: boolean
          title: Value
      required:
        - field
        - operator
        - value
      title: AutomationComparisonCondition
      type: object
    AutomationGlobCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - globs
            - not_globs
          title: Operator
          type: string
        value:
          description: >-
            Glob-Muster; jeder geänderte Pfad wird abgeglichen (github:push,
            gitlab:push).
          items:
            type: string
          title: Value
          type: array
      required:
        - field
        - operator
        - value
      title: AutomationGlobCondition
      type: object
    AutomationNumericCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - gt
            - lt
            - gte
            - lte
          title: Operator
          type: string
        value:
          anyOf:
            - type: integer
            - type: number
          title: Value
      required:
        - field
        - operator
        - value
      title: AutomationNumericCondition
      type: object
    AutomationListCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - in
            - not_in
          title: Operator
          type: string
        value:
          items:
            type: string
          title: Value
          type: array
      required:
        - field
        - operator
        - value
      title: AutomationListCondition
      type: object
    AutomationEmptyCondition:
      additionalProperties: false
      description: >-
        Unärer Operator: Prüft, ob das Feld leer ist; `value` enthält keine
        Daten.
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - is_empty
            - is_not_empty
          title: Operator
          type: string
        value:
          title: Value
          type: 'null'
      required:
        - field
        - operator
      title: AutomationEmptyCondition
      type: object
    AutomationMatchCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          enum:
            - matches
            - not_matches
          title: Operator
          type: string
        value:
          description: Regulärer Ausdruck.
          title: Value
          type: string
      required:
        - field
        - operator
        - value
      title: AutomationMatchCondition
      type: object
    AutomationRecurrenceCondition:
      additionalProperties: false
      properties:
        field:
          title: Field
          type: string
        operator:
          const: recurrence
          title: Operator
          type: string
        value:
          description: >-
            iCalendar-RRULE für das Feld rrule von schedule:recurring, z. B.
            FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0
          title: Value
          type: string
      required:
        - field
        - operator
        - value
      title: AutomationRecurrenceCondition
      type: object
  securitySchemes:
    bearerAuth:
      description: 'Servicebenutzer-Anmeldedaten (Präfix: cog_)'
      scheme: bearer
      type: http

````