{ "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 } ] } }