- Integrantes
- Descrição
- Requisitos
- Tecnologias
- Fluxo do Software
- Dificuldades
- Resultados
- Como_Usar
- Conclusão
- Anderson do Vale - and3510
- Beatriz Barreto - whosbea
- Cristovam Paulo - cristovam10000
- Guilherme de Assis - onizuka465
- Gustavo do Vale - gustavodovale
- Lucas Cesar - lucascesar1107
O projeto consiste na criação de um chatbot especializado para a clínica médica "Clinimagem", com o objetivo de aprimorar o atendimento ao paciente e oferecer acesso ágil às informações sobre serviços, agendamentos, horários e procedimentos. Utilizando uma interface intuitiva, o chatbot funcionará por meio do WhatsApp e web, sendo capaz de compreender perguntas e fornecer respostas detalhadas. Com funcionalidades como assistência no agendamento online, consultas sobre convênios e respostas a dúvidas frequentes, o sistema visa melhorar a satisfação dos pacientes e otimizar o fluxo de trabalho da recepção, permitindo foco em atendimentos mais complexos.
- Informações sobre Convênios
- Informações sobre o Preparativo para Exames Laboratoriais e de Imagem
- Disponização do link para consulta dos exames do paciente
- Informações sobre Consultas
- Exames do DETRAN
- Exames de Medicina do Trabalho
- Retornar ao Menu Principal
- Resultados de Exames
- Tranferencia para o atendimento ao cliente
- Encerrar atendimento
- Função de Avaliação do chatbot
- Lista de Botões
- IA para tirar duvidas
- Typebot: Plataforma para criar chatbots interativos, sem programação complexa.
- NocoDB: Banco de dados visual que transforma dados em planilhas.
- Evolution API: Automação para envio de mensagens via WhatsApp.
- WhatsApp: Plataforma para troca de mensagens e comunicação instantânea.
- Groq: IA para geração de conversas em linguagem natural da GroqCloud.
- Docker: Virtualização de aplicações em contêineres para qualquer ambiente.
- Postman: Ferramenta para testar, monitorar e documentar APIs.
Tivemos dificuldades com as limitações dos sistemas em nuvem das aplicações que utilizamos, o que restringiu a realização dos testes. No entanto, conseguimos contornar esse problema com a criação de contêineres Docker.
A falta de informações da clínica também dificultou a elaboração do prompt para a assistente virtual. Além disso, devido à ausência de retorno do cliente, recebemos pouco feedback durante o desenvolvimento do projeto.
Não conseguimos integrar com uma aplicação Chatwoot
para a centralização dos atedimentos humanos. Então decidimos que os atendimentos vao ser conectados com o "Linked Whatsapp" com o limite de 3 atendentes.
Percebemos que usar o groqcloud como assistente IA, é melhor do que o gemini, então descartamos o uso do dify
para a melhoria do modelo.
Projeto foi divido em pedaços para facilitar a movimentação pelos fluxos e manutenção

Diagrama do Typebot

