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

# List agent triggers

> Triggers on the agent, newest first, using the shared cursor contract (`page_size`, `cursor`, `next_cursor`). Every trigger type is listed; only `schedule` and `webhook` can be created or edited through the API.

Webhook URLs are not included. Fetch one with `GET /agents/{agent_id}/triggers/{trigger_id}/webhook-url`.




## OpenAPI

````yaml get /agents/{agent_id}/triggers
openapi: 3.0.0
info:
  title: Public API
  version: 1.0.0
servers:
  - url: https://api.gumloop.com/api/v1
security: []
paths:
  /agents/{agent_id}/triggers:
    get:
      tags:
        - Agents
      summary: List agent triggers
      description: >
        Triggers on the agent, newest first, using the shared cursor contract
        (`page_size`, `cursor`, `next_cursor`). Every trigger type is listed;
        only `schedule` and `webhook` can be created or edited through the API.


        Webhook URLs are not included. Fetch one with `GET
        /agents/{agent_id}/triggers/{trigger_id}/webhook-url`.
      operationId: listAgentTriggers
      parameters:
        - in: path
          name: agent_id
          required: true
          schema:
            type: string
          description: >-
            ID of the agent. Also accepts the reserved aliases `gumball` and
            `analytics`.
        - in: query
          name: page_size
          schema:
            type: integer
            default: 24
            maximum: 100
        - in: query
          name: cursor
          schema:
            type: string
      responses:
        '200':
          description: One page of triggers.
          content:
            application/json:
              schema:
                type: object
                properties:
                  agent_id:
                    type: string
                  triggers:
                    type: array
                    items:
                      $ref: '#/components/schemas/AgentTrigger'
                  next_cursor:
                    type: string
                    nullable: true
        '401':
          description: Unauthorized — missing or invalid API key.
        '403':
          description: Forbidden — the caller cannot view triggers on this agent.
        '404':
          description: Agent not found.
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: >
            curl
            'https://api.gumloop.com/api/v1/agents/abc123DEFghiJKL/triggers' \
              -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
        - lang: python
          label: Python
          source: |
            from gumloop import Gumloop

            client = Gumloop(access_token="YOUR_ACCESS_TOKEN")

            response = client.agents.list_triggers("abc123DEFghiJKL")
            for trigger in response.triggers:
                print(trigger.type, trigger.name, trigger.enabled)
components:
  schemas:
    AgentTrigger:
      type: object
      properties:
        id:
          type: string
          example: trg_7f1a2b
        agent_id:
          type: string
          example: abc123DEFghiJKL
        type:
          type: string
          description: >-
            `schedule` and `webhook` can be created, fully edited and deleted
            through the API. Other types (connector events, agent-built
            triggers) can be renamed, reworded, paused and resumed, but their
            settings live on the trigger page.
          example: schedule
        name:
          type: string
          nullable: true
        prompt:
          type: string
          nullable: true
          description: The message the agent receives when the trigger fires.
        cron_expression:
          type: string
          nullable: true
          description: Five-field cron, for recurring schedules.
          example: 0 9 * * 1-5
        run_at:
          type: string
          format: date-time
          nullable: true
          description: One-time run, for `schedule` triggers created with `run_at`.
        timezone:
          type: string
          nullable: true
          example: America/Los_Angeles
        pass_raw_data:
          type: boolean
          nullable: true
          description: >-
            Webhook only. `true` forwards the request body to the agent instead
            of `prompt`.
        enabled:
          type: boolean
        status:
          type: string
          nullable: true
        max_failures:
          type: integer
          nullable: true
          description: Consecutive failures before the trigger disables itself.
        webhook_url:
          type: string
          nullable: true
          description: >-
            Only on the create response. Fetch it later with `GET
            /agents/{agent_id}/triggers/{trigger_id}/webhook-url`; it embeds the
            trigger's secret.
        created_at:
          type: string
          format: date-time
          nullable: true
        last_run_at:
          type: string
          format: date-time
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A personal API key or an [OAuth 2.0](/api-reference/oauth) access token.
        Personal API keys also require the `x-auth-key` header with your user
        ID.

````