Overview

Tool Name

slack_tools

Purpose

The slack_tools enable seamless interaction with Slack, allowing bots to communicate, send messages, and manage access permissions effectively. These tools improve collaboration and notifications within Slack channels or direct messages, making them integral for workflow automation and communication.

Functions Available

  1. _send_slack_direct_message: Sends a private message to a specific Slack user.

  2. _send_slack_channel_message: Posts a message to a specified Slack channel.

  3. _modify_slack_allow_list: Updates the access control list (allow or revoke) for users interacting with the bot on Slack.

  4. _lookup_slack_user_id: Retrieves a Slack user ID by name for further actions.

  5. _deploy_to_slack: Deploys a bot to the Slack workspace for active use.

Key Features

Direct Messaging

Send direct messages to Slack users for updates, alerts, or results.

Channel Announcements

Post announcements or reports to Slack channels.

Access Permissions

Manage Slack access permissions for bots, including allow-list and deny-list features.

Dynamic User Lookups

Fetch Slack user IDs dynamically for message targeting.

_send_slack_direct_messageSend a Private Message to a Slack User
Input ParametersDefinitionFormat
slack_user_idID of the Slack user to receive the message.String
messageContent of the direct message (plaintext or markdown).String
_send_slack_channel_messagePost a Message to a Specified Slack Channel
Input ParametersDefinitionFormat
channelName or ID of the Slack channel (e.g., #announcements or C01ABCXYZ).String
messageContent of the channel message (plaintext or markdown).String
_modify_slack_allow_listManage Access Control for Slack Users
Input ParametersDefinitionFormat
bot_idIdentifier of the bot to update (e.g., “EVE_NEWEVE1”).String
actionAllow-list action: "LIST", "GRANT", "REVOKE", "GRANT ALL", or "REVOKE ALL".String
user_identifier (Optional)Slack user ID to grant/revoke.String
user_name (Optional)Full Slack user name to grant/revoke.String
_lookup_slack_user_idRetrieve a Slack User ID by Name
Input ParametersDefinitionFormat
user_nameThe full name of the Slack user to lookup.String
_deploy_to_slackDeploy a Bot to the Slack Workspace
Input ParametersDefinitionFormat
bot_idIdentifier of the bot to be deployed to Slack.String

Output

  • Messaging Actions

    • Confirmation of successful or failed direct message and channel message delivery.

    • Includes the target user/channel and status details.

  • Access Management

    • Confirmation of user grant/revoke actions for _modify_slack_allow_list.

    • Updated allow-list status or errors if user IDs are invalid.

  • ID Lookups

    • _lookup_slack_user_id returns Slack user IDs for further usage or messaging workflows.
  • Deployment

    • _deploy_to_slack confirms successful bot deployment or provides error details if deployment fails.

Genbot Tip

  • Validate channel names or user IDs before sending messages to reduce errors.

  • Combine with task automation tools to send targeted notifications upon task completion or status changes.

How It Works

Users determine the type of Slack interaction required (e.g., direct message, channel post, or access control update). Bot permissions and user/channel information are provided to the respective function. The message or permission update is then performed, returning success confirmations or error details. Ongoing Slack user management can be handled by modifying the bot’s allow-list and resolving user names to IDs as needed.

IMPORTANT NOTE

  • Dependence on accurate Slack user names or IDs may require validation to prevent messaging errors.

  • Excessive automated messaging can lead to notification fatigue—set frequency rules as needed.

  • Maintain bot interaction logs for compliance or audit trails in the Slack workspace.

slack_integration_tools – Provides the ability to look up Slack users by name and send direct messages in Slack.

Example on Slack

How To Use

This is used by Eve to equip Genbots with the capability to recognize Slack users by name & @mention & also the ability to send direct messages. In this example, we are asking Eve to give a Genbot this tool & to DM a message to a user.