Pre-Requisites

To complete this installation you will need the following:

  • Snowflake account

Installation Video Guide

A step-by-step video guide is available for people who prefer a visual walkthrough.

Installation Steps

Snowflake Marketplace: In the Snowflake Marketplace, browse to the Genesis Bots App.

Click the “Get” button to begin the installation of the Genesis Bots App in your Snowflake account.

Choose A Virtual Warehouse: Set the application name and choose a Virtual Warehouse.

DON’T change the application name to anything else, keep it as “Genesis_Bots”

Click the “Get” button to continue the installation process.

Installing The App: The Genesis Bots App will now be installed in your Snowflake account.

An email will be sent to the email address listed in the user profile of the Snowflake User installing the application.

Installation Complete: Once the installation has been completed successfully,

Click the “Configure” button to open the Streamlit app, which will launch in a new window.

Configuration

Now that you have completed the installation, the next part is the service configuration.

The first step is granting account privileges – click “Grant” and you should now see that all required privileges have been granted.

Once you see “Granted” (highlighted in green) Click The “Activate” button that will appear on the left side. On a new installation, the activation process will create an X-Small virtual warehouse and a small snowflake compute pool, and the Genesis services will be started.

Note: After clicking “Activate” expect 3-15 minutes for service startup

Genesis Application Set-Up

Congratulations! The service is set up, Now Click “Launch App” and you’re ready to configure your Genesis Bots application.

Once you launch the application, you will be asked if you would like to share app event logs. (This Is Optional, but highly recommended for enhanced support of your application)

Note: If you choose to enable optional log sharing to Genesis, Genesis can also see the logs generated by the application via Snowflake data sharing, which may contain snippets of messages sent to and from the bots. Only enable this if you are comfortable with Genesis computing seeing such snippets, as it’s not required.

While you are now able to interact with the Genbots, we recommend that you finish the configuration first.

Genesis Bots default to Cortex utilizing only the models capable of agentic workflows, but we are model agnostic and you can also choose to use OpenAI models. Skip the next section if you’re only using the Cortex-supported models.

(Optional) In the next section we’ll be going over selecting your LLM Model of choice. Navigate to the left side panel and Click “LLM Model & Key”

(OPTIONAL) – LLM Model Set-Up

The first screen will require you to connect to the following external endpoints. If you are looking to use OpenAI, Click “Connect” Otherwise your Genesis Bots will only have access to Cortex.

Note: You’ll need to have an OpenAI API key (available at api.openai.com) to use the OpenAI Models.

After Clicking “Connect” you’ll need to assign external access integration to Genesis so you can enter your LLM key by Clicking “Assign EAI to Genesis”

Note: Expect 3-5 minutes while the Genesis services restart before you can enter your OpenAI API key.

Enter your API key and Click “Submit Model Selection”

Once the OpenAI API key has been validated, the application will prompt you to refresh the browser.

Now that your LLM of choice has been selected, let’s set up your email integration, you can also now connect your Slack workspace by following the steps on the Activate on Slack page.

Configure Email

Genesis Bots uses the Snowflake notification to send emails when they run autonomous tasks for you. For example, Janice can email you when she identifies any concerns with the security of your Snowflake account, or if she has ideas for Snowflake cost savings or performance improvement opportunities.

Email Configuration Steps

First, we need to check if your Snowflake account email has been validated by Snowflake. Click your name & select “My Profile”

If your email has not been validated it will look like this, please Click “Resend Verification Email”

You should now be receiving an email from Snowflake asking you to “Validate Your Email”

Click “Validate Your Email” – Your email has been verified!

Click “Copy” on the code block on the “Configure Email” screen

Now open another Snowflake window/tab, go to “Projects”, and click the “+” to make a new Snowflake worksheet.

Run these commands in the worksheet to set up a Snowflake notification integration and grant Genesis privileges to use it to allow the Genbots to send you emails. This will also test that Snowflake can send you an email, ensuring the email address was set up and validated correctly. The final step is to set the email as the default for notifications from Genesis.

Once you have run those commands, you should receive a test email from Snowflake coming from no-reply@snowflake.net

(Example below)

If you haven’t received the email yet, Click “TEST Email Integration from Genesis Server” and if you’ve run every line in the command you should see the words Email Setup Successful

Now that your Email has been set up.

The next step is (Optional) – You can create a custom warehouse if you’d like more control over the warehouse size or prefer to use and existing one. If this doesn’t apply to you, you can skip this step. To set up a custom warehouse navigate to the left side panel, and we will guide you through the process.

(OPTIONAL) – Configure Warehouse

Best Practice: We recommend a dedicated, X-Small virtual warehouse to be created specifically for the operation of the Genesis application. Whether the virtual warehouse is existing or newly created, the Genesis application must be granted usage privileges on the virtual warehouse.

Note: the Genesis application has already created an X-Small virtual warehouse, APP_XSMALL, which can be suspended in the case that a custom warehouse is assigned to Genesis.

Configuring A Custom Warehouse

The user configuring the Genesis application can easily select all SQL commands in the code box and copy & paste them into a Snowflake Snowsight worksheet, where the entire set of commands for each individual statement can be executed.

Each of the following configuration steps will follow the same process of copying & then pasting the scripts to Snowsight for execution.

Refer to the Warehouse configuration script & copy the script below to paste into Snowsight

— select role to use, generally Accountadmin or Sysadmin use role ACCOUNTADMIN;

— set the name of the installed application set APP_DATABASE = ‘GENESIS_BOTS’;

— set warehouse name to use set APP_WAREHOUSE = ‘XSMALL’;

— create the warehouse if needed CREATE WAREHOUSE IF NOT EXISTS IDENTIFIER($APP_WAREHOUSE) MIN_CLUSTER_COUNT=1 MAX_CLUSTER_COUNT=1 WAREHOUSE_SIZE=XSMALL AUTO_RESUME = TRUE AUTO_SUSPEND = 60;

— allow Genesis to use the warehouse GRANT USAGE ON WAREHOUSE IDENTIFIER(APP_WAREHOUSE)TOAPPLICATIONIDENTIFIER(APP\_WAREHOUSE) TO APPLICATION IDENTIFIER(APP_DATABASE);

Result: Below is what it should look like after copying & then pasting the scripts into Snowsight for execution.

Make sure you are clicking “Run All” in the top right in Snowsight after pasting the scripts.

Once that is done, click the “TEST Access to Warehouse button to ensure that the SQL commands were completed successfully.

Note: If the test fails, go back to the warehouse configuration script and ensure that the correct warehouse has been granted to the Genesis Bots application.

Once you see that is was a success, please Click “Assign Warehouse to Genesis”

Note: Expect 3-5 minutes while the Genesis services restart as the virtual warehouse is updated.

Congratulations! We’ve reached the end of Installation & Configuration Proceed forth to Grant Data Access to your Genbots.