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

# Change a channel's settings or target

> Update a channel binding.

`updateChannel(projectReference: ID!, channelId: ID!, input: UpdateChannelInput!): Channel!`

Requires project.channels.write.

## Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `projectReference` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | Yes | Project UUID or slug. |
| `channelId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | Yes | |
| `input` | [`UpdateChannelInput!`](https://veryfront.com/docs/cloud/graphql/types/updatechannelinput) | Yes | |

## Input fields

### input

[`UpdateChannelInput`](https://veryfront.com/docs/cloud/graphql/types/updatechannelinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `name` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | |
| `agentId` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Agent checked again against the selected runtime target. |
| `respondTo` | [`ChannelRespondTo`](https://veryfront.com/docs/cloud/graphql/types/channelrespondto) | No | |
| `allowedSlackChannelIds` | [`[String!]`](https://veryfront.com/docs/cloud/graphql/types/string) | No | Slack channel IDs. Overlap with another channel in the same workspace is rejected with resource-already-exists. At most 250 IDs; empty means every Slack channel the bot is in. A preview\_branch target needs at least one. |
| `welcomeMessage` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | |
| `errorMessage` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | No | |
| `maxResponseTokens` | [`Int`](https://veryfront.com/docs/cloud/graphql/types/int) | No | |
| `runtimeTargetKind` | [`RuntimeTargetKind`](https://veryfront.com/docs/cloud/graphql/types/runtimetargetkind) | No | Selected target; the agent is checked against it again. |
| `targetEnvironmentId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | No | |
| `targetBranchId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | No | |

## Response

Returns [`Channel!`](https://veryfront.com/docs/cloud/graphql/types/channel). Open the type for its fields and nested types.

| Field | Type | Description |
| - | - | - |
| `id` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | |
| `projectId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | |
| `platform` | [`ChannelPlatform!`](https://veryfront.com/docs/cloud/graphql/types/channelplatform) | |
| `name` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | |
| `agentId` | [`String`](https://veryfront.com/docs/cloud/graphql/types/string) | Project agent that answers in this channel. |
| `enabled` | [`Boolean!`](https://veryfront.com/docs/cloud/graphql/types/boolean) | Always true today; kept for forward compatibility. |
| `status` | [`ChannelStatus!`](https://veryfront.com/docs/cloud/graphql/types/channelstatus) | |
| `installationId` | [`ID`](https://veryfront.com/docs/cloud/graphql/types/id) | |

[All fields of `Channel`](https://veryfront.com/docs/cloud/graphql/types/channel).

Types marked with `!` cannot be null. Lists use `[Type]` notation. The [type index](https://veryfront.com/docs/cloud/graphql/schema.md) lists all published input and response types.

## Example

```graphql title="query.graphql" theme={null}
mutation UpdateChannel($projectReference: ID!, $channelId: ID!, $input: UpdateChannelInput!) {
  updateChannel(projectReference: $projectReference, channelId: $channelId, input: $input) {
    id
    projectId
    agentId
    name
    status
  }
}
```

```json title="variables.json" theme={null}
{
  "projectReference": "00000000-0000-4000-8000-000000000001",
  "channelId": "00000000-0000-4000-8000-000000000001",
  "input": {}
}
```

<details>
  <summary>Try this mutation</summary>

  Calls use `https://api.veryfront.com/graphql`. Replace sample values with resources you can access. See [Authentication](https://veryfront.com/docs/cloud/authentication.md) for credentials and permissions.

  Bearer token or API key

  Stored in this tab's session. Clear credential

  Mutation

  Variables (JSON)
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.