Channels & Access Rules

Note: If you are installing a Slack bot, we assume at this point you already established a connection. Refer to the Slack documentation here.

The first thing to do is to configure what we call “Connection Rules”. These are per-channel rules, and each tells which projects, pipelines, operators and integrations your Bot connection will have access to when the users in that channel ask data questions to the bot (which, lets clarify, will need to be in that channel as well in most chat providers).

Note: We highly recommend that you clean your data before that in a data pipeline. For example if you have columns with JSON, you should create columns for each element. That way it will be cleaner and easier for the AI to write code.

In general we recommend if possible to have only one table. The table ideally should be cleaned with no NULLS. This increases the bot performance significantly.

So, you go to that section:

cr.png

And click “Add Rule”. Then you’ll see the dialog and then you must properly fill it. For example, if your chat is named “general” (#general in some chat services), you’ll use that name. Also, you’ll choose whether you’ll link integrations to this rule, or projects / pipelines / operators (in this case, you may choose any project you want to add, any pipeline or any operator, and all the related tables will be considered):

Example for a rule which matches integrations. Any integration in your workspace may be listed here.

Example for a rule which matches integrations. Any integration in your workspace may be listed here.

Example for a rule which matches entire projects, pipelines, or specific operators.

Example for a rule which matches entire projects, pipelines, or specific operators.

There’s something you have to understand here:

  1. If you choose to list integrations, only integrations will be added.
  2. If you choose to list projects, pipelines and/or operators, only those will be added.
    1. To add a project (which implies: adding all the tables associated to it, being them from linked integrations or contained pipelines and their operators) just choose a project, and leave the Pipeline and Operator selectors in “Select” (i.e. empty).
    2. To add a pipeline (which implies: adding all the tables associated to it and their operators) choose a project and a pipeline, leaving the Operator selector in “Select” (i.e. empty).
    3. To add an operator (which implies: adding all the tables associated to it) choose a project, pipeline, and operator.
    4. You’ll quickly get that, for each row you add here, the more you specify means the more restrictive is your allowance in that entry.
    5. You can add many entries (in my example, I added 3: One for all the tables in the “Intermedia” project, one for all the tables in the “Sample Pipeline” pipeline in the “Sample Luis’ Project” project, and one for all the tables in the “TRAIN” operator in the “Classification …” pipeline which in turn is contained in the “Diego’s project …” project.

If you don’t define a rule for a channel, the bot will complain when a user tries to interact with him. One of these rules is always needed. Due to security reasons, we don’t allow creating a rule granting access to all the projects and integrations implicitly: the rule must always be explicit, following the stated rules earlier.

For the Custom bot, once you create a Rule you will see the Documentation link in one of the Connection Rule columns.