Files
handbook/docker/packages/slack/mcp-tools.generated.json
2026-06-29 10:08:59 -07:00

4942 lines
132 KiB
JSON

{
"schema_version": "v1",
"tools": [
{
"name": "add_reaction",
"description": "Add a reaction emoji to a message.\n\nThe reaction may be provided with or without surrounding colons, e.g.\n`thumbsup` and `:thumbsup:` are equivalent.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"timestamp": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"reaction": {
"description": "Emoji reaction name, with or without surrounding colons.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"timestamp",
"reaction"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "archive_channel",
"description": "Archive a named public/private channel.\n\nDMs and MPIMs cannot be archived and return\nmethod_not_supported_for_channel_type.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "create_channel",
"description": "Create a new public or private channel.\n\nChannel names are normalized to lowercase. Duplicates are rejected against\nexisting named public/private channels, but DMs and MPIMs are ignored for\nname uniqueness.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Channel name.",
"minLength": 1,
"type": "string"
},
"is_private": {
"default": false,
"type": "boolean"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"name"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "delete_message",
"description": "Delete a message from a channel, DM, or MPIM.\n\nIn normal mode, only messages authored by the bot can be deleted. In admin\nmode (`is_admin: true` in state), any message can be deleted. Deleting a\nthread parent also removes its replies.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"ts": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"ts"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "edit_message",
"description": "Edit an existing message.\n\nIn normal mode, only messages authored by the bot can be edited. In admin\nmode (`is_admin: true` in state), any message can be edited.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"ts": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"text": {
"description": "Message text.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"ts",
"text"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "export_state",
"description": "Export the full Slack state as JSON.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"outputSchema": {
"$defs": {
"SlackAttachment": {
"additionalProperties": false,
"properties": {
"fallback": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"pretext": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"author_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"author_link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"author_icon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"author_subname": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"title_link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"fields": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackAttachmentField"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_width": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_height": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"footer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"footer_icon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"ts": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"mrkdwn_in": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"actions": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackAttachmentAction"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"callback_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"SlackAttachmentAction": {
"additionalProperties": false,
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"name": {
"minLength": 1,
"type": "string"
},
"text": {
"minLength": 1,
"type": "string"
},
"type": {
"minLength": 1,
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"style": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"confirm": {
"anyOf": [
{
"$ref": "#/$defs/SlackAttachmentActionConfirm"
},
{
"type": "null"
}
],
"default": null
},
"options": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackAttachmentActionOption"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"option_groups": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackAttachmentActionOptionGroup"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"data_source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"selected_options": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackAttachmentActionOption"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"min_query_length": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"name",
"text",
"type"
],
"type": "object"
},
"SlackAttachmentActionConfirm": {
"additionalProperties": false,
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"text": {
"minLength": 1,
"type": "string"
},
"ok_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"dismiss_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"text"
],
"type": "object"
},
"SlackAttachmentActionOption": {
"additionalProperties": false,
"properties": {
"text": {
"minLength": 1,
"type": "string"
},
"value": {
"minLength": 1,
"type": "string"
}
},
"required": [
"text",
"value"
],
"type": "object"
},
"SlackAttachmentActionOptionGroup": {
"additionalProperties": false,
"properties": {
"text": {
"minLength": 1,
"type": "string"
},
"options": {
"items": {
"$ref": "#/$defs/SlackAttachmentActionOption"
},
"type": "array"
}
},
"required": [
"text",
"options"
],
"type": "object"
},
"SlackAttachmentField": {
"additionalProperties": false,
"properties": {
"title": {
"minLength": 1,
"type": "string"
},
"value": {
"type": "string"
},
"short": {
"type": "boolean"
}
},
"required": [
"title",
"value",
"short"
],
"type": "object"
},
"SlackBlock": {
"additionalProperties": false,
"properties": {
"type": {
"$ref": "#/$defs/SlackBlockType"
},
"block_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"elements": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackBlockElement"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"text": {
"anyOf": [
{
"$ref": "#/$defs/SlackTextObject"
},
{
"type": "null"
}
],
"default": null
},
"accessory": {
"anyOf": [
{
"$ref": "#/$defs/SlackBlockElement"
},
{
"type": "null"
}
],
"default": null
},
"fields": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackTextObject"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"alt_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"title": {
"anyOf": [
{
"$ref": "#/$defs/SlackTextObject"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"type"
],
"type": "object"
},
"SlackBlockElement": {
"additionalProperties": false,
"properties": {
"type": {
"minLength": 1,
"type": "string"
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"$ref": "#/$defs/SlackTextObject"
},
{
"type": "null"
}
],
"default": null
},
"elements": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackBlockElement"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"type"
],
"type": "object"
},
"SlackBlockType": {
"enum": [
"actions",
"context",
"divider",
"header",
"image",
"input",
"section",
"video"
],
"type": "string"
},
"SlackBotProfile": {
"additionalProperties": false,
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"deleted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"name": {
"type": "string"
},
"updated": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"app_id": {
"type": "string"
},
"icons": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"team_id": {
"pattern": "^T[A-Za-z0-9_]+$",
"type": "string"
}
},
"required": [
"id",
"name",
"app_id",
"team_id"
],
"type": "object"
},
"SlackChannel": {
"additionalProperties": false,
"properties": {
"id": {
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"name": {
"minLength": 1,
"type": "string"
},
"is_channel": {
"default": true,
"type": "boolean"
},
"is_group": {
"default": false,
"type": "boolean"
},
"is_im": {
"default": false,
"type": "boolean"
},
"is_mpim": {
"default": false,
"type": "boolean"
},
"is_private": {
"default": false,
"type": "boolean"
},
"created": {
"default": 0,
"type": "integer"
},
"is_archived": {
"default": false,
"type": "boolean"
},
"is_general": {
"default": false,
"type": "boolean"
},
"is_frozen": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_read_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_thread_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"unlinked": {
"default": 0,
"type": "integer"
},
"name_normalized": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"is_shared": {
"default": false,
"type": "boolean"
},
"is_org_shared": {
"default": false,
"type": "boolean"
},
"is_ext_shared": {
"default": false,
"type": "boolean"
},
"is_pending_ext_shared": {
"default": false,
"type": "boolean"
},
"pending_shared": {
"items": {
"type": "string"
},
"type": "array"
},
"pending_connected_team_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"context_team_id": {
"default": "T_MOCK",
"pattern": "^T[A-Za-z0-9_]+$",
"type": "string"
},
"updated": {
"default": 0,
"type": "integer"
},
"parent_conversation": {
"anyOf": [
{
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"creator": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"const": "",
"type": "string"
}
],
"default": ""
},
"shared_team_ids": {
"items": {
"pattern": "^T[A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"is_member": {
"default": true,
"type": "boolean"
},
"conversation_host_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"topic": {
"anyOf": [
{
"$ref": "#/$defs/SlackChannelTopic"
},
{
"type": "null"
}
],
"default": null
},
"purpose": {
"anyOf": [
{
"$ref": "#/$defs/SlackChannelTopic"
},
{
"type": "null"
}
],
"default": null
},
"properties": {
"anyOf": [
{
"$ref": "#/$defs/SlackChannelProperties"
},
{
"type": "null"
}
],
"default": null
},
"previous_names": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"num_members": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"last_read": {
"anyOf": [
{
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"unread_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"unread_count_display": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"latest": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"user": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"members": {
"anyOf": [
{
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"SlackChannelPostingRestrictions": {
"additionalProperties": false,
"properties": {
"type": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"subteam": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"user": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"SlackChannelProperties": {
"additionalProperties": false,
"properties": {
"posting_restricted_to": {
"anyOf": [
{
"$ref": "#/$defs/SlackChannelPostingRestrictions"
},
{
"type": "null"
}
],
"default": null
},
"threads_restricted_to": {
"anyOf": [
{
"$ref": "#/$defs/SlackChannelPostingRestrictions"
},
{
"type": "null"
}
],
"default": null
},
"at_channel_restricted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"at_here_restricted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"huddles_restricted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"sharing_disabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"tabs": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackChannelTab"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"default_tab_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"auto_open_tab_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"membership_limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"canvas": {
"anyOf": [
{},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"SlackChannelTab": {
"additionalProperties": false,
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"label": {
"minLength": 1,
"type": "string"
},
"type": {
"minLength": 1,
"type": "string"
},
"data": {
"anyOf": [
{},
{
"type": "null"
}
],
"default": null
},
"is_disabled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"label",
"type"
],
"type": "object"
},
"SlackChannelTopic": {
"additionalProperties": false,
"properties": {
"value": {
"default": "",
"type": "string"
},
"creator": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"const": "",
"type": "string"
}
],
"default": ""
},
"last_set": {
"default": 0,
"type": "integer"
}
},
"type": "object"
},
"SlackCounters": {
"additionalProperties": false,
"properties": {
"channelId": {
"default": 1000,
"type": "integer"
},
"fileId": {
"default": 1000,
"type": "integer"
}
},
"type": "object"
},
"SlackEnterpriseUser": {
"additionalProperties": false,
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"enterprise_id": {
"minLength": 1,
"type": "string"
},
"enterprise_name": {
"minLength": 1,
"type": "string"
},
"is_admin": {
"type": "boolean"
},
"is_owner": {
"type": "boolean"
},
"is_primary_owner": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"teams": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"enterprise_id",
"enterprise_name",
"is_admin",
"is_owner",
"teams"
],
"type": "object"
},
"SlackFile": {
"additionalProperties": false,
"properties": {
"id": {
"pattern": "^F[A-Za-z0-9_]+$",
"type": "string"
},
"created": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"timestamp": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"mimetype": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"filetype": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"pretty_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"user": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"user_team": {
"anyOf": [
{
"pattern": "^T[A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"editable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"size": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"mode": {
"anyOf": [
{
"$ref": "#/$defs/SlackFileMode"
},
{
"type": "null"
}
],
"default": null
},
"is_external": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"external_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"is_public": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"public_url_shared": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"display_as_bot": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"username": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url_private": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"url_private_download": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_64": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_80": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_360": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_360_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_360_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_480": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_480_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_480_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_160": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_720": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_720_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_720_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_800": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_800_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_800_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_960": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_960_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_960_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_1024": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thumb_1024_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_1024_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"original_w": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"original_h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"thumb_tiny": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"permalink": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"permalink_public": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"edit_link": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"preview": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"preview_highlight": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"lines": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"lines_more": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"preview_is_truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"comments_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"is_starred": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"shares": {
"anyOf": [
{
"$ref": "#/$defs/SlackFileShares"
},
{
"type": "null"
}
],
"default": null
},
"channels": {
"anyOf": [
{
"items": {
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"groups": {
"anyOf": [
{
"items": {
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"ims": {
"anyOf": [
{
"items": {
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"has_rich_preview": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id"
],
"type": "object"
},
"SlackFileMode": {
"enum": [
"hosted",
"external",
"snippet",
"post"
],
"type": "string"
},
"SlackFileShares": {
"additionalProperties": false,
"properties": {
"public": {
"anyOf": [
{
"additionalProperties": {
"items": {},
"type": "array"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"private": {
"anyOf": [
{
"additionalProperties": {
"items": {},
"type": "array"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"SlackHuddleRoom": {
"additionalProperties": false,
"properties": {
"id": {
"minLength": 1,
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"media_server": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"created_by": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"date_start": {
"type": "integer"
},
"date_end": {
"type": "integer"
},
"participants": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"participant_history": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"participants_camera_on": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"participants_camera_off": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"participants_screenshare_on": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"participants_screenshare_off": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"canvas_thread_ts": {
"anyOf": [
{
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"thread_root_ts": {
"anyOf": [
{
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"channels": {
"items": {
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"is_dm_call": {
"type": "boolean"
},
"was_rejected": {
"type": "boolean"
},
"was_missed": {
"type": "boolean"
},
"was_accepted": {
"type": "boolean"
},
"has_ended": {
"type": "boolean"
},
"background_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"canvas_background": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"is_prewarmed": {
"type": "boolean"
},
"is_scheduled": {
"type": "boolean"
},
"attached_file_ids": {
"items": {
"pattern": "^F[A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"media_backend_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"display_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"external_unique_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"app_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"call_family": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"pending_invitees": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"last_invite_status_by_user": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"created_by",
"date_start",
"date_end",
"participants",
"participant_history",
"participants_camera_on",
"participants_camera_off",
"participants_screenshare_on",
"participants_screenshare_off",
"channels",
"is_dm_call",
"was_rejected",
"was_missed",
"was_accepted",
"has_ended",
"is_prewarmed",
"is_scheduled",
"attached_file_ids"
],
"type": "object"
},
"SlackMessage": {
"additionalProperties": false,
"properties": {
"type": {
"$ref": "#/$defs/SlackMessageType",
"default": "message"
},
"subtype": {
"anyOf": [
{
"$ref": "#/$defs/SlackMessageSubtype"
},
{
"type": "null"
}
],
"default": null
},
"user": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"bot_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"bot_profile": {
"anyOf": [
{
"$ref": "#/$defs/SlackBotProfile"
},
{
"type": "null"
}
],
"default": null
},
"text": {
"type": "string"
},
"ts": {
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"thread_ts": {
"anyOf": [
{
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"parent_user_id": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"reply_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"reply_users_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"latest_reply": {
"anyOf": [
{
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"reply_users": {
"anyOf": [
{
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"is_locked": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"subscribed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"team": {
"anyOf": [
{
"pattern": "^T[A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"channel": {
"anyOf": [
{
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"is_starred": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"pinned_to": {
"anyOf": [
{
"items": {
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"pinned_info": {
"anyOf": [
{
"additionalProperties": {
"additionalProperties": true,
"type": "object"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"reactions": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackReaction"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"attachments": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackAttachment"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"blocks": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackBlock"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"files": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackFile"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"upload": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"display_as_bot": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"edited": {
"anyOf": [
{
"$ref": "#/$defs/SlackMessageEdited"
},
{
"type": "null"
}
],
"default": null
},
"client_msg_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"permalink": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"no_notifications": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"room": {
"anyOf": [
{
"$ref": "#/$defs/SlackHuddleRoom"
},
{
"type": "null"
}
],
"default": null
},
"metadata": {
"anyOf": [
{
"$ref": "#/$defs/SlackMessageMetadata"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"text",
"ts"
],
"type": "object"
},
"SlackMessageEdited": {
"additionalProperties": false,
"properties": {
"user": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"ts": {
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
}
},
"required": [
"user",
"ts"
],
"type": "object"
},
"SlackMessageMetadata": {
"additionalProperties": false,
"properties": {
"event_type": {
"type": "string"
},
"event_payload": {
"additionalProperties": true,
"type": "object"
}
},
"required": [
"event_type",
"event_payload"
],
"type": "object"
},
"SlackMessageSubtype": {
"enum": [
"bot_message",
"channel_archive",
"channel_join",
"channel_leave",
"channel_name",
"channel_purpose",
"channel_topic",
"channel_unarchive",
"file_share",
"huddle_thread",
"me_message",
"message_changed",
"message_deleted",
"thread_broadcast"
],
"type": "string"
},
"SlackMessageType": {
"enum": [
"message"
],
"type": "string"
},
"SlackProfileField": {
"additionalProperties": false,
"properties": {
"value": {
"type": "string"
},
"alt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"value"
],
"type": "object"
},
"SlackReaction": {
"additionalProperties": false,
"properties": {
"name": {
"minLength": 1,
"type": "string"
},
"users": {
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"type": "array"
},
"count": {
"type": "integer"
}
},
"required": [
"name",
"count"
],
"type": "object"
},
"SlackState": {
"additionalProperties": false,
"properties": {
"users": {
"patternProperties": {
"^[UW][A-Za-z0-9_]+$": {
"$ref": "#/$defs/SlackUser"
}
},
"type": "object"
},
"channels": {
"patternProperties": {
"^[CDG][A-Za-z0-9_]+$": {
"$ref": "#/$defs/SlackChannel"
}
},
"type": "object"
},
"messages": {
"patternProperties": {
"^[CDG][A-Za-z0-9_]+$": {
"items": {
"$ref": "#/$defs/SlackMessage"
},
"type": "array"
}
},
"type": "object"
},
"bot_user_id": {
"anyOf": [
{
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"is_admin": {
"default": false,
"type": "boolean"
},
"counters": {
"$ref": "#/$defs/SlackCounters"
}
},
"type": "object"
},
"SlackStatusEmojiDisplayInfo": {
"additionalProperties": false,
"properties": {
"emoji_name": {
"type": "string"
},
"display_url": {
"type": "string"
}
},
"required": [
"emoji_name",
"display_url"
],
"type": "object"
},
"SlackTextObject": {
"additionalProperties": false,
"properties": {
"type": {
"$ref": "#/$defs/SlackTextObjectType"
},
"text": {
"type": "string"
},
"emoji": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"verbatim": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"type",
"text"
],
"type": "object"
},
"SlackTextObjectType": {
"enum": [
"mrkdwn",
"plain_text"
],
"type": "string"
},
"SlackTwoFactorType": {
"enum": [
"app",
"sms"
],
"type": "string"
},
"SlackUser": {
"additionalProperties": false,
"properties": {
"id": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"team_id": {
"default": "T_MOCK",
"pattern": "^T[A-Za-z0-9_]+$",
"type": "string"
},
"name": {
"minLength": 1,
"type": "string"
},
"deleted": {
"default": false,
"type": "boolean"
},
"color": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"real_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tz": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tz_label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tz_offset": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"profile": {
"$ref": "#/$defs/SlackUserProfile"
},
"is_admin": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_owner": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_primary_owner": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_restricted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_ultra_restricted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_bot": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_app_user": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_email_confirmed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_invited_user": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"is_stranger": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"updated": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"has_2fa": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"two_factor_type": {
"anyOf": [
{
"$ref": "#/$defs/SlackTwoFactorType"
},
{
"type": "null"
}
],
"default": null
},
"locale": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"who_can_share_contact_card": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"always_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"enterprise_user": {
"anyOf": [
{
"$ref": "#/$defs/SlackEnterpriseUser"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"SlackUserProfile": {
"additionalProperties": false,
"properties": {
"avatar_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"status_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"status_emoji": {
"anyOf": [
{
"pattern": "^$|^:[a-z0-9_+-]+:$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"status_emoji_display_info": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/SlackStatusEmojiDisplayInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"status_expiration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"status_text_canonical": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"real_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"real_name_normalized": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"display_name_normalized": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"pronouns": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"huddle_state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"huddle_state_expiration_ts": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null
},
"first_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"last_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"skype": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"team": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"fields": {
"anyOf": [
{
"additionalProperties": {
"$ref": "#/$defs/SlackProfileField"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"image_original": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"is_custom_image": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null
},
"image_24": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"image_32": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"image_48": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"image_72": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"image_192": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"image_512": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"image_1024": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"SlackWorkspacesState": {
"additionalProperties": false,
"properties": {
"workspaces": {
"additionalProperties": {
"$ref": "#/$defs/SlackState"
},
"propertyNames": {
"minLength": 1
},
"type": "object"
}
},
"type": "object"
}
},
"properties": {
"result": {
"anyOf": [
{
"$ref": "#/$defs/SlackState"
},
{
"$ref": "#/$defs/SlackWorkspacesState"
}
]
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
}
},
{
"name": "get_channel_history",
"description": "Get recent top-level messages from a channel, DM, or MPIM.\n\nThread replies are not returned here unless the reply is itself the\nthread parent. Use get_thread_replies with the parent timestamp to inspect\na full thread.\n\nArgs:\n channel_id: Channel, DM, or MPIM to read.\n limit: Maximum number of top-level messages to return.\n\nReturns:\n Slack-style response with messages ordered newest first.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"limit": {
"default": 10,
"description": "Maximum number of items to return.",
"minimum": 0,
"type": "integer"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_thread_replies",
"description": "Get a thread parent and all replies.\n\nArgs:\n channel_id: Channel, DM, or MPIM containing the thread.\n thread_ts: Timestamp of the thread parent message.\n\nReturns:\n Slack-style response with the parent message followed by replies.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"thread_ts": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"thread_ts"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_user_presence",
"description": "Get a user's current presence status.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"user_id": {
"description": "Slack user ID.",
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"user_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_user_profile",
"description": "Get detailed profile information for a specific user.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"user_id": {
"description": "Slack user ID.",
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"user_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "get_users",
"description": "Get workspace users with basic profile information.\n\nArgs:\n cursor: Pagination cursor from a previous response.\n limit: Maximum number of users to return, capped at 200.\n\nReturns:\n Slack-style response with members and response_metadata.next_cursor.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cursor": {
"anyOf": [
{
"description": "Pagination cursor returned by a previous response.",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 100,
"description": "Maximum number of items to return.",
"minimum": 0,
"type": "integer"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "import_state",
"description": "Replace the full Slack state with the provided JSON.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"state": {
"additionalProperties": true,
"type": "object"
}
},
"required": [
"state"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": {
"type": "boolean"
},
"type": "object"
}
},
{
"name": "list_channels",
"description": "List active public/private channels visible to the bot.\n\nThis mirrors Slack's default conversations.list shape for normal named\nchannels: archived channels, DMs, and MPIMs are excluded. Results are\npaginated with a numeric cursor returned in response_metadata.next_cursor.\n\nArgs:\n limit: Maximum number of channels to return, capped at 200.\n cursor: Pagination cursor from a previous response.\n\nReturns:\n Slack-style response with channels and response_metadata.next_cursor.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 100,
"description": "Maximum number of items to return.",
"minimum": 0,
"type": "integer"
},
"cursor": {
"anyOf": [
{
"description": "Pagination cursor returned by a previous response.",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_dms",
"description": "List direct message and multi-party direct message conversations.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"default": 20,
"description": "Maximum number of items to return.",
"minimum": 0,
"type": "integer"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_files",
"description": "List files shared in a channel, DM, or MPIM, newest first.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum number of items to return.",
"minimum": 0,
"type": "integer"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_pins",
"description": "List all pinned messages in a channel, DM, or MPIM.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "list_workspaces",
"description": "List available Slack workspaces in the loaded mock state.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "open_dm",
"description": "Open or reuse a direct message conversation with one user.\n\nIf a DM with the user already exists, that channel is returned. Otherwise\na new DM channel is created.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"user_id": {
"description": "Slack user ID.",
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"user_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "open_mpim",
"description": "Open or reuse a multi-party direct message conversation.\n\nThe bot user is included automatically. At least two non-bot users are\nrequired. Duplicate user IDs are ignored. If an MPIM with the same member\nset already exists, it is returned.\n\nArgs:\n user_ids: Users to include in the MPIM, excluding or including the bot.\n\nReturns:\n Slack-style response with the MPIM channel.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"user_ids": {
"description": "Slack user IDs to include in a multi-party direct message.",
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"minItems": 2,
"type": "array"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"user_ids"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "pin_message",
"description": "Pin a message to a channel, DM, or MPIM.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"timestamp": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"timestamp"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "post_message",
"description": "Post a new top-level message to a channel, DM, or MPIM.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"text": {
"description": "Message text.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"text"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "rename_channel",
"description": "Rename a named public/private channel.\n\nNames are normalized to lowercase. DMs and MPIMs cannot be renamed.\nDuplicate names among named channels are rejected.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"name": {
"description": "New channel name.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"name"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "reply_to_thread",
"description": "Reply to an existing message thread.\n\nArgs:\n channel_id: Channel, DM, or MPIM containing the parent message.\n thread_ts: Timestamp of the parent message to reply to.\n text: Reply text.\n\nReturns:\n Slack-style response with the new reply timestamp and message.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"thread_ts": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"text": {
"description": "Message text.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"thread_ts",
"text"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "search_messages",
"description": "Search messages across channels, DMs, and MPIMs.\n\nBare words are ANDed together and matched against message text plus sender\nnames/profile fields. Double-quoted text requires exact adjacency.\n\nSupported filters:\n in:general match channel name or channel ID\n from:alice match sender by username, display name, real name, email, or user ID\n from:@alice match sender username exactly\n after:2026-05-01 messages at or after a date or Unix timestamp\n before:2026-05-02 messages before a date or Unix timestamp\n during:2026-05 messages during a year, month, day, or parseable date\n has:link messages containing a URL or linked attachment/file\n has:reaction messages with reactions\n has:pin pinned messages\n\nUnsupported or malformed operators are reported in response_metadata.warnings\nwhile preserving best-effort search behavior. `from:me` is unsupported\nbecause caller identity is not modeled and will match no users.\n\nArgs:\n query: Search text with optional Slack-style filters.\n channel_id: Optional channel/DM/MPIM scope.\n limit: Maximum matches to return, capped at 100.\n cursor: Pagination cursor from a previous response.\n\nReturns:\n Slack-style search response with matches, total, next_cursor, and warnings.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"query": {
"description": "Slack search query.",
"minLength": 1,
"type": "string"
},
"channel_id": {
"anyOf": [
{
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum number of matches to return. Values above 100 are capped."
},
"cursor": {
"anyOf": [
{
"description": "Pagination cursor returned by a previous response.",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"query"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "send_dm",
"description": "Send a direct message to a user.\n\nOpens or reuses the DM first, then posts the message.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"user_id": {
"description": "Slack user ID.",
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"text": {
"description": "Message text.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"user_id",
"text"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "send_mpim",
"description": "Send a message to a multi-party direct message conversation.\n\nOpens or reuses the MPIM for the provided member set, then posts the\nmessage. At least two non-bot users are required.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"user_ids": {
"description": "Slack user IDs to include in a multi-party direct message.",
"items": {
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
"minItems": 2,
"type": "array"
},
"text": {
"description": "Message text.",
"minLength": 1,
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"user_ids",
"text"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "set_channel_topic",
"description": "Set a channel's topic and/or purpose.\n\nPass either `topic`, `purpose`, or both. Omitted fields are left unchanged.\n\nArgs:\n channel_id: Channel to update.\n topic: New topic text, if changing the topic.\n purpose: New purpose text, if changing the purpose.\n\nReturns:\n Slack-style response with the updated channel.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "New channel topic."
},
"purpose": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "New channel purpose."
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "set_user_status",
"description": "Set a Slack user's status text and emoji.\n\nBy default this updates the bot user's profile. Passing `user_id` updates\nanother user only when admin mode is enabled (`is_admin: true` in state).\nStatus emoji must be empty or colon-wrapped, e.g. `:spiral_calendar_pad:`.\n\nArgs:\n status_text: Status text to show on the user profile.\n status_emoji: Optional Slack emoji code.\n user_id: Optional target user ID. Requires admin mode unless it is the bot.\n\nReturns:\n Slack-style response with the updated profile.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"status_text": {
"type": "string"
},
"status_emoji": {
"anyOf": [
{
"pattern": "^$|^:[a-z0-9_+-]+:$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"user_id": {
"anyOf": [
{
"description": "Slack user ID.",
"pattern": "^[UW][A-Za-z0-9_]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"status_text"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "unpin_message",
"description": "Unpin a previously pinned message from a channel, DM, or MPIM.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"timestamp": {
"description": "Slack message timestamp, such as 1700000001.000.",
"pattern": "^\\d{10}\\.\\d{3,6}$",
"type": "string"
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"timestamp"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
},
{
"name": "upload_file",
"description": "Upload a file to a channel, DM, or MPIM.\n\nThe file body must be base64-encoded. The mock infers mimetype/filetype\nfrom the filename extension, creates a hosted Slack file object, and posts\na file_share message in the target conversation.\n\nArgs:\n channel_id: Conversation to upload into.\n filename: Stored filename, including extension when known.\n content_base64: Base64-encoded file bytes.\n title: Optional display title. Defaults to filename.\n initial_comment: Optional message text for the file_share post.\n\nReturns:\n Slack-style response with the created file object.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"channel_id": {
"description": "Slack channel, private channel, DM, or MPIM ID.",
"pattern": "^[CDG][A-Za-z0-9_]+$",
"type": "string"
},
"filename": {
"description": "File name to store in Slack.",
"minLength": 1,
"type": "string"
},
"content_base64": {
"description": "Base64-encoded file content.",
"type": "string"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"initial_comment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"workspace_id": {
"anyOf": [
{
"description": "Slack workspace ID. Defaults to the default workspace.",
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"channel_id",
"filename",
"content_base64"
],
"type": "object"
},
"outputSchema": {
"additionalProperties": true,
"type": "object"
}
}
],
"toolsets": {
"read": [
"get_channel_history",
"get_thread_replies",
"get_user_presence",
"get_user_profile",
"get_users",
"list_channels",
"list_dms",
"list_files",
"list_pins",
"list_workspaces",
"search_messages"
],
"write": [
"add_reaction",
"archive_channel",
"create_channel",
"delete_message",
"edit_message",
"open_dm",
"open_mpim",
"pin_message",
"post_message",
"rename_channel",
"reply_to_thread",
"send_dm",
"send_mpim",
"set_channel_topic",
"set_user_status",
"unpin_message",
"upload_file"
],
"messages": [
"delete_message",
"edit_message",
"get_channel_history",
"get_thread_replies",
"post_message",
"reply_to_thread",
"search_messages"
],
"channels": [
"archive_channel",
"create_channel",
"list_channels",
"rename_channel",
"set_channel_topic"
],
"reactions_pins": [
"add_reaction",
"list_pins",
"pin_message",
"unpin_message"
],
"users": [
"get_user_presence",
"get_user_profile",
"get_users",
"set_user_status"
],
"files": [
"list_files",
"upload_file"
],
"dms": [
"list_dms",
"open_dm",
"open_mpim",
"send_dm",
"send_mpim"
],
"workspaces": [
"list_workspaces"
],
"admin": [
"archive_channel",
"rename_channel",
"set_channel_topic"
],
"core": [
"get_channel_history",
"get_thread_replies",
"get_users",
"list_channels",
"list_dms",
"post_message",
"reply_to_thread",
"search_messages",
"send_dm",
"send_mpim",
"add_reaction",
"get_user_profile"
],
"toolathlon_legacy": [
"add_reaction",
"get_channel_history",
"get_thread_replies",
"get_user_profile",
"get_users",
"list_channels",
"post_message",
"reply_to_thread"
],
"state": [
"export_state",
"import_state"
]
}
}