Principais Partes do Chat
Embora eu não possa mostrar os dados das tabelas e o template do fluxo, disponibilizei o material para quem quiser iniciar um projeto com uma ideia diferente.
Para usar os dockers voces vai precisar criar os arquivos .env de cada pasta de docker
Antes de tentar usar, é importante ja saber como usar as plataformas Typebot e NocoDb
-
Criar Conta no Typebot:
- Acesse o site do Typebot e siga as instruções para criar uma conta.
-
Criar Conta no NocoDB:
- Acesse o site do NocoDB e registre-se para criar sua conta.
-
Integração entre Typebot e NocoDB:
O Typebot oferece suporte direto para o NocoDB, facilitando a integração. Para configurar, siga os passos abaixo:
-
Token de Autenticação:
- Você precisará fornecer o token da API do NocoDB para autenticar a conexão.
-
IDs das Tabelas:
- Quando solicitado pela integração, especifique os Table IDs das tabelas que deseja acessar.
-
- Navegue até o diretório do arquivo
docker-compose.yml
:
Estarei usando a versão 1.8.2 do Evolution API
Use o seguinte comando para acessar a pasta do projeto:
cd Clinimagem_Project
-
Execute o stack com o Docker Compose no
Clinimagem_Project/docker/docker-compose.yml
:Antes de fazer um
docker-compose up
, crie um arquivo .env na mesma pasta do docker-compose.ymle adicione:
AUTHENTICATION_API_KEY= senha da chave api evolution POSTGRES_DB=nome do database POSTGRES_USER=nome do usuario POSTGRES_PASSWORD=senha do database
Para iniciar os serviços definidos no Docker Compose, utilize o comando:
docker-compose up
Se não tiver docker, veja a documentação
-
Acesse a API localmente:
Após executar o comando acima, um contêiner chamado evolution-whatsapp_api-1 será iniciado na porta 8080. Para verificar se a API está rodando corretamente, abra o navegador e acesse:
https://localhost:8080
No entanto, para que o Typebot possa fazer requisições HTTP, precisamos expor a porta 8080 para a internet.
-
Exponha a porta com Ngrok:
Execute o seguinte comando para expor a porta 8080:
ngrok http 8080
Isso irá gerar uma URL pública que redireciona as requisições para sua API local. Caso nunca tenha usado o Ngrok, consulte a documentação oficial para mais informações.
-
Acesse a API pela internet:
Como mostrado na imagem, copie a URL gerada pelo Ngrok (por exemplo,
https://4e1f-138-121-129-56.ngrok-free.app
) e cole no navegador. Agora, sua Evolution API está acessível pela internet!lembrando, que sua url será diferente.
-
Acessar o Gerenciador:
-
Abra o navegador e acesse o gerenciador da API por meio da URL gerada pelo Ngrok:
https://4e1f-138-121-129-56.ngrok-free.app/manager
-
Você verá um formulário de login semelhante ao da imagem abaixo:
- O
ApiKey
padrão do Gerenciador é 4D2883EC3249AD0271123319BB6E7ABD. Caso queira alterar, edite o arquivodocker-compose.yml
.
-
-
Conectar seu WhatsApp à Evolution API:
- Primeiro, será necessário criar uma instância para conectar o WhatsApp.
-
Escolha o tipo de integração: Cloud API ou Baileys.
Dica: Utilize Baileys se você não estiver usando o WhatsApp Business. -
Após criar a instância, clique nela para acessar a configuração da Evolution API.
- Agora conecte seu whatsapp com o API, usando Scan QRCODE do aplicativo.
-
Configurar o Typebot:
-
Dentro da instância da Evolution API, vá até a seção de configuração do Typebot.
-
No início do fluxo, existem três variáveis que precisam ser preenchidas:
-
apikey: A chave de API que você está utilizando.
-
instance: A instância que você criou anteriormente.
-
baseUrl: A URL base da API (gerada pelo Ngrok).
-
Agora, vamos configurar a API para receber corretamente o fluxo do Typebot. Para isso, o fluxo precisa estar publicado.
-
Na configuração da API, utilize a URL:
https://typebot.co
E no campo Nome do Fluxo, insira o nome do fluxo correspondente, por exemplo:
"exemlo_1231
.
-
Depois disso, envie uma mensagem para o número registrado na API e veja a mágica acontecer!
- Tabelas: Todas as tabelas criadas e configuradas no fluxo, com os IDs das tabelas corretos.
- API Evolution: API Evolution em execução no Docker, com a porta 8080 exposta na internet através do Ngrok.
- Configuração de Parâmetros: Parâmetros adequadamente configurados no fluxo e na API Evolution para garantir que as requisições sejam processadas corretamente.
O Clinimagem Bot foi desenvolvido com o objetivo de otimizar o atendimento ao paciente, oferecendo uma experiência ágil e eficiente por meio de um chatbot integrado ao WhatsApp e à web. Utilizando tecnologias como Typebot, NocoDB, Evolution API, Docker e outras, o sistema permite agendamentos, consulta a resultados de exames e informações sobre convênios de forma automatizada. Apesar das dificuldades enfrentadas, como limitações nos testes e a falta de feedback contínuo, o projeto atingiu seus principais objetivos, proporcionando uma solução funcional para melhorar o fluxo de trabalho da clínica e a interação com os pacientes.