> ## 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.

# Post a test message to verify delivery

> Test channel message delivery.

`veryfront__check_channel`

Requires project.channels.write.

## Access

Requires a user connection for `slack`.

**Call type:** Can change resources.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `project_reference` | `string` | No | Project ID or slug. Requires a person's credential; agent, run, and service-account callers are forbidden. |
| `channel_id` | `string` | Yes | Channel ID from [`list_channels`](/docs/cloud/mcp/tools/list-channels) Format: `uuid`. |
| `slack_channel_id` | `string` | Yes | Slack channel for the test message. Slack refusals return status failed with a failure code. A missing Slack connection returns validation-failed; a transient connection refresh failure returns external-service-error. Minimum length: `1`. Maximum length: `255`. |
| `text` | `string` | No | Message text, 1-4000 characters; default 'Veryfront Slack connection test' Minimum length: `1`. Maximum length: `4000`. |

## Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See [MCP client setup](/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__check_channel",
    "arguments": {
      "channel_id": "00000000-0000-4000-8000-000000000000",
      "slack_channel_id": "example"
    }
  }
}
```

## Result

The published output shape is summarized below. Inspect both the MCP response content and `isError` when handling a call.

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `channel_id` | `string` | Yes | The channel id returned by the tool. Format: `uuid`. |
| `slack_channel_id` | `string` | Yes | The slack channel id returned by the tool. |
| `status` | `string` | Yes | Lifecycle status for the returned record. Values: `"delivered"`, `"failed"`. |
| `message_id` | `string or null` | Yes | The message id returned by the tool. |
| `failure_code` | `string or null` | Yes | The failure code returned by the tool. |
| `retryable` | `boolean` | Yes | The retryable returned by the tool. |
| `checked_at` | `string` | Yes | The checked at returned by the tool. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "description": "Project ID or slug. Requires a person's credential; agent, run, and service-account callers are forbidden."
    },
    "channel_id": {
      "type": "string",
      "format": "uuid",
      "description": "Channel ID from list_channels"
    },
    "slack_channel_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Slack channel for the test message. Slack refusals return status failed with a failure code. A missing Slack connection returns validation-failed; a transient connection refresh failure returns external-service-error."
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "Message text, 1-4000 characters; default 'Veryfront Slack connection test'"
    }
  },
  "required": [
    "channel_id",
    "slack_channel_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Arguments for the check_channel tool."
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "channel_id": {
      "type": "string",
      "format": "uuid",
      "description": "The channel id returned by the tool."
    },
    "slack_channel_id": {
      "type": "string",
      "description": "The slack channel id returned by the tool."
    },
    "status": {
      "type": "string",
      "enum": [
        "delivered",
        "failed"
      ],
      "description": "Lifecycle status for the returned record."
    },
    "message_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The message id returned by the tool."
    },
    "failure_code": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "not_in_channel",
            "channel_not_found",
            "needs_reauth",
            "rate_limited",
            "provider_error"
          ],
          "description": "The failure code returned by the tool."
        },
        {
          "type": "null",
          "description": "The failure code returned by the tool."
        }
      ],
      "description": "The failure code returned by the tool."
    },
    "retryable": {
      "type": "boolean",
      "description": "The retryable returned by the tool."
    },
    "checked_at": {
      "type": "string",
      "description": "The checked at returned by the tool."
    }
  },
  "required": [
    "channel_id",
    "slack_channel_id",
    "status",
    "message_id",
    "failure_code",
    "retryable",
    "checked_at"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Structured result returned by the check_channel tool."
}
```

<details>
  <summary>Try this tool</summary>

  Replace sample arguments with values for your project or connected account. Calls run only when you select Run tool.

  MCP tool call

  Call `veryfront__check_channel` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run this tool with these arguments.

  Run tool

  Output JSON

  <pre />
</details>


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