Connect an agent to a Slack workspace

veryfront__create_channel

Requires project.channels.write.

Access

Requires a user connection for slack.

Call type: Can change resources.

Arguments

FieldTypeRequiredDescription and constraints
project_referencestringNoProject ID or slug. Requires a person's credential; agent, run, and service-account callers are forbidden.
platformstringYesMessaging platform: slack Values: "slack".
agent_idstringYesAgent ID from listChannelAgents (MCP: list_channel_agents) for the same runtime target Minimum length: 1.
namestringNoDisplay name, 1-255 characters Minimum length: 1. Maximum length: 255.
respond_tostringNoWhich Slack messages to answer: mentions, direct_messages or all Values: "mentions", "direct_messages", "all".
allowed_slack_channel_idsstring[]NoSlack channel IDs. Overlap with another channel in the same workspace is rejected with resource-already-exists. IDs come from listSlackChannels (MCP: list_slack_channels); empty means every Slack channel the bot is in. A preview_branch target needs at least one.
welcome_messagestring or nullNoWelcome message; null clears
error_messagestring or nullNoMessage shown when the agent fails; null clears
max_response_tokensinteger or nullNoMaximum response tokens, 1-65536; null clears
runtime_target_kindstringNoRuntime target: main_branch, environment or preview_branch Values: "main_branch", "environment", "preview_branch".
target_environment_idstring or nullNoEnvironment ID; required when runtime_target_kind is environment
target_branch_idstring or nullNoBranch ID; required when runtime_target_kind is preview_branch

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.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__create_channel",
    "arguments": {
      "platform": "slack",
      "agent_id": "example"
    }
  }
}

Result

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

FieldTypeRequiredDescription and constraints
idstringYesUnique identifier for the returned record. Format: uuid.
project_idstringYesProject identifier associated with this result. Format: uuid.
installation_idstring or nullYesThe installation id returned by the tool.
platformstringYesThe platform returned by the tool. Values: "slack".
namestring or nullYesHuman-readable name for the returned record.
agent_idstring or nullYesThe agent id returned by the tool.
enabledbooleanYesThe enabled returned by the tool.
platform_team_idstring or nullYesThe platform team id returned by the tool.
platform_bot_idstring or nullYesThe platform bot id returned by the tool.
workspace_namestring or nullYesThe workspace name returned by the tool.
respond_tostringYesThe respond to returned by the tool. Values: "mentions", "direct_messages", "all".
allowed_slack_channel_idsstring[]YesList of allowed slack channel ids returned by the tool.
statusstringYesLifecycle status for the returned record. Values: "connected", "needs_reauth", "error".
welcome_messagestring or nullYesThe welcome message returned by the tool.
error_messagestring or nullYesThe error message returned by the tool.
max_response_tokensinteger or nullYesThe max response tokens returned by the tool.
runtime_target_kindstringYesThe runtime target kind returned by the tool. Values: "main_branch", "environment", "preview_branch".
target_environment_idstring or nullYesThe target environment id returned by the tool.
target_branch_idstring or nullYesThe target branch id returned by the tool.
resolved_targetobjectYesStructured resolved target details returned by the tool.
created_atstringYesCreation timestamp in ISO 8601 format.
updated_atstringYesLast update timestamp in ISO 8601 format.

Full schemas

