# Assistente de IA com tabelas do MaviBot

Usando uma função dedicada desenvolvida pela equipe do MaviBot, seu chatbot de IA pode ler valores de uma Planilha Google de forma inteligente e armazená-los em uma **variável do sistema nas configurações do seu projeto**. Isso cria uma fonte de dados dinâmica e sincronizada para o seu assistente.

#### **Aplicações práticas**

Essa funcionalidade é essencial para cenários como:

* **Assistente de catálogo de produtos:** uma IA que aconselha clientes sobre o seu **portfólio atual de produtos, preços e disponibilidade** em tempo real.
* **Bot inteligente de promoções:** um bot que **promove suas ofertas** destacando dinamicamente recursos, especificações ou promoções extraídos diretamente da sua planilha.

### **Como preparar sua tabela para integração**

Para começar, vá para a seção de planilhas:

<div data-with-frame="true"><figure><img src="/files/5c5caca5cac839ce8e2dee1db5791900ccd005f2" alt=""><figcaption></figcaption></figure></div>

Em seguida, você verá o botão "Adicionar planilha", que abre uma janela modal na qual você precisa inserir o nome da planilha:

<div data-with-frame="true"><figure><img src="/files/62ae339d8de8230ac3c4e75ee8fe372ee24b04e1" alt=""><figcaption></figcaption></figure></div>

Insira o nome da planilha e clique no botão "Concluído". Então uma nova planilha será criada no projeto e aparecerá na seção "Planilhas":

<div data-with-frame="true"><figure><img src="/files/a4c1b0b123a272393f5b3a2b9cf2d4f65f55e167" alt=""><figcaption></figcaption></figure></div>

### Configurações da planilha

Depois de criar a planilha, você precisa adicionar linhas e colunas. Para fazer isso, encontre o botão "Ir para" no کارتão da planilha desejada e clique nele.

Você vê as próximas configurações:

<div data-with-frame="true"><figure><img src="/files/ec603e7c8a02c5b50a20c70e1e91e88a83cac04f" alt="" width="563"><figcaption></figcaption></figure></div>

Para adicionar uma coluna com um nome, clique no botão "+":

<div data-with-frame="true"><figure><img src="/files/34785aa1ffa5d06869d4696233ddd1dc4637b6e7" alt=""><figcaption></figcaption></figure></div>

Quando você clicar no botão, uma janela modal será aberta onde você poderá inserir um nome para a nova coluna.

Depois de inserir o nome da coluna, clique no botão "Concluído"; então a nova coluna será adicionada à planilha. Adicione o número necessário de colunas e depois linhas.

<div data-with-frame="true"><figure><img src="/files/2da1876fd969b6e698b58c06670ba802899d9b09" alt="" width="563"><figcaption></figcaption></figure></div>

&#x20;Agora, sua planilha está assim.

<div data-with-frame="true"><figure><img src="/files/78cb84c535b8bf372cc12e3b90d65b301a4174ed" alt="" width="563"><figcaption></figcaption></figure></div>

Copie (lembre-se) do ID da planilha: para fazer isso, clique na barra de endereço:

<div data-with-frame="true"><figure><img src="/files/e904edbb36c1923cae1bd812cdb023851c3a0be4" alt="" width="563"><figcaption></figcaption></figure></div>

Em seguida, vamos para a configuração dos blocos no construtor.

## Trabalhando no construtor de Chatbot

### Função get\_records\_from\_table()

Para usar a função get\_info\_from\_table(), você precisa de um bloco no construtor do chatbot.&#x20;

Vá para a aba apropriada no Mavibot e crie um bloco com um gatilho (bloco inicial ou bloco de gatilho):

<div data-with-frame="true"><figure><img src="/files/e884188d2fffb555ef08299aa85628ed5f7d6ab6" alt=""><figcaption></figcaption></figure></div>

Defina uma variável (ela será usada para o conhecimento do assistente de IA): neste exemplo, a variável é 'record'.

Exemplo de código da Calculadora

<mark style="color:verde;">`project.`</mark><mark style="color:vermelho;">`record`</mark>` ``=`` `<mark style="color:laranja;">`get_records_from_table`</mark>`(1)`

1. <mark style="color:verde;">`project. - é um construtor para definir uma variável na configuração do projeto;`</mark>
2. <mark style="color:vermelho;">`record - nome da variável;`</mark>
3. <mark style="color:laranja;">`get_records_from_table`</mark>`(1) - função, onde o parâmetro é passado como ID da tabela.`&#x20;

<details>

<summary>Leia mais sobre a função get_record_from_table()</summary>

`get_records_from_table(table_id, start_row, count, start_col, end_col)` – para obter registros de uma tabela

