# Chatbot com IA para agendamento online

Os serviços Mavibot — é uma das seções relacionadas ao sistema CRM que permite automatizar o preenchimento das agendas dos funcionários com reservas online por meio de um bot.

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

Para trabalhar com uma reserva online e um chatbot de inteligência artificial, precisamos de:

1. Um ramo personalizado com as categorias e os próprios serviços, bem como uma agenda de funcionários preenchida.

{% hint style="warning" %}
Atenção! \
Não se esqueça de atribuir um cargo aos funcionários nas configurações do Serviço, caso contrário, a função de leitura de serviços não funcionará!
{% endhint %}

2. Há dois blocos no construtor de funil;
3. Assistente de IA.&#x20;

## Construtor de fluxo de trabalho

Passo 1. Vá ao construtor de funil e crie o bloco "Start":

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

O bloco precisa ser criado antes das configurações do assistente, porque o usaremos para adicionar uma variável com informações sobre serviços e horários dos funcionários às configurações do projeto.

Além disso, as informações da variável ficarão disponíveis para todos os seus clientes.

Para fazer isso, escreva project antes da variável declarada, depois o nome da variável service\_info e, em seguida, atribua a ela o valor da função de leitura dos serviços disponíveis no ramo get\_info\_for\_booking.

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

No total, obtemos: project.service\_info = get\_info\_for\_booking().

Para entender que o bloco foi iniciado, adicione qualquer mensagem do sistema e, para exibir os valores armazenados em uma variável, mostre-os usando a construção #{}:

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

Em seguida, vá para a janela de teste do bot e inicie o bloco para armazenar em cache a variável nas configurações do projeto:

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

Se você fez tudo corretamente, receberá uma resposta do bot na forma de uma mensagem que você especificou neste bloco (em nosso exemplo, "Variable updated") e do valor contido na variável.

{% hint style="success" %}
Atenção!

Depois de configurar o chatbot de IA e a reserva online, não exclua o bloco "Start"

Você precisará dele se atualizar sua lista de serviços ou adicionar novos funcionários.

Para atualizar a variável service\_info no projeto, basta iniciar este bloco na janela de teste; então, os dados atualizados serão incluídos no valor da variável.
{% endhint %}

Passo 2. Crie um segundo bloco — “Chat”, no qual você precisa registrar:

1. Uma função para criar reservas

&#x20;A função create\_booking\_by\_name (service\_name, date, date\_time, company\_id) cria uma reserva com base nos dados transmitidos pelo assistente de IA ao sistema.

A função recebe três parâmetros obrigatórios para gerar a reserva:

<table><thead><tr><th width="297">parâmetros</th><th>description</th></tr></thead><tbody><tr><td><mark style="color:$danger;"><strong>!</strong></mark> service_name</td><td>parâmetro obrigatório, nome do serviço</td></tr><tr><td><mark style="color:$danger;"><strong>!</strong></mark> date</td><td>data no formato dd.mm.aaaa</td></tr><tr><td><mark style="color:$danger;"><strong>!</strong></mark> date_time</td><td>horário do serviço no formato hh:mm</td></tr><tr><td>company_id</td><td>ID da filial, opcional<br>Se for especificado, será criada uma entrada para o serviço com o nome especificado, que pertence a esta filial específica.<br>Esse parâmetro pode ser necessário se várias filiais tiverem serviços com o mesmo nome.</td></tr></tbody></table>

2. project.service\_info = get\_info\_for\_booking() — serve para configurar e fazer uma reserva no sistema CRM; esses serviços gratuitos foram disponibilizados aos usuários devido à disponibilidade de informações adicionais sobre os serviços.

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

No campo de mensagem do bloco, escreva a resposta necessária do bot após o cliente selecionar o serviço e o horário.

## Como trabalhar como assistente de IA

Em seguida, vá para o assistente de IA, onde você precisa configurar os ajustes para reserva online.

Vamos escolher o papel do assistente — ele deve ser uma reserva online:

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

As configurações prontas podem ser escolhidas a seu critério:

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

Do que depende a escolha das nossas configurações?:

