Overview

Tool Name

make_baby_bot

Purpose

This tool enables users to create, configure, and administer custom bots programmatically. It allows scalable automation of tasks by assigning specific instructions and tools to newly created bots. 

Functions Available

  1. create_baby_bot: Initializes a new bot with specified instructions, tools, and settings.
  2. update_baby_bot: Modifies an existing bot’s configurations, such as tools or operational details.
  3. delete_baby_bot: Permanently removes a bot from the system.
  4. assign_tools_to_bot: Assign additional tools to an existing bot.
  5. get_available_tools: Retrieves a list of tools that can be assigned to a bot for various tasks.
  6. _remove_bot: Deletes a bot and all associated resources or permissions.
  7. list_all_bots: Lists all bots created or accessible in the system with their details.
  8. update_bot_instructions: Updates the operating instructions for an existing bot.
  9. add_new_tools_to_bot: Adds new tools to an already configured bot.
  10. add_bot_files: Enables uploading files or assets to a bot for extended functionality.
  11. update_app_level_key: Updates application-level permissions associated with a bot.
  12. _update_bot_implementation: Revises the bot’s backend implementation for switching AI models.
  13. _modify_slack_allow_list: Updates the allowlist permissions for a bot in Slack.
  14. remove_tools_from_bot: Removes selected tools from a bot.
  15. _deploy_to_slack: Deploy the bot for Slack usage and interaction.

Key Features

Bot Creation

Creates bots tailored to specific tasks with detailed configuration. 

Bot Configuration

Dynamically update bot features, tools, or instructions post-creation. 

Bot Management

Manage bots with functions to list, delete, deploy to Slack, or customize app-level permissions. 
create_baby_botCreate A Genbot
Input ParametersDefinition
bot_idA unique identifier for the bot (string, alphanumeric, e.g., "analytics_bot"). 
bot_nameA descriptive name for the bot (string, e.g., "Analytics Assistant").
bot_instructionsOperational details or responsibilities for the bot (string, e.g., "You query databases."). 
available_toolsComma-separated list of tools (string, e.g., "database_tools,slack_tools"). 
runner_idServer or operational platform for the bot (string, optional, e.g., "snowflake-1").
activate_slackBoolean to allow Slack usage (default: True). 
slack_access_openBoolean to configure Slack permissions as open or restricted (default: False). 
update_baby_botUpdate Genbot Configurations
Input ParametersDefinition
bot_idIdentifier of the bot to update.
update_detailsDictionary of updated fields (e.g., bot_instructions, new tools).
_remove_botRemove Genbot
Input ParametersDefinitionFormat
bot_idIdentifier of the bot to delete.String
add_new_tools_to_botAdd Tools To Genbot
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
tools_listComma-separated list of tools to assign.String
remove_tools_from_botRemove Tools From Genbot
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
tools_listComma-separated list of tools to remove.String
get_available_toolsRetrieve Available Tools For Genbot Use
Input ParametersDefinition
N/ANo parameters—returns a list of tools valid for assigning to bots.
list_all_botsList All Genbots
Input ParametersDefinition
N/ANo parameters—returns a list of all active or inactive bots.
update_bot_instructionsUpdate Genbot Instructions
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
bot_instructionsNew operational instructions.String
add_bot_filesAdd Files To Genbot
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.Striing
bot_instructionsNew operational instructions.String
update_app_level_keyUpdate App Key
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
app_level_keyNew key for application-level permissionsString
_update_bot_implementationSwitch AI Model In Genbot
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
implementation_codeUpdates backend code or logic to switch to the respective AI model.String
_modify_slack_allow_listSlack User Access Control
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
allow_listUpdated list of Slack locations or users granted access.String
_deploy_to_slackDeploy Genbot To Slack
Input ParametersDefinitionFormat
bot_idIdentifier of the bot.String
slack_channelChannel or group configuration for deployment.String
Genbot TipRequires specifying all required fields for the bot to be operational. 
  • Ensure the available tools are listed and functional within the environment before assignment. 
  • Recommended to confirm compatibility when using tools involving external platforms (e.g., Slack APIs). 

How It Works

The user configures the bot’s name, ID, instructions, and required tools. Once created, the bot works autonomously or collaboratively with others. 
ReminderAvoid re-using bot_id as it must remain unique for each bot.  Activation settings govern immediate Slack deployment; if unchecked, bots may remain inactive. 

Example on Slack

Call Function: Using the @mention feature in your collaboration tool will activate Eve (Slack, Teams, Google Docs, etc.).
Intention: State the purpose of the Genbot, including the role and any other details, as well as equip it with any relevant files to excel in its role. In this example, we show how you can equip your new Genbot with tools and files to enhance performance in their respective role. You can also equip files using subdirectories, allowing every file in the specific subdirectory to be assigned to the Genbot being created. Eve is the only Genbot capable of equipping new Genbots that she creates with tools and files that you provide.
Slack Activation: Eve will then provide you with the next steps to bring your Genbot into Slack! You’ll need to generate an App Token, which only a Slack user with the authority of “Slack App Configuration” can access. If you don’t have access, don’t worry; Eve can actually ask for it from the person who does.
Asking For The App Token: You can see Eve asking a team member directly for the app token.
On the Other Side: The team member receives the instructions through a direct message.
After clicking the link to generate the app token, you should see a screen like this. Scroll down and do NOT click the green button.
Keep scrolling until you see this section; click “Generate Token and Scope.”
Name your token anything you like, “token” is fine, and click “Add Scope.”
Choose the option “connections:write” from the dropdown.
After making sure Scope says “connections:write,” click “Generate.”
Click the “copy” button to copy the token to your clipboard. Click “Done” after copying the token.
Optional: If you would like to add an image for your Genbot, scroll down to the next section to where it says Display Information and click ”+ Add App Icon.”
Optional: Upload Genbot Image: Here you will want to choose your Genbot’s image. Below is an example of what we will be using for Maaarry.
Giving Eve The App Token: Take the token that you copied to your clipboard. (If you lost it, you can re-obtain it by scrolling back up.) Once you have the token, go back to your chat with Eve. Give her the token in the same thread where your team member is creating the Genbot.
Authentication: Eve will then provide an authentication URL. The same person who gave her the App Token should be the one to proceed with the next steps. Click “Allow.”
Log into Snowflake with a user authorized to access the Genesis_Bots App (ACCOUNTADMIN unless granted to someone else).
You should now see a success message mentioning your Genbot.
Adding Your Genbot In Slack: In Slack, at the bottom left, click “Add Apps.”
Search By Name: Look up your Genbot by the name you assigned it during the creation process.
Congratulations! You added your Genbot!
Example: Interacting With The New Genbot Direct Message: You can now go to your messages tab to talk to your Genbot.
Channel: Use the @mention feature tagging your Genbot to add it to an existing channel. Click “Invite Them.”
Interaction With Teammates: Your Genbot is now in the channel, and you can introduce them to your teammates.
Interaction With Other Genbots: Your Genbot can also interact with other Genbots!
NOTE: Introduce Genbots to each other carefully, as sometimes they’ll go on and on. But you can tell them to stop if needed.