duvo.ai Triggers API

Configure event triggers that start a Run automatically when an external event fires (e.g. an email arrives, a Linear issue is created, or a file changes in Google Drive)

Operations 3

GET /v2/triggers/{agentId} List Agent Triggers #
PUT /v2/triggers/{agentId} Upsert Agent Trigger #
GET /v2/trigger-config/{agentId} List Agent Trigger Types #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/duvoai-triggers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

duvoai-triggers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Duvo Public Agent Folders Triggers API
  description: Public API for programmatic access to Duvo. Authenticate with API keys created in the Duvo dashboard.
  version: 1.0.0
servers:
- url: https://api.duvo.ai
  description: Production server
tags:
- name: Triggers
  description: Configure event triggers that start a Run automatically when an external event fires (e.g. an email arrives, a Linear issue is created, or a file changes in Google Drive)
paths:
  /v2/triggers/{agentId}:
    get:
      operationId: listAgentTriggers
      tags:
      - Triggers
      description: List the trigger definitions the authenticated user owns on an agent (Agent in the Duvo UI). Triggers start a Run automatically when an external event fires (e.g. an email arrives or a Linear issue is created).
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agentId
        required: true
        description: The agent's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  triggers:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        agent_id:
                          type: string
                        user_id:
                          type: string
                        integration_slug:
                          type: string
                        trigger_type:
                          type: string
                        filter_config:
                          type: object
                          additionalProperties: {}
                        integration_instance_id:
                          type: string
                        enabled:
                          type: boolean
                        auto_disabled_at:
                          type:
                          - string
                          - 'null'
                        auto_disabled_reason:
                          type:
                          - string
                          - 'null'
                        consecutive_missing_connection_failures:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        first_missing_connection_failure_at:
                          type:
                          - string
                          - 'null'
                        last_missing_connection_failure_at:
                          type:
                          - string
                          - 'null'
                        created_at:
                          type: string
                        updated_at:
                          type: string
                      required:
                      - id
                      - agent_id
                      - user_id
                      - integration_slug
                      - trigger_type
                      - filter_config
                      - integration_instance_id
                      - enabled
                      - auto_disabled_at
                      - auto_disabled_reason
                      - consecutive_missing_connection_failures
                      - first_missing_connection_failure_at
                      - last_missing_connection_failure_at
                      - created_at
                      - updated_at
                      additionalProperties: false
                required:
                - triggers
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: List Agent Triggers
    put:
      operationId: upsertAgentTrigger
      tags:
      - Triggers
      description: 'Create or update the authenticated user''s trigger for an integration on an agent. The integration must already be connected to the agent (its OAuth connection set up in the Duvo dashboard). Set `enabled: false` to pause a trigger without deleting it.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                integration_slug:
                  type: string
                  description: Integration slug the trigger fires for (e.g. `gmail`, `outlook`, `linear-native`, `google-drive`).
                trigger_type:
                  type: string
                  description: Trigger type within the integration (e.g. `email_received`). Discover valid values via the trigger types endpoint.
                filter_config:
                  description: Integration-specific filter config (e.g. sender/subject filters). Shape comes from the integration's filter schema.
                  default: {}
                  type: object
                  additionalProperties: {}
                enabled:
                  default: true
                  description: Whether the trigger is active. Defaults to true.
                  type: boolean
              required:
              - integration_slug
              - trigger_type
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agentId
        required: true
        description: The agent's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  agent_id:
                    type: string
                  user_id:
                    type: string
                  integration_slug:
                    type: string
                  trigger_type:
                    type: string
                  filter_config:
                    type: object
                    additionalProperties: {}
                  integration_instance_id:
                    type: string
                  enabled:
                    type: boolean
                  auto_disabled_at:
                    type:
                    - string
                    - 'null'
                  auto_disabled_reason:
                    type:
                    - string
                    - 'null'
                  consecutive_missing_connection_failures:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                  first_missing_connection_failure_at:
                    type:
                    - string
                    - 'null'
                  last_missing_connection_failure_at:
                    type:
                    - string
                    - 'null'
                  created_at:
                    type: string
                  updated_at:
                    type: string
                required:
                - id
                - agent_id
                - user_id
                - integration_slug
                - trigger_type
                - filter_config
                - integration_instance_id
                - enabled
                - auto_disabled_at
                - auto_disabled_reason
                - consecutive_missing_connection_failures
                - first_missing_connection_failure_at
                - last_missing_connection_failure_at
                - created_at
                - updated_at
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: Upsert Agent Trigger
  /v2/trigger-config/{agentId}:
    get:
      operationId: listAgentTriggerTypes
      tags:
      - Triggers
      description: List the trigger types available for an agent, grouped by integration. Use the returned `integration_slug` and `trigger_type` values when creating a trigger.
      parameters:
      - schema:
          type: string
          format: uuid
        in: path
        name: agentId
        required: true
        description: The agent's unique identifier
      security:
      - bearerAuth: []
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  trigger_types:
                    type: array
                    items:
                      type: object
                      properties:
                        integration_slug:
                          type: string
                        integration_name:
                          type: string
                        icon_url:
                          type: string
                        trigger_type:
                          type: string
                        label:
                          type: string
                        description:
                          type: string
                        filter_schema:
                          type: object
                          additionalProperties: {}
                      required:
                      - integration_slug
                      - integration_name
                      - icon_url
                      - trigger_type
                      - label
                      - description
                      - filter_schema
                      additionalProperties: false
                required:
                - trigger_types
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                - error
                additionalProperties: false
      summary: List Agent Trigger Types
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your API key from the Duvo dashboard.