1. Minimizar fantasias — é uma opção necessária para que o bot seja menos criativo e aconselhe o cliente apenas com base nos dados disponíveis.
2. Entrada de dados passo a passo — será necessário inserir os dados passo a passo para a formação da solicitação e das variáveis.
3. Não aprender com mensagens — para limitar a influência de terceiros sobre o bot e impedir que ele seja corrompido por intrusos.
4. Botões — para que o cliente não insira independentemente a data, o horário e o serviço durante o processo de criação de uma solicitação no bot.

Em seguida, vá para as configurações do bot, onde descreveremos suas principais tarefas:

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

#### **Observação importante de configuração**

Este papel foi pré-configurado pelos desenvolvedores do MaviBot com funcionalidades principais. Nas configurações, você só precisa especificar **comandos-chave adicionais** que estão fora da base de conhecimento presumida do bot.

**Orientação:**

Não há necessidade de instruir o bot sobre sua finalidade principal — ele já é totalmente capaz de orientar os clientes sobre seus serviços. Em vez disso, concentre-se em fluxos de trabalho exclusivos, detalhes específicos do produto ou cenários excepcionais.

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

{% hint style="success" %}

## **Observe**

**Seleção de serviços por botões**

Com as configurações predefinidas **"Botão"** o assistente de IA apresenta os serviços disponíveis como botões interativos.

**Principal benefício:** os clientes não precisam mais digitar manualmente os nomes dos serviços — eles podem simplesmente clicar no botão correspondente para seleção instantânea.
{% endhint %}

Depois que o cliente clicar no botão, a IA o orientará sobre o custo e o próprio serviço:

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

b) Em seguida, o bot mostrará automaticamente os dias e horários livres para o serviço selecionado pelo cliente, já que isso também está configurado nas definições do bot.

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

2. Observe o seguinte comando nas configurações do bot:

**Escrever sem alterar start\_block\_from\_ai N**

Este comando garante que o assistente de IA responda sem alterar a lógica inicial definida no `start_block_from_ai` função.

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

"Então execute o comando “start\_block\_from\_ai <mark style="color:verde;">**11916**</mark>" - em vez dos números marcados em verde, escreva o ID do bloco "Chat", que foi criado anteriormente no construtor de funil. Ele contém a função necessária para gerar uma reserva no sistema de reservas:

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

Copie o ID do bloco e defina-o no comando 'Then execute command  "start\_block\_from\_ai N"', substituindo N pelo ID.

### Outras configurações do assistente

**Para usar uma variável em cache:** Faça referência à variável armazenada em cache no **"Start"** bloco nas configurações de conhecimento do bot.

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

No conhecimento do bot, uma variável precisa ser escrita como variável usando a construção #{}

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

No campo “Formato dos dados transmitidos”, insira o valor e a chave:

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

Essas variáveis serão transferidas para o sistema após a chamada do bloco e, usando nossa função create\_booking\_by\_name(service\_name, date, date\_time), uma reserva será criada.

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

No mesmo **"Chat"** bloco, registramos novamente a variável `service_info` . Isso garante que, depois que um cliente concluir uma reserva, a variável — preenchida por sua função — seja atualizada automaticamente com os últimos horários disponíveis.

Agora, vamos testar o assistente para verificar se o processo de atualização funciona corretamente.

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

O assistente funcionou corretamente.

No exemplo, você viu que, na última mensagem enviada ao cliente, o resultado da função é exibido: após depurar o funcionamento do assistente de IA com a função de reserva online, você pode remover a variável `#{result}` da mensagem no **Chat** .

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

Depois de testar e depurar o assistente de IA com reserva online, você pode remover o `#{result}` da mensagem no bloco Chat do construtor do chatbot.

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

Agora vamos ver o calendário na seção "Booking":

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

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

Uma entrada correspondente é criada automaticamente no Calendário, levando em conta a duração necessária para o serviço reservado.

{% hint style="success" %}

#### **Resumo**

Com essa abordagem, você pode de forma eficaz **criar ramificações de serviços distintas** e **automatizar totalmente o cadastro de clientes** usando seu bot de IA.
{% 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/online-booking.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.