json
{
  "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."
    },
    "platform": {
      "type": "string",
      "enum": [
        "slack"
      ],
      "description": "Messaging platform: slack"
    },
    "agent_id": {
      "type": "string",
      "minLength": 1,
      "description": "Agent ID from listChannelAgents (MCP: list_channel_agents) for the same runtime target"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Display name, 1-255 characters"
    },
    "respond_to": {
      "type": "string",
      "enum": [
        "mentions",
        "direct_messages",
        "all"
      ],
      "description": "Which Slack messages to answer: mentions, direct_messages or all"
    },
    "allowed_slack_channel_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 255,
        "description": "One allowed slack channel id item supplied to the tool."
      },
      "maxItems": 250,
      "description": "Slack channel IDs. Overlap with another channel in the same workspace is rejected with resource-already-exists. IDs come from listSlackChannels (MCP: list_slack_channels); empty means every Slack channel the bot is in. A preview_branch target needs at least one."
    },
    "welcome_message": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 4000,
          "description": "Provide the welcome message."
        },
        {
          "type": "null",
          "description": "Provide the welcome message."
        }
      ],
      "description": "Welcome message; null clears"
    },
    "error_message": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 4000,
          "description": "Provide the error message."
        },
        {
          "type": "null",
          "description": "Provide the error message."
        }
      ],
      "description": "Message shown when the agent fails; null clears"
    },
    "max_response_tokens": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 65536,
          "description": "Provide the max response tokens."
        },
        {
          "type": "null",
          "description": "Provide the max response tokens."
        }
      ],
      "description": "Maximum response tokens, 1-65536; null clears"
    },
    "runtime_target_kind": {
      "type": "string",
      "enum": [
        "main_branch",
        "environment",
        "preview_branch"
      ],
      "description": "Runtime target: main_branch, environment or preview_branch"
    },
    "target_environment_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "description": "Provide the target environment id."
        },
        {
          "type": "null",
          "description": "Provide the target environment id."
        }
      ],
      "description": "Environment ID; required when runtime_target_kind is environment"
    },
    "target_branch_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "description": "Provide the target branch id."
        },
        {
          "type": "null",
          "description": "Provide the target branch id."
        }
      ],
      "description": "Branch ID; required when runtime_target_kind is preview_branch"
    }
  },
  "required": [
    "platform",
    "agent_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Arguments for the create_channel tool."
}
json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the returned record."
    },
    "project_id": {
      "type": "string",
      "format": "uuid",
      "description": "Project identifier associated with this result."
    },
    "installation_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "description": "The installation id returned by the tool."
        },
        {
          "type": "null",
          "description": "The installation id returned by the tool."
        }
      ],
      "description": "The installation id returned by the tool."
    },
    "platform": {
      "type": "string",
      "enum": [
        "slack"
      ],
      "description": "The platform returned by the tool."
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Human-readable name for the returned record."
    },
    "agent_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "description": "The agent id returned by the tool."
        },
        {
          "type": "null",
          "description": "The agent id returned by the tool."
        }
      ],
      "description": "The agent id returned by the tool."
    },
    "enabled": {
      "type": "boolean",
      "description": "The enabled returned by the tool."
    },
    "platform_team_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The platform team id returned by the tool."
    },
    "platform_bot_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "The platform bot id returned by the tool."
    },
    "workspace_name": {
      "type": [
        "string",
        "null"
      ],
      "description": "The workspace name returned by the tool."
    },
    "respond_to": {
      "type": "string",
      "enum": [
        "mentions",
        "direct_messages",
        "all"
      ],
      "description": "The respond to returned by the tool."
    },
    "allowed_slack_channel_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "One allowed slack channel id item returned by the tool."
      },
      "description": "List of allowed slack channel ids returned by the tool."
    },
    "status": {
      "type": "string",
      "enum": [
        "connected",
        "needs_reauth",
        "error"
      ],
      "description": "Lifecycle status for the returned record."
    },
    "welcome_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "The welcome message returned by the tool."
    },
    "error_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "The error message returned by the tool."
    },
    "max_response_tokens": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "description": "The max response tokens returned by the tool."
        },
        {
          "type": "null",
          "description": "The max response tokens returned by the tool."
        }
      ],
      "description": "The max response tokens returned by the tool."
    },
    "runtime_target_kind": {
      "type": "string",
      "enum": [
        "main_branch",
        "environment",
        "preview_branch"
      ],
      "description": "The runtime target kind returned by the tool."
    },
    "target_environment_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "description": "The target environment id returned by the tool."
        },
        {
          "type": "null",
          "description": "The target environment id returned by the tool."
        }
      ],
      "description": "The target environment id returned by the tool."
    },
    "target_branch_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid",
          "description": "The target branch id returned by the tool."
        },
        {
          "type": "null",
          "description": "The target branch id returned by the tool."
        }
      ],
      "description": "The target branch id returned by the tool."
    },
    "resolved_target": {
      "type": "object",
      "properties": {
        "runtime_target": {
          "type": "object",
          "properties": {
            "kind": {
              "$ref": "#/properties/runtime_target_kind",
              "description": "The kind returned by the tool."
            },
            "target_environment_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "description": "The target environment id returned by the tool."
                },
                {
                  "type": "null",
                  "description": "The target environment id returned by the tool."
                }
              ],
              "description": "The target environment id returned by the tool."
            },
            "target_branch_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid",
                  "description": "The target branch id returned by the tool."
                },
                {
                  "type": "null",
                  "description": "The target branch id returned by the tool."
                }
              ],
              "description": "The target branch id returned by the tool."
            }
          },
          "required": [
            "kind",
            "target_environment_id",
            "target_branch_id"
          ],
          "additionalProperties": false,
          "description": "Structured runtime target details returned by the tool."
        },
        "resolved_environment": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique identifier for the returned record."
                },
                "name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Human-readable name for the returned record."
                }
              },
              "required": [
                "id",
                "name"
              ],
              "additionalProperties": false,
              "description": "Structured resolved environment details returned by the tool."
            },
            {
              "type": "null",
              "description": "The resolved environment returned by the tool."
            }
          ],
          "description": "The resolved environment returned by the tool."
        },
        "resolved_branch": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "format": "uuid",
                  "description": "Unique identifier for the returned record."
                },
                "name": {
                  "type": "string",
                  "description": "Human-readable name for the returned record."
                }
              },
              "required": [
                "id",
                "name"
              ],
              "additionalProperties": false,
              "description": "Structured resolved branch details returned by the tool."
            },
            {
              "type": "null",
              "description": "The resolved branch returned by the tool."
            }
          ],
          "description": "The resolved branch returned by the tool."
        },
        "resolved_deployment": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier for the returned record."
                },
                "runtime_version": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The runtime version returned by the tool."
                },
                "deployment_revision": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The deployment revision returned by the tool."
                },
                "last_deployed_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The last deployed at returned by the tool."
                }
              },
              "required": [
                "id",
                "runtime_version",
                "deployment_revision",
                "last_deployed_at"
              ],
              "additionalProperties": false,
              "description": "Structured resolved deployment details returned by the tool."
            },
            {
              "type": "null",
              "description": "The resolved deployment returned by the tool."
            }
          ],
          "description": "The resolved deployment returned by the tool."
        },
        "resolved_managed_domain": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "domain": {
                  "type": "string",
                  "description": "The domain returned by the tool."
                },
                "health_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The health url returned by the tool."
                }
              },
              "required": [
                "domain",
                "health_url"
              ],
              "additionalProperties": false,
              "description": "Structured resolved managed domain details returned by the tool."
            },
            {
              "type": "null",
              "description": "The resolved managed domain returned by the tool."
            }
          ],
          "description": "The resolved managed domain returned by the tool."
        },
        "resolved_invoke_mode": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "dispatch_override",
                "managed_domain"
              ],
              "description": "The resolved invoke mode returned by the tool."
            },
            {
              "type": "null",
              "description": "The resolved invoke mode returned by the tool."
            }
          ],
          "description": "The resolved invoke mode returned by the tool."
        },
        "last_resolution_error": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "The code returned by the tool."
                },
                "retryable": {
                  "type": "boolean",
                  "description": "The retryable returned by the tool."
                },
                "message": {
                  "type": "string",
                  "description": "The message returned by the tool."
                }
              },
              "required": [
                "code",
                "retryable",
                "message"
              ],
              "additionalProperties": false,
              "description": "Structured last resolution error details returned by the tool."
            },
            {
              "type": "null",
              "description": "The last resolution error returned by the tool."
            }
          ],
          "description": "The last resolution error returned by the tool."
        }
      },
      "required": [
        "runtime_target",
        "resolved_environment",
        "resolved_branch",
        "resolved_deployment",
        "resolved_managed_domain",
        "resolved_invoke_mode",
        "last_resolution_error"
      ],
      "additionalProperties": false,
      "description": "Structured resolved target details returned by the tool."
    },
    "created_at": {
      "type": "string",
      "description": "Creation timestamp in ISO 8601 format."
    },
    "updated_at": {
      "type": "string",
      "description": "Last update timestamp in ISO 8601 format."
    }
  },
  "required": [
    "id",
    "project_id",
    "installation_id",
    "platform",
    "name",
    "agent_id",
    "enabled",
    "platform_team_id",
    "platform_bot_id",
    "workspace_name",
    "respond_to",
    "allowed_slack_channel_ids",
    "status",
    "welcome_message",
    "error_message",
    "max_response_tokens",
    "runtime_target_kind",
    "target_environment_id",
    "target_branch_id",
    "resolved_target",
    "created_at",
    "updated_at"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Structured result returned by the create_channel tool."
}