We use cookies to enhance your experience and measure how the site performs. Choose "Essential Only" to disable analytics. Read our Privacy Policy.

    Odeus Docs

    Update Trigger

    Update an existing trigger in an integration

    Update Trigger

    Update an existing trigger in an integration

    Using our API via a dedicated deployment? Just replace api.odeus.ai with your deployment's base URL: <deployment-url>/api/public

    Updates an existing trigger in an integration. This replaces the trigger configuration with the provided values.

    Required Scopes

    This endpoint requires the INTEGRATION_API scope.

    Path Parameters

    ParameterTypeRequiredDescription
    integrationIdstringYesUUID of the integration
    triggerIdstringYesUUID of the trigger to update

    Request Body

    ParameterTypeRequiredDescription
    namestringYesTrigger name (max 100 characters)
    descriptionstringNoTrigger description (max 90 characters)
    pollingCodestringNoJavaScript code to poll for new events (max 1,000 characters)
    inputFieldsarrayNoInput fields for configuring the trigger

    See Create Trigger for the full input field schema.

    Example

    const axios = require("axios");
    
    async function updateTrigger(integrationId, triggerId) {
      const response = await axios.put(
        `https://api.odeus.ai/integrations/v1/${integrationId}/triggers/${triggerId}`,
        {
          name: "New Issue Created v2",
          description: "Updated trigger with additional filtering options",
          pollingCode: `
            const url = new URL('https://api.example.com/v2/issues');
            url.searchParams.set('since', lastPollTime);
            url.searchParams.set('project', inputs.projectId);
    
            const response = await fetch(url, {
              headers: {
                'Authorization': 'Bearer ' + secrets.API_TOKEN
              }
            });
    
            return await response.json();
          `,
          inputFields: [
            {
              label: "Project ID",
              type: "TEXT",
              required: true
            },
            {
              label: "Status Filter",
              type: "SELECT",
              options: [
                { label: "All", value: "all" },
                { label: "Open", value: "open" },
                { label: "Closed", value: "closed" }
              ],
              required: false
            }
          ]
        },
        {
          headers: {
            Authorization: "Bearer YOUR_API_KEY",
            "Content-Type": "application/json"
          }
        }
      );
    
      console.log("Updated trigger:", response.data.trigger);
    }
    
    updateTrigger("550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001");
    

    Response Format

    Success Response (200 OK)

    {
      trigger: {
        id: string;
        name: string;
        slug: string;
        description: string;
        type: string;
        pollingCode: string | null;
        inputFields: Array<{
          slug: string;
          label: string;
          type: string;
          description: string;
          placeholder: string | null;
          required: boolean;
          options: Array<{label: string, value: string}&gt; | null;
          allowMultiSelect: boolean | null;
        }>;
      };
    }
    

    Error Handling

    Status CodeDescription
    400Invalid request body or IDs
    401Invalid or missing API key
    403No access to this integration
    404Integration or trigger not found
    429Rate limit exceeded

    Odeus intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on API Key Best Practices.