| Parâmetro       | Descrição                                                              | Observação                                                                                                                |
| --------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **!** table\_id | ID da tabela (parâmetro obrigatório)                                   |                                                                                                                           |
| start\_row      | parâmetro opcional, inteiro. Especifica a linha inicial do intervalo   | aceita o número da linha a partir da qual começar a ler os valores da tabela, inclusive. Deve ser especificado sem aspas  |
| count           | parâmetro opcional, inteiro. Especifica o número de linhas a recuperar | valor padrão: 1000. Máximo: 5000. Deve ser especificado sem aspas                                                         |
| start\_col      | parâmetro opcional, string. Especifica a coluna inicial do intervalo   | aceita o nome da coluna a partir da qual começar a ler os valores da tabela, inclusive. Deve ser especificado entre aspas |
| end\_col        | parâmetro opcional, string. Especifica a coluna final do intervalo     | aceita o nome da coluna até a qual ler os valores da tabela, inclusive. Deve ser especificado entre aspas                 |

**Para ler todos os dados a partir de um certo ponto:** Especifique apenas o **início** do intervalo. **Para ler todos os dados até um certo ponto:** Especifique apenas o **fim** do intervalo.

</details>

Em vez de #{none}, escreveremos nossa variável na mensagem usando a construção #{} para ver visualmente quais dados foram gravados na variável do projeto.

<div data-with-frame="true"><figure><img src="/files/69cb3e5c3d30f014efe4b6512e9ec8dc567522ca" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}

## Atenção

A variável incorporada na mensagem é necessária para verificar se o bot lê a função corretamente.                                                                                                                                                            Quando você executar o bloco no modo de teste, o bot exibirá os valores que serão atribuídos à variável.
{% endhint %}

{% hint style="success" %}

## Observe

Depois de configurar a chamada do bloco no modo de teste e salvar a variável nas configurações do projeto, não exclua este bloco.&#x20;

Você pode precisar dele: por exemplo, se tiver adicionado mais valores à tabela, basta executar o bloco no modo de teste. Então os dados na variável do projeto serão atualizados.
{% endhint %}

{% hint style="info" %}
O nome da variável pode ser qualquer nome de sua preferência.
{% endhint %}

### Bloco de transferência de dados&#x20;

Em seguida, criaremos o bloco "Chat" para transferir dados para a ficha do cliente.

<div data-with-frame="true"><figure><img src="/files/c5f6ed52432f86846cc6931bff28e86788121d90" alt=""><figcaption></figcaption></figure></div>

"Este bloco também pode transmitir uma mensagem de encerramento do bot, como: 'Estou passando as informações para o gerente! O gerente entrará em contato em até 10 minutos.'"

Em seguida, copie o ID do bloco. Você precisará dele para configurar o assistente de IA no comando "start\_block\_from\_ai 11956" e no comando de teste "Block call 11956", onde em vez do <mark style="color:vermelho;">ID do bloco</mark> do exemplo, você precisa inserir o seu ID do bloco.

{% hint style="success" %}

## Observe

Após o teste, substitua "Block call <mark style="color:vermelho;">31241050</mark>" pelo comando "start\_block\_from\_ai <mark style="color:vermelho;">31241050"</mark>.

O comando "Block call <mark style="color:vermelho;">31241050</mark>" é para depuração e ajuda a entender quais dados o bot está registrando (veja a seção "Teste").

Para iniciar o bot para os clientes, especifique o comando "start\_block\_from\_ai <mark style="color:vermelho;">31241050</mark>".
{% endhint %}

### Lendo uma tabela

1. Navegue até o **modo de teste do bot** .
2. Inicie o bloco que contém o gatilho para ler os dados da tabela.

<div data-with-frame="true"><figure><img src="/files/7cf076f1df3e2e523d4e9f978c0d01eb870c730d" alt="" width="563"><figcaption></figcaption></figure></div>

O bloco funcionou corretamente. Você pode ver isso confirmado pelos valores agora armazenados na variável correspondente nas configurações do seu projeto.

**Para verificar manualmente:**

1. Vá para a guia **Configurações do projeto** seção.
2. Localize a variável para ver seus dados atuais.

<div data-with-frame="true"><figure><img src="/files/83fe9831b65245b9cd571d5c21a46e7af96811be" alt="" width="563"><figcaption></figcaption></figure></div>

Na aba "Variáveis" nas configurações do projeto, você verá sua variável com os valores adicionados nela a partir da tabela. Então, agora, dentro do seu projeto, há uma variável com produtos, custo e tudo o que você especificou na tabela.

## Trabalhando no assistente de IA

Vá para a seção "Assistente de IA" e inicie o chatbot com as configurações de IA.

Você precisa escolher a função "Assistente de vendas":

<div data-with-frame="true"><figure><img src="/files/6e7ce4b5592d0f1d7a86a612668a287d8eb70231" alt=""><figcaption></figcaption></figure></div>

Também definiremos configurações adicionais:

<div data-with-frame="true"><figure><img src="/files/73c72ce3d25ab8e4cef8b18641220e5041d8ce18" alt="" width="563"><figcaption></figcaption></figure></div>

