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.

Para trabalhar com uma reserva online e um chatbot de inteligência artificial, precisamos de:
Um ramo personalizado com as categorias e os próprios serviços, bem como uma agenda de funcionários preenchida.
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á!
Há dois blocos no construtor de funil;
Assistente de IA.
Construtor de fluxo de trabalho
Passo 1. Vá ao construtor de funil e crie o bloco "Start":

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.

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 #{}:

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:

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.
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.
Passo 2. Crie um segundo bloco — “Chat”, no qual você precisa registrar:
Uma função para criar reservas
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:
! service_name
parâmetro obrigatório, nome do serviço
! date
data no formato dd.mm.aaaa
! date_time
horário do serviço no formato hh:mm
company_id
ID da filial, opcional Se for especificado, será criada uma entrada para o serviço com o nome especificado, que pertence a esta filial específica. Esse parâmetro pode ser necessário se várias filiais tiverem serviços com o mesmo nome.
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.

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:

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

Do que depende a escolha das nossas configurações?:
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.
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.
Não aprender com mensagens — para limitar a influência de terceiros sobre o bot e impedir que ele seja corrompido por intrusos.
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:

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.

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.
Depois que o cliente clicar no botão, a IA o orientará sobre o custo e o próprio serviço:

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.

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.

"Então execute o comando “start_block_from_ai 11916" - 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:

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.

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

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

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.

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.

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 .

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.

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


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