essa daqui é a oitava aula do multiagente yir e nessa aula nós fizemos algumas alterações que foram pequenas mais cruciais na minha e na minha observação porque na aula anterior a gente implementou o agente de agendamentos que é secretário e nessa aula O que que a gente vai fazer a gente vai aprimorar um pouquinho a visibilidade de quando tiver um agendamento então houve algumas modificações que eu vou acompanhar com você exatamente o que foi modificado Ok primeira coisa você vai ver que a gente mudou os funis o nome né agora tá novo Lead agendados então
aqui no clickup você vem aqui em board né que você tá visualizando você pode clicar aqui ó rename alterar o nome e você altera exatamente o nome que você quer então a gente colocou cai o novo Lead vai pro agendados consultas dos dia e depois finalizado é óbvio que eh aqui a gente tá colocando o exemplo de uma empresa de eh Odontologia né ou seja um consultório odontológico Mas você pode alterar esses funis de acordo aí com a sua necessidade Ok Isso aqui é só para no modelo para você poder seguir Então qual que é
a ideia caiu em Lead novo Lead caiu aqui dentro na hora que ele agendar uma consulta eu quero que mova automaticamente e Apareça a mensagem da consulta sendo agendada então Eh vamos pro nosso workflow primeira coisa também que a gente fez foi adicionar esse módulo de rodar para limpar todas as tabelas então Ó que legal esse código aqui é um SQL que ele começa aqui em cima e ele termina aqui embaixo e aí a gente tem condicionais para executar cada ação Essas são as ações então a gente coloca se existir e a gente faz um
select ou seja dentro do postgress Tem uma tabela que é padrão do postgress chama aqui chama PG underline tables então a gente pergunta se existir um esquema dentro do Public que é o esquema padrão de todas as tabelas e existir uma tabela chamada com este nome então a gente vai dar o o delete dela a gente vai deletar essa tabela Ou seja a gente só vai deletar caso essas tabelas existam por quê essa tabela e essas de chat elas são criadas automaticamente então se você rodar isso pela primeira vez e E essas tabelas não existir
iria falhar essa requisição aqui para você então a gente tem certeza que a tabela existe antes da gente deletar todas as informações dentro da tabela e aqui é o ao clientes que é a nossa tabela do clientes então Ó que legal a gente roda aqui e já deleta bum tudo de uma vez aí eu vou no clickup deleto meu Lead do clickup tá zero a gente pode começar o game novamente então eu já fiz isso Ó já rodei Já deletei tudo não tem nenhum Lead no clickup a gente tá Prontinho para começar o game bem
então a ideia que a gente caminhar essa conversa com esse Lead até o agendamento e no agendamento eu vou acompanhar com você Quais foram as principais alterações que foram realizadas nesse camarada aqui Olá aqui J como posso te ajudar então se a gente for ver aqui no clickup ó perfeito foi criado um novo lead E aí você vai ver que a gente fez algo a mais também nesse Lead consulta data a gente criou um campo customizável personalizado chamada consulta data Como que você faz aqui dentro ó no mais e criar campo né Create New Field
você seleciona a opção date que é campo de data coloca o nome ali consulta data e tá beleza depois que você criou esse campo pode ser em qualquer Card você vai fazer exatamente esse processo Ok você vai dar oi deixa a automação Criar e você vai precisar pegar o ID desse camarada lá na frente que a gente vai est utilizando ali Ok Então como que você faz isso você vim aqui em execuções você vai ver e qual foi a execução que rodou esse campo aqui ó de criar o Lead então você pode voltar aqui ó
todas aqui são as execuções que a gente rodou porque esse primeira vez roda bastante e a gente já achou ó é esse daqui ó tá vendo criação criar Lead e dentro desse criar Lead ele retorna O camarado o Lead criado na hora que você vai aqui no payload dele ó tem aqui ó Custom Fields o Custom Fields vai listar um Array de todos os campos customizados que você tem aqui dentro do clickup e aqui tá o nosso campo ó consulta data eu vou copiar esse ID tá vendo esse ID aqui a gente copia e a
gente vai utilizar ele aqui na frente Beleza então tá guarda esta informação Ok guarda aquele ID Hum sei lá eh minha mãe me pediu para agendar uma visita aí para eu fazer o meu clareamento dental você teria espaço Nesta quinta quinta-feira de tarde cara foi bem diferente a estrutura ai ai vamos ver vamos ver porque a gente tá realmente eu falei isso na minha aula anterior né que a gente não gravou que a gente tá puxando aqui os limites das Barreiras para esse ag gente mas ó que legal quinta-feira à tarde está disponível para agendamento
eh para o agendamento do seu claramento dental você gostaria de agendar para algum horário específico entre 13 e21 ó legal perfeito eh Pode ser à 13 horas para mim obrigado pode ser as 13 horas para mim obrigado vamos ver consulta procuramento dental eh está disponível 13 horas na quinta-feira Poderia confirmar esse horário porque eu posso aar pode confirmar Ok pode confirmar legal você tá vendo que tá indo ó conso para tal foi agendada ótimo para quinta-feira à 13 horas se precisar de mais alguma coisa estou à disposição perfeito então a gente sempre pede também para
ele confirmar o horário né Ele passou dois horários a gente passou o horário Vou confirmar a gente confirmou e agora que vem eh o desenvolvimento que a gente fez ontem né então ó quinta-feira aqui ó tá às 13 horas do horário de Brasília bum perfeito é isso aí confirmado e o que que aconteceu no clickup ó que legal é isso que a gente fez OK agora ele saiu de novo Lead e foi para agendados e aqui dentro a gente tem aqui ó a consulta tá ali ó dia 2 quinta-feira e a ia mandou esse comentário
também ó consulta agendada para 2/01 eh 2025 só esse horário aqui que ele pegou diretamente do Google né E como o meu Google calendário está no horário de Londres Ele puxou o horário que tá aqui no meu calendário né que tá certo né é 3 horas pra frente no teu caso que você tá aí no Brasil seria exatamente o horário que el a andou mas eu já te mostrei se viu lá que no fuso horário tá correto bom como é que ele fez isso então vamos pro código aqui pra gente analisar exatamente como que ele
fez isso dentro dessa última execução a gente vai puxar e a execução do da Ia do agendamento que foi essa daqui e a gente pode continuar eh essa que foi a execução total do fluxo ó tá vendo entrou no fluxo rodou a secretária a secretária mandou mensagem de volta e aqui na hora que você vê só a a dinâmica da secretária vamos ver o que que ela fez ela passou então que foi agendado E aí olha o formato que interessante tá uma mensagem tá Um event ID que é o ID do evento E aí tá
e o departamento novamente o ideal seria a gente passar no formato Jason em vez de usar esses delimitadores ok a gente vai fazer essa optimização no futuro a gente só não quer usar o output parser porque ele deu alguns problemas pra gente então a gente vai injetar diretamente no prompt mas nesse momento a gente colocou alguns delimitadores para injetar informações que a gente tá puxando e extraindo da mensagem como todo e ela seguiu exatamente na risca o que a gente pediu né O Event ID para que que serve serve para ficar na memória da dessa
gente pra gente conseguir deletar esse evento manipular esse evento quando a gente pedir então se eu falar para ela Ah desculpa não vou mais poder você pode cancelar Ela já tem o evento para ela poder cancelar legal aí qual que foi o tratamento feito aqui ó ó tá só a mensagem agora a gente eliminou O Event id e a gente deu um split também na e secretária então foi dado dois splits aqui dentro ó eh esse daqui ó tá vendo veio a mensagem com toda essa estrutura e a gente checou e a primeiro split que
a gente deu foi eh o split do Pipe ó então a gente deu o split do Pipe para diferenciar a mensagem da secretária e depois a gente deu o segundo split que é do hashtag que separa O Event ID então esses dois splits a gente tirou a delimitação e pegou só a mensagem foi assim que a gente conseguiu retirar O Event ID da mensagem senão isso iria exatamente no WhatsApp do cliente que a gente não quer isso legal aí que que a gente fez a gente respondeu no web Hook ó a mensagem e o departamento
e seguiu o jogo só que a gente colocou uma nova condicional chamado novo evento Então a gente pergunta se dentro dessa mensagem do agente Lembrando que essa daqui ó existe uma palavra chamado event ID Opa significa que foi criado um novo evento Então é verdadeiro e aí agora a gente vai tá aí O Event ID da mensagem do agente aqui dentro e como que a gente faz essa extração a gente faz um split dentro da palavra do event ID que vai me retornar apenas esta informação toda aqui ó que você tá vendo ó o ID
dele e o Pipe secretário a gente faz outro Split no pipe e pega só o evento que tá aqui ó só esse evento ID vamos ver na prática rapidinho a galera que tá se perdendo vai lá e inspecionar elemento vai no cons Clear e a gente vai colocar aqui constante mensagem e vai criar uma nova mensagem beleza então criei uma variável aqui dentro ó e se agora eu posso brincar aqui dentro então se eu colocar split foi primeiro split que a gente deu e a gente deu no PIP ele me retorna um Array que Array
é esse é das duas informações que existem para mim ó ó secretria e é mens cer então se eu aqui volta só mensagem e agora que quero elimin elada n ou seja na elem eu quero pegar se for ver então vai out split agora chamar exatamente nome event ID dois pontos eaa que éis agora pid vendo tem um espaço no começo esse espaço eu quero eliminar ele então a gente usa uma função JavaScript chama aí agora eu peguei exatamente eu consegui retirar essa palavra event ID de toda essa string aqui ó é assim que a
gente conseguiu puxar e tratar O Event ID Ok beleza por com esse event ID a gente vai querer agora puxar o evento no Google calendário ó e tem esse nó que você vai no evento get operação get passo evento id e me retorna os dados do meu evento Ó que legal e aqui tem start que é a data e hora que que que começa e ó lá o horário chegou o meu horário do meu time Zone né então por isso tá tá equivocado esse horário a gente marcou para 1 da tarde né mas no seu
caso vai dar certo aí com esse horário a gente vai então chamar essa api maravilhosa que a gente já tem do clickup com essa esse payload ó passa o número para localizar o cliente e a gente criou uma nova ação que eu vou chegar lá que chamada de atualizar consulta data e no campo a gente passou o valor da consulta data ó que é a data da consulta e o horário Ok então esta informação foi para onde rodou eh aqui dentro vamos achar aqui ó olha lá então chegou aqui de criar ó foi executado exatamente
a informação que eu te passei ó consultar eh atualizar consulta data a gente pegou essa essa configuração dinastia eh client ID então isso daqui é legal que a gente pode mudar também esse client ID né a gente pode colocar aquele valor daquele Campo aqui na configuração a gente puxa o cliente e a gente tem aqui ó uma nova ação ó Atualizar data então quando ali dentro do nosso Body do do request que a gente mandou a o valor ação for Atualizar data vai vir nesse Switch nessa condicional e a primeira coisa que a gente faz
olha aqui ó atualizar consulta data é um campo Custom Field então lembra lá do ID que eu te mostrei no começo do vídeo quando a gente cria o Lead a gente pega todos os Custom Fields daquele Lead tá aqui ó é o mesmo ID então a gente já sabe qual o campo que a gente quer atualizar e ó o valor tem que ser um valor chamado ipoc né milisegundos aqui ó esse ipoc Então como é que funciona a gente pegou o valor de data que é esse daqui ó veio bonitinho veio no formato que a
gente chama de isso e e desse ISO a gente converteu ele usando essa função esse helper que é to date time dentro aqui do n8n E aí a gente colocou estee formato x que ele transforma nessa nesse string nesse número ipoc então se você pesquisar ipoc converter aqui dentro nesse site ó ipoc converter.com você tacar esse número ele vai dar exatamente eh a data que a gente colocou ali ó 4ro eh quinta dia 2 de Janeiro tá vendo agora você sabe que existe um formato de data que é só um número muito louco perfeito atualizou
lá então no CRM depois que a gente fez a gente colocou um novo comentário ó que legal e a consulta agendada para o dia do aqui eu coloquei um formato mesma mesma coisa usei esse helper to date time e agora coloquei este formato para formatar aquele aquela data que não estava Nessa versão brasileira né então você pode usar dia mês ano hora minutos segundos legal e aí a gente mudou ele de funil ó que fácil para mudar de funil vem aqui dentro do clickup tem Task e resource Task Operation update E aí a gente vai
fazer um update da onde do status então tem várias opções que você pode atualizar dentro de uma Task e o status é exatamente a coluna ali dentro do CRM colocou o mesmo nome da coluna ele já migrou de uma coluna e foi paraa outra e assim senhoras e senhores nós finalizamos todo esse desenvolvimento dessa alteraçãozinha para fazer ele mudar de coluna ele registrar O Event ID a gente conseguir deletar todas as informações da nossa tabela rodando só um único nó e foi criado uma nova operação aqui no nosso CRM Ok já que Nós já estamos
aqui conversando eu vou aprimorar alguma coisinha aqui por que acontece eu tenho certeza que a galera vai esquecer e disso daqui ó e vai colocar o meu ID e vai dar erro para você então aqui em configuração eu já vou criar ó consulta data e Custom não só ID consulta data ID Então vou colocar o id do meu campo aqui ó tá vendo deste Campo aqui ó consulta data já vou colocar ele aqui dentro vou fazer o teste de step Vamos fazer um teste e Atualizar data legal opa pera aí vamos pausar aqui vamos salvar
então eu vou rodar esse daqui vou rodar esse camarada vamos puxar o cliente vamos deixar ele vir até aqui ó e atualizar em vez de eu deixar aqui dentro essa informação eu vou puxar daqui do meu campo de configuração Ó que bonito aí foi beleza aí é isso que eu queria salvou beleza bom é isso aí eu vou indo nessa Espero que você tenha gostado dessa nova atualização da versão 8 agora você consegue mover de de colunas Lembrando que você pode mover para qualquer outro tipo de coluna Tem uma galera aqui que chegou com sei
lá cinco seete oito colunas né aqui dentro do do clickup do CRM você fica na Liberdade de você fazer porque agora você já sabe como que move de coluna Você já consegue até mesmo adaptar dentro da sua necessidade Ok na próxima aula a gente vai est vendo como que nós iremos gerenciar multic calendários Esse é o desafio que eu tô querendo eh executar então aqui dentro dentro do Google calendário a gente tem calendários ó tá vendo Então para o nome de cada pessoa ou seja cada médico cada dentista ou cada profissional que você quer agendar
a gente vai criar um novo calendário e esse calendário a gente consegue usar dinamicamente no nó do Google calendário pra gente buscar pra gente deletar pra gente atualizar Ok então a gente vai est usando essa dinâmica aqui dentro desse nosso agente de agendamentos vamos ver como que a gente vai fazer esse split ali dentro porque ele já tá crescendo em funcionalidade e eu sei e a gente tá chegando no limite dele ó eu não quero mais ficar colocando Muito mais coisa nele porque o prompt você viu né a gente já tá quase no limite eh
de do raciocínio dele Lembrando que eu tô usando o GPT 4 o em todos esses não uso 4 mini Porque na minha opinião 4 mini não teria a capacidade de raciocínio lógico para executar esse cara aqui talvez a recepcionista Ok não sei você vai ter que testar aí dentro com você ok então na próxima aula vai ser sobre eh multical agendamentos com multical beleza Curtiu compartilha esse vídeo comenta aqui embaixo entra na nosso discord na comunidade mais forte de Agentes de do Brasil que chama-se dinastia e eu te vejo lá dentro falou