Overview

Tool Name

bot_management_tools

Purpose

The bot_management_tools enable users to manage the entire lifecycle of bots. These tools support the creation, configuration, deployment, and retirement of bots, ensuring seamless management and adaptability as workflows, tasks, and organizational needs evolve.

Functions Available

  1. make_baby_bot: Creates a new bot with custom instructions and tool access.

  2. add_new_tools_to_bot: Adds additional tools to an existing bot to extend functionality.

  3. remove_tools_from_bot: Removes existing tools from a bot to modify its capabilities.

  4. update_bot_instructions: Updates the operational instructions (system prompt) for a bot.

  5. update_app_level_key: Updates the Slack app-level key for deployment in the Slack workspace.

  6. _update_bot_implementation: Changes the bot’s underlying implementation type (e.g., switching between AI models).

  7. _remove_bot: Deletes a bot and removes associated resources.

  8. _deploy_to_slack: Activates the bot in your Slack workspace for communication and interaction.

  9. _modify_slack_allow_list: Manages bot access permissions in Slack, including adding or removing users/groups.

  10. _list_all_bots: Retrieves a list of all bots to monitor their status, instructions, tools, and deployment settings.

Key Features

Create & Configure Bots

Create new bots with unique functionalities, tool access, and configurations.

Modify Bot Capabilities

Update bot instructions or add/remove tools to extend or restrict functionality.

Deploy & Deactivate

Deploy or deactivate bots in Slack for effective collaboration and interaction.

Retire Bots

Retire bots when they are no longer needed, ensuring efficient resource usage.

Input Parameters

make_baby_botCreate a New Bot with Custom Instructions & Tools
Input ParametersDefinitionFormat
bot_idA unique identifier for the bot (e.g., "task_bot_abc123").String
bot_nameName of the bot (e.g., "Task Automation Bot").String
bot_instructionsDetailed system instructions for the bot (e.g., "You are a task automation bot.").String
available_tools (Optional)Comma-separated list of tools for the bot (e.g., "database_tools,email_tools").String
runner_id (Optional)Identifier for the server running the bot.String
activate_slackSet to "Y" to deploy in Slack automatically (default: "Y").String
slack_access_openBoolean flag to enable open Slack access (default: True).Boolean
add_new_tools_to_botAdd Additional Tools to an Existing Bot
Input ParametersDefinitionFormat
bot_idUnique identifier of the bot.String
new_toolsList of tools to add (e.g., ["email_tools", "harvest_control_tools"]).List
remove_tools_from_botRemove Tools from an Existing Bot
Input ParametersDefinitionFormat
bot_idUnique identifier of the bot.String
remove_toolsList of tools to remove (e.g., ["google_drive_tools"]).List
update_bot_instructionsUpdate the Operational Instructions (System Prompt) for a Bot
Input ParametersDefinitionFormat
bot_idUnique identifier of the bot.String
new_instructionsNew instructions or system prompt (string).String
update_app_level_keyUpdate the Slack App-Level Key for a Bot
Input ParametersDefinitionFormat
bot_idUnique identifier of the bot.String
slack_app_level_keyUpdated Slack app-level key for workspace integration.String
_update_bot_implementationChange the Bot’s Underlying Implementation Type (e.g., AI Model)
Input ParametersDefinitionFormat
bot_idUnique identifier of the bot.String
bot_implementationNew implementation type (e.g., "openai", "cortex").String
_remove_botDelete a Bot & Its Associated Resources
Input ParametersDefinitionFormat
bot_idIdentifier of the bot to be permanently deleted.String
_deploy_to_slackActivate a Bot in the Slack Workspace
Input ParametersDefinitionFormat
bot_idIdentifier of the bot for Slack deployment.String
_modify_slack_allow_listManage Bot Access Permissions in Slack
Input ParametersDefinitionFormat
bot_idUnique identifier of the bot.String
actionAction to perform (e.g., "LIST", "GRANT ALL", "REVOKE ALL").String
user_identifier (Optional)Slack user ID to grant/revoke.String
user_name (Optional)Slack username for granting/revoking user permissions.String
_list_all_botsRetrieve a List of All Managed Bots
Input ParametersDefinitionFormat
with_instructions (Optional)Boolean indicating whether to include full instructions in the listing.Boolean

Output

  • Bot Lifecycle Management

    • Confirms successful creation, updates (e.g., instructions, tools), or deletion of bots.

    • Provides a list of existing bots along with key configuration details.

  • Slack Deployment

    • Confirms whether the bot has been deployed to Slack successfully, including any access permissions or allow-list changes.
  • Tool & Instruction Management

    • Return messages confirming added or removed tools, as well as updated instructions or Slack app-level keys.

Genbot Tip

  • Use meaningful bot_id and bot_name values to track and manage multiple bots efficiently.

  • Regularly review and update bot instructions to keep pace with evolving workflows or organizational changes.

How It Works

Users define a bot’s identity using make_baby_bot, specifying instructions and which tools to enable. Over time, the bot’s capabilities can be expanded or refined using add_new_tools_to_bot, remove_tools_from_bot, or update_bot_instructions. Integration with Slack is facilitated through update_app_level_key and _deploy_to_slack, while _modify_slack_allow_list manages user permissions. When no longer needed, a bot can be decommissioned via _remove_bot, ensuring clean retirement of resources.

IMPORTANT NOTE

  • Deletions are permanent—back up bot instructions or configurations if you anticipate needing them later.

  • Extensive updates to bot tools or instructions may momentarily disrupt ongoing tasks—plan maintenance windows accordingly.

  • Overuse of Slack deployment or notifications can cause alert fatigue—focus on critical notifications.