---
title: "Update workflow trigger"
method: PATCH
path: "/triggers/{trigger_id}"
tags: ["Workflow Triggers"]
---

# Update workflow trigger

`PATCH /triggers/{trigger_id}`

Update a workflow trigger. Currently only the 'active' status can be modified.

Use this to:
- Temporarily disable a trigger without deleting it (set active=false)
- Re-enable a previously disabled trigger (set active=true)

Note: To change trigger type or phone_number_id, delete the trigger and create a new one.

## Request body

- WorkflowTriggerUpdateRequest — Request to update a workflow trigger. Currently only the 'active' status can be modified. To change trigger type or phone number, delete and recreate the trigger.
  - `trigger` object, required
    - `active` boolean — Enable or disable the trigger

## Response `200`

Trigger updated successfully

- WorkflowTriggerResponse — Single workflow trigger response
  - `data` WorkflowTrigger, required — Workflow trigger defining when and how a workflow execution should start
    - `id` string, uuid, required — Unique trigger identifier
    - `workflow_id` string, uuid, required — ID of the workflow this trigger belongs to
    - `trigger_type` 'inbound_message' | 'api_call' | 'whatsapp_event' | 'project_event', required — Trigger activation mechanism: - `inbound_message`: Triggered by incoming WhatsApp messages to a specific phone number - `api_call`: Triggered by POST /workflows/{id}/executions API calls - `whatsapp_event`: Triggered by WhatsApp events (message and conversation lifecycle) - `project_event`: Triggered by an emitted Project Event
    - `active` boolean, required — Whether this trigger is enabled. Inactive triggers will not start workflow executions even when their conditions are met. Use this to temporarily disable a trigger without deleting it.
    - `display_name` string, nullable — Human-readable trigger name. Format varies by type: - Inbound message: "WhatsApp: [phone number display name]" - API call: "API Call Trigger" - Project event: "Event: [event name]"
    - `created_at` string, date-time — Trigger creation timestamp
    - `updated_at` string, date-time — Last modification timestamp
    - `triggerable` union — Type-specific trigger configuration. Structure varies by trigger_type: - For `inbound_message`: Contains phone_number_id - For `api_call`: Empty object - For `whatsapp_event`: Contains event and optional phone_number_id - For `project_event`: Contains event_name and optional property filter fields
      - object — Inbound message trigger configuration
        - `phone_number_id` string, required — WhatsApp Business phone number ID that will trigger the workflow
      - object — API call trigger configuration (no additional fields)
      - object — WhatsApp event trigger configuration
        - `event` 'whatsapp.message.received' | 'whatsapp.message.sent' | 'whatsapp.message.failed' | 'whatsapp.conversation.created' | 'whatsapp.conversation.ended', required — WhatsApp event type that will trigger the workflow
        - `phone_number_id` string — Optional WhatsApp Business phone number ID to scope trigger to specific number
      - object — Project Event trigger configuration
        - `event_name` string, required — Lowercase dotted snake_case Project Event name that starts the workflow.
        - `property_key` string, nullable — Optional Project Event property key to filter on.
        - `operator` 'eq' | 'lt' | 'lte' | 'gt' | 'gte' | 'null', nullable — Optional property comparison operator.
        - `property_value` unknown

## Other responses

- `401` — Missing or invalid API key
- `404` — Resource not found
- `422` — Request validation failed

---

[API](https://skmtc.net/kapso/apis/kapso-platform-api.md) · [All operations](https://skmtc.net/kapso/apis/kapso-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kapso/kapso-platform-api/revisions/18ff5548a33f/schema)
