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

# Set Channel Prompts

<span class="badge--patch">PATCH</span> <code class="endpoint-url">/workflows/:id/channels</code>

Set a per-channel prompt override on top of the agent's base prompt — for example, keeping WhatsApp replies shorter than email ones. Sent keys are **merged** into the existing `channel_prompts`, so you can update one channel without resending the others.

## Path Parameters

| Parameter | Type          | Required | Description |
| --------- | ------------- | -------- | ----------- |
| `id`      | string (uuid) | **Yes**  | Agent ID    |

## Request Body

| Field             | Type   | Required | Description                                                              |
| ----------------- | ------ | -------- | ------------------------------------------------------------------------ |
| `channel_prompts` | object | **Yes**  | Map of channel name (`whatsapp`, `email`, `call`) to its prompt override |

```json theme={null}
{
  "channel_prompts": {
    "whatsapp": "Keep replies under 2 sentences.",
    "email": "Sign off as \"The Acme Team\"."
  }
}
```

## Responses

### `200` — Updated

```json theme={null}
{
  "success": true,
  "workflow_id": "123e4567-e89b-12d3-a456-426614174000",
  "channels": ["whatsapp", "email"]
}
```

`channels` lists every channel with an override after merging, not just the ones in this request.

### `400` — Validation error

```json theme={null}
{
  "error": "Invalid input",
  "message": "channel_prompts object is required"
}
```

### `401` — Authentication error

See [Authentication](/docs/en/api/authentication).

### `404` — Not found

```json theme={null}
{
  "error": "Not found",
  "message": "Workflow not found"
}
```

### `500` — Internal server error