### &#x20;Configurações do assistente de IA

Nas configurações do bot, escreva os seguintes dados:

1. A posição e as instruções para o bot.

<div data-with-frame="true"><figure><img src="/files/f819c99facdddf52e28e1f2d7cf58ae65f28e240" alt="" width="563"><figcaption></figcaption></figure></div>

2. O comando para chamar o bloco e transferir variáveis para o sistema é escrito da seguinte forma:

`"Se tudo estiver correto, execute o comando "start_block_from_ai 11956"`", onde em vez de N é escrito o ID do bloco com a mensagem final: o bloco Chat transmite dados para a ficha do cliente:

<figure><img src="/files/d54d829dec6bc3f70b4f915b2c943ebb9bfe6f4c" alt=""><figcaption></figcaption></figure>

### Conhecimento do bot

No campo "Conhecimento do bot", passe a variável que foi armazenada anteriormente como um bloco com o gatilho.

<div data-with-frame="true"><figure><img src="/files/4513d32a3ea93ba680de8feab3892b8097ae7dbb" alt="" width="563"><figcaption></figcaption></figure></div>

Conhecimento do bot.

<div data-with-frame="true"><figure><img src="/files/ac332292706980419715a4910cc87e91f6823dfa" alt=""><figcaption></figcaption></figure></div>

Dessa forma, o bot pegará informações de uma variável nas configurações do projeto e orientará seus clientes sobre o sortimento de produtos disponível.

### Formato dos dados

No formato dos dados transmitidos, você especifica os dados que está coletando por conta própria (por exemplo, um produto), depois insere a frase com a "chave" e atribui um valor à chave.

`o nome do cliente com a chave client_name, o telefone do cliente com a chave phone_number, a cidade e o endereço com a chave city_address, o produto escolhido com a chave product, a quantidade do produto com a chave quantity, o valor total do pedido com a chave total_amount.`

<div data-with-frame="true"><figure><img src="/files/53cbafe4259233c86353b6032c30c6f4fa0b79fe" alt=""><figcaption></figcaption></figure></div>

Dessa forma, ao chamar o bloco, as variáveis serão passadas para a ficha do cliente: então você pode trabalhar com variáveis, por exemplo, no construtor do chatbot:

<div data-with-frame="true"><figure><img src="/files/c3ba2eb9bfa034c0eb3f4721704c6145f2878665" alt="" width="563"><figcaption></figcaption></figure></div>

Nesta etapa, a configuração do assistente de IA está concluída.&#x20;

Os parâmetros restantes podem ser definidos conforme sua preferência:

<div data-with-frame="true"><figure><img src="/files/5ddb9597039fd34dbf74b982a337c3372c0e993a" alt="" width="563"><figcaption></figcaption></figure></div>

## Testando um bot

"Se você já tiver bots em execução, especifique na condição de inicialização do assistente de IA para iniciar apenas na janela de teste."

Passo 1. Clique no construtor de gatilhos

<div data-with-frame="true"><figure><img src="/files/21b8ce818ed33244169f974dd3a6dc278f7d4237" alt=""><figcaption></figcaption></figure></div>

Passo 2. Selecione a aba com a janela de teste e clique em "Adicionar gatilho":

<div data-with-frame="true"><figure><img src="/files/99890d9e1e125966d8ea61c85b4d6dff8e7bcfe7" alt=""><figcaption></figcaption></figure></div>

Agora, na condição do gatilho, você verá o seguinte valor:

<div data-with-frame="true"><figure><img src="/files/45d5642d735d14720d7f37d1fc5c319cc4b90d6d" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Dessa forma, o bot será executado apenas na janela de teste e em nenhum outro lugar.

Depois de depurar o bot, remova essa condição.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/3dfe23d389404b068955a3ff6e18b4681017fb84" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/3bc7a7b249fde54a688938aa955932453e87450a" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/1f4a2dc7297ef94ab7aebcc42de386eb15c7614d" alt="" width="375"><figcaption></figcaption></figure></div>

Esta mensagem está sendo enviada em m[odo de teste devido ao comando "Block call <mark style="color:vermelho;">**3124105**</mark>](/doc/pt/chatbot/ai/assistant.md#data-transfer-format)

<div data-with-frame="true"><figure><img src="/files/2be4c2d02c386e088514b4454939b68f4c40eff9" alt="" width="375"><figcaption></figcaption></figure></div>

Após testar e depurar o bot, escreva o comando nas configurações do bot "start\_block\_from\_ai <mark style="color:vermelho;">**31241050**</mark>".

{% hint style="success" %}
Essa abordagem permite que você crie **qualquer tipo de loja virtual** e aproveite **quaisquer valores de dados** armazenados na sua tabela.

O único limite verdadeiro é a sua imaginação.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/pt/chatbot/ai/tables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
