Bot for Slack (analytics assistant) powered by Jedi

This feature enables customers to set up a Bot for Slack application into their workspaces. By adding this new bot, users within the workspace can easily request data from their Datagran workspace (for both integrations and operators) by simply asking, as though they were speaking to another person, without requiring any knowledge of Python or SQL.
The bot will provide users with downloadable data and any relevant metrics, if available.

Note: Please note that this application differs from the Slack Destination. Install this app if you wish to query data in a natural language format. On the other hand, utilize the Slack Destination to send data to your Slack channels and receive notifications.The bot will provide users with downloadable data and any relevant metrics, if available.

Disclaimer:

Our application utilizes advanced language models, such as GPT4, to provide responses within the Slack platform. While we strive for accuracy and relevancy in our responses, it's important to note that like any AI-driven system, there is a potential for inaccuracies or unexpected outcomes. Factors such as input context, user-generated content, and the dynamic nature of language can influence the responses generated by the system. We have taken steps to ensure transparency and mitigate the risk of inaccurate responses by including this disclaimer in both our long description and landing page. However, users should exercise discretion and critical judgment when interacting with the application's outputs. Our team is committed to continuously improving the accuracy and performance of our system, and we welcome feedback to help us enhance the user experience.

By using our application, you acknowledge and accept the inherent limitations of AI technology and agree that our team shall not be held liable for any consequences resulting from the use of the application's responses.

Configuration

The following steps must be accomplished in order to have this bot in a Slack workspace:

  • Slack setup: Have a Slack workspace and install the Jedi app in one of the channels.

  • Datagran setup: Have a Datagran workspace and establish connections properly.

  • Usage: Manage tables cache and make queries.

Step 1 - Slack setup

The first thing that is needed here is to already own a Slack workspace and, for the user that wants to complete this setup, to have "admin" or "owner" roles in the same Slack workspace.
The next step is to install the application:

  • First, log into your Datagran workspace. If you don’t have an account creating an account is free. Your account will contain dummy data so that you can test your bot for Slack.

IMAGEIMAGE
IMAGEmobileIMAGE

2.

In your project, hover over the black square in your left menu and select your workspace. In this example is ‘datagranco’.

IMAGEIMAGE

In your workspace main page find “Bots” and click the “Add new Bot”. Then Select Slack.

Pipelines sectionIMAGE

In your workspace main page find “Bots” and click the “Add new Bot”. Then Select Slack.

3.

Install it in your Slack team workspace by following the step by step guide.

Bot InstructionsIMAGE

Step 2 - Datagran setup

Now it's time to create a Jedi connection from Datagran (This process is mentioned in the step by step setup mentioned in Step 1 (Slack Setup). If you already did this step please skip connection instructions explained in this section). For this, a workspace must exist (and have available data units) to connect the Slack workspace to. In order to link the Slack team workspace to such Datagran workspace, execute the connect  command:

IMAGE
IMAGE

When done, this command will return a link. Click it (first, ensure you’re already logged in the Datagran workspace), and a confirmation message will appear.

Congratulations! The Datagran workspace is connected to the Slack workspace.

There are two additional commands that are useful:

  • /datagran:jedi disconnect : To close the current connection (only one connection can be established to a Slack workspace at a given time).

  • /datagran:jedi current : Tells which is the current Datagran workspace that Jedi is connected to (in the current Slack workspace).

Please note: To use these 3 commands, the user must be a Slack workspace administrator.
You’ll notice the connection was established successfully:

Bot configurationIMAGE

Then you can dive into your Bot metrics:

IMAGEIMAGE

Step 3 - Channels & Files configuration

For details on how to define connection rules for the channels and the associated extra files you want to add to them, see this page: General Setup

Step 4 - Tables recognition

In order to use the bot properly, there is something to do first (in face, this can be done even prior to defining any channel connection rule): let it know the tables assigned in the connection rules. This is done in a straightforward way:


  • /datagran:jedi refresh-tables : Makes the bot [re-]learn all the details about the tables in the customer's Datagran workspace. You’ll be notified when this task finishes.

Depending on the workspace size, this operation might take some time to complete, varying from one or two to several minutes or more than one hour.
The previous step is necessary to perform any query but, if it was never run in first place, it will automatically be run the first time a channel connection is created.

If you’re not sure about what tables are being recognized (and whether you should invoke the previous command), you can try another command (however, this only works for integrations and their tables):


  • /datagran:jedi list-integrations (lists the integrations, returning the first page of the listing)

  • /datagran:jedi list-integrations 5 (lists the integrations, returning the 5th page of the listing)

Step 5 - Querying

Now, making a query is as simple as tagging @Datagran Jedi bot while asking something from the existing tables.

Take this example:

IMAGE
IMAGE

Assuming that the workspace has a table whose name is something related to employees (and that table is allowed in the channel’s connection rule), it will try to guess which field is related to the price and filter properly, and then will check which one corresponds to the weight and will filter properly. In the end, it will return:


  • A Python code chunk to download the data.


  • A set of CSV files with the data that was requested (directly from the intermediate Python code chunk).


  • A textual response sent to the user, including some intersting insights.


You can ask follow up questions to the bot within a thread and it will remember the history of the conversation.