---
title: "Update flow"
method: PATCH
path: "/v1/senders/{senderId}/agent/flows/{flowId}"
tags: ["Agent Flows"]
---

# Update flow

`PATCH /v1/senders/{senderId}/agent/flows/{flowId}`

Update a flow.

## Path parameters

- `senderId` string, required
- `flowId` string, required

## Request body

- FlowUpdateRequest
  - `name` string
  - `description` string
  - `trigger` FlowTrigger
    - `type` 'keyword' | 'intent' | 'always' | 'manual', required — Type of trigger for a flow.
    - `keywords` string[] — Keywords that trigger the flow (for keyword type).
    - `intent` string — Intent that triggers the flow (for intent type).
  - `steps` FlowStep[]
    - `id` string, required — Unique step identifier.
    - `type` 'message' | 'collect' | 'condition' | 'tool' | 'llm' | 'transfer', required — Type of flow step.
    - `config` object, required — Step configuration (varies by type).
    - `nextStepId` string, nullable — ID of the next step to execute.
  - `enabled` boolean
  - `priority` integer

## Response `200`

Flow updated.

- FlowResponse
  - `flow` AgentFlow, required
    - `id` string, required
    - `agentId` string, required
    - `name` string, required
    - `description` string, nullable
    - `trigger` FlowTrigger, required
      - `type` 'keyword' | 'intent' | 'always' | 'manual', required — Type of trigger for a flow.
      - `keywords` string[] — Keywords that trigger the flow (for keyword type).
      - `intent` string — Intent that triggers the flow (for intent type).
    - `steps` FlowStep[], required
      - `id` string, required — Unique step identifier.
      - `type` 'message' | 'collect' | 'condition' | 'tool' | 'llm' | 'transfer', required — Type of flow step.
      - `config` object, required — Step configuration (varies by type).
      - `nextStepId` string, nullable — ID of the next step to execute.
    - `enabled` boolean, required
    - `priority` integer, required — Priority when multiple flows match (higher = more priority).
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400` — Invalid request.
- `401` — Unauthorized.
- `404` — Flow not found.

---

[API](https://skmtc.net/zavudev/apis/zavu-unified-messaging-layer-api.md) · [All operations](https://skmtc.net/zavudev/apis/zavu-unified-messaging-layer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zavudev/zavu-unified-messaging-layer-api/revisions/07b87b6ae707/schema)
