arcade-mcp/toolkits/slack_api/arcade_slack_api/wrapper_tools/OpenOrResumeSlackConversation.json
2025-09-23 13:48:21 -03:00

209 lines
6.7 KiB
JSON

{
"name": "OpenOrResumeSlackConversation",
"fully_qualified_name": "SlackApi.OpenOrResumeSlackConversation@0.1.0",
"description": "Open or resume a direct or multi-person message in Slack.\n\nThis tool calls the Slack API to open a new conversation or resume an existing direct message or multi-person direct message. It should be used when there's a need to start or continue a conversation within Slack.",
"toolkit": {
"name": "ArcadeSlackApi",
"description": null,
"version": "0.1.0"
},
"input": {
"parameters": [
{
"name": "conversation_channel_id",
"required": false,
"description": "The ID of an existing direct or multi-person message channel to resume. Alternatively, provide the `users` field to start a new conversation.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"inferrable": true,
"http_endpoint_parameter_name": "channel"
},
{
"name": "target_user_ids",
"required": false,
"description": "A comma-separated list of user IDs to open or resume a conversation. Provide 1 to 8 IDs. Supplying 1 ID opens a 1:1 DM, while more than 1 ID opens a multi-person DM. Do not include the caller's ID.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"inferrable": true,
"http_endpoint_parameter_name": "users"
},
{
"name": "return_full_im_channel_definition",
"required": false,
"description": "Set to true to receive the entire IM channel definition; false returns only the conversation ID.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"inferrable": true,
"http_endpoint_parameter_name": "return_im"
},
{
"name": "prevent_creation",
"required": false,
"description": "If true, does not create a new conversation and instead checks for an existing DM or MPDM.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"inferrable": true,
"http_endpoint_parameter_name": "prevent_creation"
}
]
},
"output": {
"description": "Response from the API endpoint 'conversations.open'.",
"available_modes": [
"value",
"error",
"null"
],
"value_schema": {
"val_type": "json",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
}
},
"requirements": {
"authorization": {
"provider_id": "arcade-slack",
"provider_type": "oauth2",
"id": null,
"oauth2": {
"scopes": [
"channels:manage",
"channels:write",
"groups:write",
"im:write",
"mpim:write"
]
}
},
"secrets": null,
"metadata": null
},
"deprecation_message": null,
"metadata": {
"object_type": "api_wrapper_tool",
"version": "1.0.0",
"description": "Arcade Wrapper Tools enabling LLMs to interact with low-level Slack API endpoints."
},
"http_endpoint": {
"metadata": {
"object_type": "http_endpoint",
"version": "1.0.0",
"description": ""
},
"url": "https://slack.com/api/conversations.open",
"http_method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"parameters": [
{
"name": "channel",
"tool_parameter_name": "conversation_channel_id",
"description": "Resume a conversation by supplying an `im` or `mpim`'s ID. Or provide the `users` field instead.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"documentation_urls": []
},
{
"name": "return_im",
"tool_parameter_name": "return_full_im_channel_definition",
"description": "Boolean, indicates you want the full IM channel definition in the response.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"documentation_urls": []
},
{
"name": "users",
"tool_parameter_name": "target_user_ids",
"description": "Comma separated lists of users. If only one user is included, this creates a 1:1 DM. The ordering of the users is preserved whenever a multi-person direct message is returned. Supply a `channel` when not supplying `users`.",
"value_schema": {
"val_type": "string",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"documentation_urls": []
},
{
"name": "prevent_creation",
"tool_parameter_name": "prevent_creation",
"description": "Do not create a direct message or multi-person direct message. This is used to see if there is an existing dm or mpdm.",
"value_schema": {
"val_type": "boolean",
"inner_val_type": null,
"enum": null,
"properties": null,
"inner_properties": null,
"description": null
},
"accepted_as": "body",
"required": false,
"deprecated": false,
"documentation_urls": []
}
],
"documentation_urls": [
"https://docs.slack.dev/reference/methods/conversations.open"
],
"secrets": [
{
"arcade_key": "auth_token",
"parameter_name": "Authorization",
"accepted_as": "header",
"formatted_value": "Bearer {authorization}",
"description": "The OAuth token to use for authentication.",
"is_auth_token": true
}
]
}
}