falá pessoal nesse vídeo aqui eu vou est ensinando vocês a montar uma estrutura base de um agente a no n8n um agente que ele vai entender texto áudios e imagens as mensagens também de texto fragmentadas e também enviar mensagens eh fracionadas então isso ali é uma estrutura base ali onde que o agente ele consegue entender as entradas n mensagens de entradas e consegue ter uma mensagem de saída ali de forma mais humanizada vou mostrar aqui um exemplo para vocês né eu mandei um uma imagem aqui ele entendeu ele escreveu ali a imagem para mim parece
que você tá mandando uma paródia uma ironia em relação ao logo do YouTube e eu perguntei quais são os benefícios da ia você pode ver aqui que ele mandou uma mensagem eh quebrada não mandou Apesar daqu tem um textão gigantesco né mas ele mandou ali três mensagens quebradas mandei um audiozinho ele também entendeu o áudio e também mandei a mensagem eh duas mensagens quebradas aqui em sequência e ele entendeu como fosse uma mensagem só novamente Ele já respondeu com essa mensagem quebrada então assim Isso aqui é uma estrutura base de basicamente qualquer gente gente há
de atendimento que você queira fazer no n8n e hoje eu vou estar construindo do zero essa essa automação aqui com vocês beleza mas antes de iniciar aqui a a a explicação cara quero pedir para você se inscrever aqui no canal fortalecer a gente tá aqui com 3.200 inscritos então e aqui eu entrego muito conteúdo de forma gratuita desde automações no Instagram automações no WhatsApp eh principalmente também focos em agentes aqui eu trago muitas funcionalidades aí que você pode procurar que ninguém ensina e eu ensino aqui beleza de forma 100% gratuita Então vamos lá a gente
vai iniciar aqui vou criar um novo workflow e a gente vai começar do zero aqui a construção desse agente Então a primeira coisa que a gente tem que fazer aqui é criar um web Hook então um web Hook onde que a gente vai receber as nossas mensagens e de onde que vem né a gente utiliza tanto o NN quanto a Evolution API a Evolution api ela é uma API a gratuita do WhatsApp onde que a gente consegue conectar nosso WhatsApp com ela e aí a partir daí a gente consegue ouvir todas as todas as mensagens
que a gente recebe e envia e não só essas só essas funcionalidades outras também relacionadas ao a WhatsApp tem vídeo no canal lá já explicando também sobre ela então beleza A gente a primeira coisa que a gente vai fazer aqui a gente seleciona a Instância que a gente quer a gente vai vir em eventos web Hook e aqui a gente vai Colocar o web Hook aqui dentro aqui web Hook você vai ter que fazer a seguinte configuração primeira coisa a gente cria o webhook a gente tem que utilizar o método post tá não pode ser
o método gash que não funciona e basicamente é isso você pode e mudar a nomenclatura aqui né o o caminho aqui do da URL e vai ficar o seu critério Beleza então vou manter esse aqui E aí um ponto que é importante a gente tem que pegar a URL de produção tá bom url de produção então aqui ó Copi url de produção não é de test a test não funciona a test só funciona quando você clica aqui a gente vai pegar de produção e vamos copiar e vou manter aqui o p não vou mudar nada
pronto de já tá automaticamente aqui salvo né copiar aqui ó copiar o r de produção copiado e a gente vai vir aqui na na web Hook no teu provavelmente vai est tudo apagado vai tá assim ó sem nada marcado e a gente vai fazer aqui agora então você vai ativar essa opção aqui vai colocar a URL que você quer então url que eu acabei de gerar aqui do meu web Hook eu vou eu gosto de ativar aqui o base 64 Ok mas isso aqui não é obrigatório e a gente vai selecionar o evento que a
gente quer receber então a gente quer receber os mensagens mess upsert é quando a gente recebe mensagem quando são mensagens enviadas por nós então vou dar um salvar aqui e vou dar uma atualizada na página para realmente ver se foi as configurações e foi mesmo então agora a gente vai fazer o seguinte vou vir aqui ó vou dar um save vou ativar o meu fluxo vou vir aqui em execuções e vou mandar uma mensagem aqui mandar uma mensagem Olá vamos ver se vai chegar aqui a mensagem ó Acabou de chegar a mensagem e tá aqui
nossa web Hook então a conexão do Web Hook tá feita vai mostrar aqui ó o b né que são as informações que vem nesse web Hook ele vai mostrar a Instância o evento né o remot g que é o número da pessoa que me enviou a mensagem se a mensagem é minha ou não o ID da mensagem ele já puxou o nome do WhatsApp da pessoa aqui tem alguns dados que a gente não utiliza aqui vem o conversation que é o Olá é a mensagem que eu enviei né e ele vai mudar aqui o tipo
de mensagem conversei conversei a mensagem de texto O time stamp é o horário ou a Instância que eu recebi a mensagem de onde que veio então tipo se fosse do telefone de um do iOS por exemplo que é o meu telefone que é uma da Apple ele vem como iOS aqui como eu mandei pelo computador ele vem como desconhe eh e aqui também Vi alguns dados nossos né que é o dado da minha Instância essa aqui é a minha Instância que recebeu o número aqui é o meu server URL né minha URL da minha Evolution
e ele já também traz a minha APK que a minha chave aqui que a gente vai utilizar mais para frente para enviar as mensagens então tipo assim a gente tem aqui todos os dados pra gente tá eh trabalhando o o o o nosso Agente né então vamos lá Então vou pegar aqui Eu vou jogar pro editor vou fazer de uma forma aqui Manual que é o seguinte você clica aqui depois que você v em execução você vem aqui em execução você pode vir aqui ó em Jon e você vem ó e copia ele copiou todo
esse pel aqui tudo por que que eu faço isso que eu tô na execução eu vou vir aqui pro editor vou agora pegar aqui no meu editor e vou vir aqui no lapizinho aqui em cima eu apago isso aqui tudo e colo dou control v e save pronto salvei aqui agora para testar não precisa ficar enviando mensagens assim que eu clicar em teste ele já utiliza esses dados que eu recebi então isso aqui Vai facilitar nossa vida para que a gente não não tenha que ficar fazendo teste esse tempo todo mais um minutinho assim então
vamos lá o início de toda automação isso não é obrigatório mas é um algo que eu coloquei como obrigatório para mim é o seguinte a gente pegar o node de Edit Fields né o edit Fields pra gente fazer um tratamento do das informações que a gente recebe que a gente recebe muita informação aqui e fica algo muito poluído então eu gosto de vir aqui e fazer uma organização e limpar né e deixar só as informações que a gente utiliza Então vamos lá as informações que eu utilizo são as seguintes eu utilizo o Remote Git a
eu boto sempre nesse formato aqui ó data pon e o nome da variável isso aqui é referente aos aos dados da mensagem tá então tipo data multidia é quem me mandou a mensagem aí eu quero saber se a mensagem é é minha ou não né então vou vir aqui ó vou botar data.on [Música] from que é falso Isso aqui é um bull Então tem que mudar aqui ó que é um umzinho que a gente coloca vou botar o ID da mensagem da mensagem aqui botar data ponto ID isso aqui é a minha nomenclatura tá bom
é isso aí você pode fazer da forma que você quiser então gosto de pegar esses três dados eu pego aqui também o conversation que é o o texto em si Então vou botar aqui ó data pon test que é o texto que a gente vai receber pegamos o o n da pessoa ca o id o conteúdo o tipo de mensagem então importante aqui o tipo de mensagem message Type a gente bota aqui ó Isso aqui já bem certinho M Type aog aqui a [Música] variável eu vou colocar o S também o s não vou chegar
a utilizar efetivamente mas vou deixar aqui que caso você queira fazer alguma automação é s colocar aqui nesse formato dat e agora V pegar meus dados da Evolution eu vou utizar esses dados aqui responder a mensagem que eu recebi então eu vou colocar aqui o meu o meu server o RL aqui ó aí aqui nesse caso eu gosto de colocar Evo servo RL e a Instância a minha Instância que tá lá em cima a minha Instância que fica aqui em cima então eu euo ponto Instância e a minha APK APK vou botar e dou um
test fechou ó eu boto esses Evo ponto data ponto justamente para ficar assim tá vendo se eu tirar por exemplo o data daqui do sorce V tirar aqui e fazer o teste tá vendo sorce fica aqui ó sozinho então eu faço por isso PR organização mesmo que ele fica tudo dentro do de um campo aqui de objeto chamado data aí mesma coisa se você botar qualquer coisa ponto vai ficar nesse formato aqui de o nome que você der e as coisas emb baixo então ó fazer o teste e isso aqui pronto a gente limpou o
nosso Ah o nosso payload que a gente recebe pra gente conseguir trabalhar Beleza agora que eu vi aqui aqui meu a minha imagem tá na frente vou jogar para cá mas acredito que deu para ver as execuções então beleza então feito isso pronto fuimos nosso primeiro passo e agora que a gente vai fazer aqui eu gosto sempre de colocar um filtro um filtro que é o seguinte a gente tanto recebe tanto mensagens de grupos quanto mensagens de pessoas então caso que sou Evolution por exemplo a minha Evolution aqui a gente vem em settings ele tá
para ignorar grupos mas às vezes você não quer ignorar os grupos e quer fazer automações de grupo então também como base porque nem sempre eu ignoro ali eu já coloco para filtrar os grupos então tipo assim o meu remote gid ele tem que conter contém o @ whatsapp.net que é isso aqui significa que é um número de WhatsApp e outra coisa que eu gosto de fazer também tipo assim ó eu quero testar o meu agente não quero que ele responda a todo mundo então eu quero tipo assim eu filtro meu remote gid e eu coloco
o filtro aqui no teste né enquanto eu tô fazendo teste que é o quê o meu remote G ele tem que ser igual a isso aqui Beleza então tipo assim ele não vai responder nada que é grupo e também só vai responder o meu número de WhatsApp isso aqui é um filtro que eu faço para teste depois quando eu coloco PR produção eu venho aqui e apago esse aqui deixo só isso aqui tá eu vou renomear aqui também Campus importante esse aqui eu vou botar eu chamo de data que é o meu manipulador de dados
e esse aqui eu vou renomear e vou botar group Filter que é meu fil de grupos mas sei que quando eu tô em teste eu também filtro todos os números Então feito isso segundo passo que a gente vai vir aqui é o seguinte a primeira diferenciação que a gente tem que fazer é para identificar a mensagem é minha ou não então se porque se a mensagem for minha ele vem como from me true como verdadeiro então mensagem é sua o from me fal significa que a mensagem é de outra pessoa então tem que fazer essa
diferenciação pro meu a gente não ficar respondendo às minhas mensagens então eu vou vir aqui e vou colocar um if if fazer aqui anterior e ó eu vou começar a fazer referência de todos de todas as variáveis nesse node aqui então dat o ele tem que ser Ah vou pegar aqui el um n então ele é verdadeiro então se ele for verdadeiro significa que a mensagem é botar aqui ó renomear chamar de f então se a mensagem for minha eu não vou fazer nada não vou fazer nada porque não quero que responda minha mensagem e
se for a da de uma outra pessoa como é nesse caso aqui ele vai responder Vou atualizar aqui rapidinho a página pronto T aqui e foi então aqui ó mensagem é de outra pessoa e agora a gente vai lá para comear a fazer o tratamento Então como mostrei PR vocês aqui a entende a primeira coisa que a gente vai fazer é o tratamento de mensagens que a gente recebe a gente pode receber como mostrei é imagens né imagens e textos normais né e áudios e mensagens picadas Então a primeira coisa que eu vou fazer é
o tratamento dessas mensagens picados aqui e depois a gente vai pros outros tratamentos é assim que eu começo a fazendo então primeira coisa que a gente tem que fazer aqui nessa etapa é colocar um sutch um sutch Para que serve esse sutch esse sutch ele vai ser para identificar o nosso tipo de mensagem é o nosso message title ele vai fazer a separação das mensagens message tá então ele vai identificar aqui ele vai fazer a diferença ó Isso aqui é um texto isso aqui é um áudio Isso aqui é uma imagem então a gente eu
chama ele de message Type e pego aqui ó do data rer pego o message Type aqui essa variável e coloco ó se essa e se essa variável for igual conversation eu até copiar aqui ó conversation ele é um texto Então vou renomear aqui meu output e vou chamar ele de test foi então aqui ó vamos executar aqui e realmente ele saiu porque aqui ó sal desse no porque isso aqui é um texto e aí agora a gente vai começar fazer o tratamento de de áudio para explicar o tratamento de áudio é o seguinte eu vou
pegar aqui já uma execução que já tá pronta deixa eu salvar aqui vou vir aqui no na estrutura básica que eu mostrei para vocês temura B vou vir aqui em execução deixa eu pegar aqui qual foi o áudio Ah não não Ah esse aqui ó como vocês podem ver aqui é o seguinte eu mandei duas mensagens tá mandei duas mensagens aqui V para o negócio que vende no WhatsApp e ele entendeu como uma única mensagem então esse primeiro tratamento é o seguinte esquece essa parte aqui de baixo e foca só nesse nessas e nessa etapa
aqui ó que é tratamento de mensagem fracionado isso aqui é algo que você só vê na execução Quando você vai fazer um teste né Você vai ficar fazendo teste você não consegue ver essa eh esse tratamento acontecendo mas é o seguinte quando eu mando tipo assim ó o meu web Hook ele vai receber todas as mensagens el recebe todas então para o negócio ele vai executar e vai jogar lá pro meu agente e o o que vende no WhatsApp também mas aí o que que eu faço eu pego na verdade eu pego essa primeira mensagem
eu travo ela e a segunda mensagem é o fluxo que manda então tipo assim a primeira mensagem eu travo aí na segunda execução aqui que é ativada por kiv de no WhatsApp eu junto as duas e envio pro meu agente Então vamos lá essa aqui é a primeira mensagem vou pegar aqui ó primeira mensagem se a gente vir aqui no nosso data handler que tá um pouquinho diferente mas ó vai vir o tipo de mensagem ó para um negócio aí a segunda mensagem é que vende no WhatsApp então para o negócio a execução aconteceu aconteceu
e pausou aqui entendeu e a segunda mensagem que é a a última mensagem ó que vende no WhatsApp ela vai vai vai vai e ela é enviada pro agente e meu agente responde quando o meu agente responde ele pega as duas ó para um negócio que vende no WhatsApp então é essa a essência do que eu tô fazendo aqui então vamos lá como que vai funcionar primeira etapa a gente coloca um um A gente utiliza o o o r tá que utiliz o r a gente vai pegar aqui vai colocar o texto esse mesmo a
gente vai ter que utilizar a memória né então tipo assim a primeira mensagem que vende no WhatsApp não ess segunda perdão É segunda então a primeira mensagem que que a gente vai fazer todas as mensagens na verdade né Elas vão passar para esse tratamento que é a primeira coisa primeira etapa a gente vai colocar o texto na memória então coloquei o texto na memória só que imediatamente eu já Puxo a memória então tipo assim a primeira coisa coloca na memória e já puxa então como é a primeira mensagem só tem o para um negócio foi
primeira mensagem que eu mandei aqui só que o que que eu faço eu espero 10 segundos então eu coloco aqui ó para esperar 10 segundos e Puxo a memória na na depois de 10 segundos então o que que acontece eu mandei a mensagem ficou assim ó para um negócio e aí ele pega se para um negócio e coloca na minha memória só que ele começa a esperar 10 segundos só que dentro desses 10 segundos eu fui lá e mandei que vende no WhatsApp quando ele puxa a memória 10 segundos depois né da primeira mensagem ele
vê que eu mandei uma outra mensagem uma segunda mensagem então ele viu que eu mandei uma segunda mensagem ele vem aqui eu utilizo esse node aqui só para fazer um tratamento de dados tá só faço esse node para juntar os textos Ok só para juntar os textos e eu quero que ele verifique então tipo assim ó a primeira vez né que é o get Memory 1 a memória na primeira vez que eu que eu puxei ela é igual a 10 segundos depois Ah não então tipo assim ó puxei a memória a primeira vez né coloquei
a memória aqui que é imediatamente mandei a primeira mensagem puxei ah mando beleza só que que esperei 10 segundos e verifico Ah ele mandou outra mensagem ah Mandou sim tem duas mensagens três quatro Então as mensagens são diferentes Então significa que aqui eu tenho que pausar ó o o o usuário mandou duas mensagens pausei aí agora a gente vem pra segunda execução a segunda execução é a mesma coisa a mensagem que a gente vai colocar na memória é o seguinte é o é o que vende no WhatsApp que é a segunda mensagem então tipo ó
botamos a segunda mensagem então quando ele coloca essa mensagem na memória ele já vai puxar as duas porque tinha para um negócio que o fluxo anterior colocou na memória e aí essa segunda mensagem a gente coloca também e quando puxa puxa as duas e aí ele vai esperar 10 segundos Vai esperar 10 segundos e vai e vai puxar a memória novamente ó puxa a memória novamente não tem nenhuma mensagem nova Então significa que que o usuário parou de mandar mensagem aí Ness nesse momento ali eu junto os textos né eu junto e envio lá pro
nosso agente então ele vai verificar aqui que as memórias são iguais e manda pro nosso agente uma mensagem só então ó a mensagem que gente recebe é o quê para um negócio que vende no WhatsApp e aí ele faz ele ele responde ok então eh a gente só vê isso aqui na execução quando a gente for no editor fica um pouco mais difícil de enxergar na verdade você não consegue enxergar isso eh no editor Beleza então Eh se você não entendeu cara volta o vídeo aqui que é um pouquinho complicada essa parte mais chata eh
de de tratamento de de mensagem fracionada é a mais complexa aqui do nosso fluxo mas depois que você entende ali fica tudo mais mais claro então volta o vídeo aí e assiste com calma e também vai fazendo testes para você entender como que isso aqui funciona então vamos lá pra prática né Isso aqui foi só a explicação do que acontece Então a gente vai lá pra execução de criação do nosso flro Então vou voltar aqui pro meu agente aula base Então a gente vai vir aqui fazer esse tratamento Então a primeira coisa que a gente
vai fazer é o seguinte a gente vai pegar aqui o n de do Head e a primeira coisa que a tem que fazer é colocar aqui ó push data Heads list queer colocar um dado na memória então que gente a operação é colocar pux e a lista vai ser o número de WhatsApp que é tipo assim a lista é como fosse e uma lista de de de de mensagens então cada lista vai ser o número de uma pessoa com quem eu tô conversando para identificar ó essa essas mensagens aqui essa lista de mensagem referente à
aquela pessoa então utilizo o número de WhatsApp para identificar Então a gente vai vir aqui ó no data handle e vou pegar aqui o Remote gid então Remote gid o a minha lista vai ser o número da pessoa e a data é o dado né é a mensagem então aqui a mensagem vai ser o teste e a gente vai colocar esse ta aqui a gente tem que ativar esse Tail esse ta significa o quê que toda mensagem que a gente for colocando é na na no no redis vai ficar uma embaixo da outra uma embaixo
da outra então Esso é importante você ativar se você não ativar isso aqui não vai dar certo e aqui eu vou renomear eu já vou botar aqui que essa é o teste memóri do redist que a gente tá colocando o texto na memória Então como falei eu coloco o texto na memória e logo depois eu já puo ela automaticamente Então vou pegar e vou vir aqui ó Get The então pegar uma um dado daquela vou puxar os dados da memória basicamente isso aqui vai ser o nome da vari que vai gerar com os dados que
a gente puxou Então vou botar aqui message message um a variável aqui também é a mesma eu ten que pegar da lista meu número que com que eu tô conversando e aqui o tipo de mensagem automático Então pronto puxou aqui é isso então aqui ó vai ser get Memory 1 get Memory que ele vai pegar a memória pela primeira vez E aí a gente vai botar o node weit vamos esperar vou botar 5 segundos aqui por causa da aula e aqui você pode botar Quanto tempo você quer quer esperar 10 15 20 30 1 Minuto
o tempo que você quiser então vou estar aqui 5 segundos então ele tipo assim ele vai pegar memória primeira vez vai esperar 5 segundos depois que ele esperar 5 segundos ele vai puxar a memória mais uma vez Então a esse node vai ser igual a o próximo node então eu vou até dar uma vou até duplicar ele aqui ó duplicar deixa eu ver onde que ele clicou aqui ó duplicar porque é exatamente a mesma coisa que eu faço só que em momentos diferentes para ver se o usuário já mandou outras mensagens ou não então aqui
ele vai ser o nosso get Memory 2 que ele vai pegar a memória na segunda vez Então aqui ó e é exatamente a mesma coisa qual coisa que eu vou mudar também aqui ó é o nome aqui em cima e o nome da mensagem aqui embaixo então que ele vai gerar a message dois entendeu como que eu tô fazendo teste não dá para ver endeu não dá para ver isso isso aquela aquela solução é só na execução que eu vou mostrar PR vocês e pronto fechou feito isso como mostrei PR vocês a gente tem o
node code e eu vou mostrar depois porque que a gente utiliza o node code Então a gente vai pegar aqui o o o redis e a gente vai ter que fazer tipo uma comparação se a memória um é igual a memória dois Então como que a gente faz isso eu utilizo um filtro Filter E aí eu faço aqui uma comparação para fazer essa comparação é o seguinte que aí é um ponto importante aqui que tem uma mensagem só é de boa então eu vou executar aqui mais uma vez e aí ele já tá com duas
porque eu já é o olar do teste né Toda vez que eu testar aqui enquanto não apagar essa memória aqui ele vai ficar colocando mensagem lá dentro então aqui olá olá a gente não consegue fazer uma comparação o seguinte porque tipo assim a gente tem que essas mensagens estão tudo dentro desse e dessa lista aqui message do então não consigo vir aqui ó message do aí eu vou pegar aqui um arrei que ele tá um arrei é igual não existe essa comparação de é igual para uma para uma lista né a comparação de lista aqui
é outra se existe se contém a quantidade então e a gente não tem como fazer isso então tipo assim você teria que transformar isso aqui numa string numa lista numa lista não numa string mesmo para fazer a comparação que é string aí na string tem como você esse algo é igual a outro então é por isso que eu utilizo o node code que é eu junto aquelas mensagens e transformo numa string então que que a vai fazer gente vai vir aqui ó utilizar o chat APT você vai ver aqui Abrir barra lateral e vai explorar
GPT explorar GPT você vai pesquisar o e a gente vai utilizar o esse ess aqui que vai aparecer ó esse primeiro agente NN assistant ele é um assistente especialista no NN ó a gente vai iniciar o chat e a gente vai escrever o que a gente quer ó crie um código java script para o node code do n n que faça a seguinte tarela seguinte tara qual vai ser a seguinte tarefa que ele vai fazer ele vai ter que pegar aqui as variáveis ó ele vai ter que pegar aqui as variáveis da get Memory 1
e o get Memory 2 vou botaro aqui calma aí que eu tem que executar aqui beleza Fechou então aqui ó ele vai ter que pegar essas duas variáveis aqui tanto da memória um memória dois vai ter que gerar duas saídas pra gente fazer a comparação Então o que eu quero que ele pega aqui ó esses essas três mensagens Junte uma só do G Memory 1 e também do get M 2 tem que juntar tudo como se fosse uma mensagem só para depois a gente jogar aqui no Filter e fazer essa comparação Então como que eu
faço isso faço da seguinte forma eu venho aqui a variável que eu quero é essa aqui ó tá vendo a variável que eu quero é essa aqui ó para junar esses três então só eu só jogo aqui só para saber o nome da variável no NM Então vou P aqui também ó vou adicionar outra condição aqui isso aqui é só para pegar o nome da variável então o nome da variável é essa ó essa aqui é a variável Então quero que ele Peg aqui essa variável e e transforme ela numa string então seguinte t vaiar
a variável vou botar entre aspas a variável vai pegar essa variável que é um arrei que é uma lista né a lista que é uma rei e transformar [Música] numa stream vai pegar aqui ó vai pegar a variável essa transformar string e também Ah tá ó vai pegar a variável e tipo assim e ele vai Fes an gente PR segunda vai pegar essa variável vai transformar num string e o output né e gerar uma nova variável chamada de Comin Tex um que é a combinação do texto um beleza botar entra aqui também aqui eu posso
pegar e também vai pegar posso repetir aqui deixa ficar bem redundante e também vai pegar a variável get ó a gente vai vir aqui ó pegar o nome da variável vai substituir aqui e ele vai gerar uma outra variável chamada combin test 2 e aqui a gente vai ter enviar então escrev aqui que a gente quer que ele faça vai tiar aqui tiou o código pra gente vou ter que vir aqui vou dar um save aqui e vou executar mais uma vez olha deu um erro aqui eu simplesmente vou pegar esse vou colar aqui Olha
foi que o nome tá talvez se errado que o nome tá exatamente [Música] igual memória um [Música] quez ó tá vendo aqui tava com dois espaços é isso viu eu percebi isso porque quando eu digitei eu falei cara Acho que eu digitei com dois só que eu fiquei na dúvida e mantive então acabou que eu digitei com dois e aqui na expressão ele considerou como se fosse só um espaço então foi isso que aconteceu e agora tá vendo ó Ele juntou os dois textos tudo numa string sem de olhar aqui no formato esquema né o
azinho assim aqui são Strings e juntou certinho e aí que o Filter agora eu posso vir aqui no Filter fazer o seguinte ó o o o texto o texto Combinado um Ele é igual ao texto combinado dois então só vai passar Se isso for verdade e aí quando ele passar isso aí a gente vai pegar e vai jogar pro nosso agente no agente a deixa botar aqui ó para definir o PR abaixo e eu gosto de pegar o segundo né que é o a mensagem final ele vai juntar aqui a gente tem que botar aqui
um uma linguagem de um lnn para responder vou utilizar o vou dar Open aqui ó quer contar Open bem simples você vem aqui ó [Música] Play vem aqui ó em settings você vem aqui ó app Case cria uma nova aí seleciona o projeto aqui e cria e copio isso aqui ó assim que come você copiar você vir aqui ó nova credencial Cola ISO aqui se ó tá vendo criada com sucesso só apagar porque eu já tenho só fazer isso e para funcionar tem que ter crédito tá você tem que vir aqui eming e colocar o
valor aqui crédito para gastar senão não funciona então fechou aí aqui agora ele vai pegar e vai fazer o tratamento dessa mensagem e vai funcionar então agora a gente vai ver aqui na prática como vai funcionar isso aqui deixa eu ver se vou dar um Save A gente vai ter que vir aqui para as execuções e vou mandar um Olá tudo bem Ó vou mandei um olá tudo bem olá essa é a primeira execução e você pode ver que ele travou aqui botamos texo na memória o Olá quando ele puxa a memória Ah ele puxou
vários olá olá olá olá E aí ó Na segunda ele passou Calma que eu vou fazer de novo que ele pegou tudo ele tá pegando todos os ol que é o seguinte ele tá colar as coisas na memória só que a gente precisa apagar essa memória para não ficar esse negócio horroroso Então vou jogar aqui ó vou ir pro editor então logo depois aqui exemplo de passar aqui com a gente eu vou colocar aqui ó botar depois da gente aí você pode botar tanto aqui quanto aqui eu gosto de botar depois eu vou puxar um
node do R mais uma vez e aqui eu vou deletar vou deletar aquela memória porque essa memória é temporária Então vou vir aqui ó pegar o Remote jid vai ser a mesma chave né para delar ali as mensagens daquela chave ag vai fazer operação de delete Então vou testar uma vez vai vir aqui vai esperar pronto deletou aqui a memória então vou fazer o teste mais Men ficar mais claro mandar um oi como vai deixa vir aqui execuções tá vendo as duas mensagens que eu mandei na sequência Então esse aqui primeiro se a gente V
aqui o primeiro é o oi oi então vai ser aqui mesmo esquema vai vir aqui ó vai colocar o oi na memória colocou o oi na memória ele vai puxar logo automaticamente a memória que tá então só tem o oi foi a primeira mensagem que a gente mandou aí ele vai esperar 5 segundos e vai puxar a memória novamente quando ele puxar a memória novamente ele vai ver que eu mandei um como vai mandou um como vai aí aqui vai fazer aquele tratamento Vai juntar as mensagens e aqui a gente vai fazer a verificação ó
o texto um é diferente do texto dois Então significa que o usário mandou outra mensagem aí na segunda vez na segunda vez ele vai vir aqui vai jogar o texto na memória quando ele puxa ele vai puxar o Oi da mensagem anterior e o como vai vai esperar 5 segundos vai ver que eu não mandei mais nenhuma mensagem e vai ver que tá certinho e vai mandar tá isso é válido tipo assim para independente da quantidade de mensagem então tipo assim eu vou mandar 1 2 3 4 vendo ó eu mandei quatro ele vai executar
aqui as quatro aí a execução do um dois e o três vão travar só a execução do quatro que vai prosseguir então eu pegar aqui a execução do um a execução do um foi por qu do mandei um eu já tinha recebido 2 3 qu na mesma sequência 5 segundos de repo né então a sequência do dois Ele puxou um dois né só que já tinha já tinha mandado o três e o quatro no três eu mandei 1 2 3 né só que já tinha mandado o quatro aí só do quatro ele vai paraa Nossa
sequência Então a partir daí a gente faz o tratamento das nossas mensagens de texto de de forma complicada Então fechou parte mais difícil do nosso fluxo foi agora é o seguinte a gente fez tratamento de mensagens de texto Eh agora a gente vai fazer pro áudio e a imagem vou vir aqui e vou renomear os fluxos que aqui eu chamar de com ele combina o texto e esse aqui compara a memória combina o texto e compara as memores e aqui nosso agente e aqui ele deleta aqui ele apaga a mó fechou agora a gente vai
para fazer tratamento de mensagens de áudio então vou vir aqui vou ter que mandar um áudio para ver como que chega T estando 1 2 3 4 5 6 mandei o áudio pra gente a gente vai vir aqui ó na execução ele vai dizer que teve sucesso aqui mas ele travou aqui que é uma mensagem de áudio eu vou vir aqui ó mesmo esquema vi aqui no web Hook Jon copia aqui o Jon volta pro nosso editor vem aqui no webhook eu venho aqui no lapizinho edito que aí tava com os dados anterior eu apago
tudo e colo um novo dado vou dar um sa e vou executar aqui pronto a que eu gosto de fazer toda vez que eu faço tratamento de uma nova mensagem V aqui no dat o que acontece Tem coisas que chega tem coisas que não chega Então como que não é uma mensagem de texto é uma mensagem de áudio o tex ele fica nulo o texto tá nulo e a mensagem de áudio vai chegar tem esse essa URL aqui mas não é essa url que a gente trabalha essa aqui é direto do WhatsApp essa aqui não
não não funciona pra gente pegar o tratamento a gente tem que pegar aqui ó chegar uma outra url que é esse essa essa essa nova variável aqui ó mídia URL Então se a gente verificar o message Type é um audio message e a mensagem de áudio ela vem como mídia URL Beleza o a Evolution ela já faz uma transcrição Nativa também que é uma forma de fazer transcrição Nativa eu não vou explicar aqui e eu não gosto de utilizar ela basicamente isso vou mostar dessa forma aqui como dessa transcrição então aqui ó a gente vem
uma mensagem de texto em áudio e a única coisa que muda é que em vez ve um texto a gente vem vem uma URL do nosso áudio então a gente vai ter que criar uma Nossa essa variável aqui ó mídia URL a gente vai chamar ela de botar aqui um vai ficar o mesmo padrão de todas as outras de de mensagem né data.on Mia URL e aqui eu vou botar Mia fazer o teste e agora chegou a nossa Mia URL V fazer test mais a vez e aqui ó no messag ty a gente vai começar
a fazer a diferenciação então aqui a gente vai pegar adicionar mais uma regra então message Type a gente tem que pegar aqui o data R message Type não message Type a variel message Type ela tem que ser igual audio message se ela foi igual significa que ele é um áudio eu vou fazer o teste e a saída foi na saída de áudio vou jogar isso aqui ó para cá e para cá vamos tratar a saída de como que a gente vai fazer é bem simples se você ver aqui ó como que a gente vai fazer
tratamento com a Open V pegar aqui o o node da Open e ela tem a opção de transcrever uma gravação transcrever um al e ele utiliza aqui ó o ele vai pedir ó input data Field name data quer colocar o nome do dado aqui isso aqui é um dado binário então pra gente conseguir gerar isso aqui né e ele fazer essa transcrição a gente vai ter que adicionar o node aqui de hdtp request a gente simplesmente vai pegar a nossa M URL vou pegar aqui dat Run M URL e faz um get só isso só
o método mantém get é como se ele puxasse o áudio da internet e aqui ó ele vai ter o nosso áudio você consegue até ouvir o áudio aqui aqui provavelmente deve sair o áudio na na gravação então aqui basicamente é isso só fazer isso não pode ver que o nome do do áudio já vem como data Então já reconhece aqui data data se você mudar aqui se aqui vi nome aí daria erro então o nome que tá aqui tem que ser igual nome que tá aqui a faz o teste ó e pronto ó testando 1
2 3 4 5 se transcreveu certinho então a transcrição de áudio é bem simples aí o que que a gente vai fazer eu vou manter ele aqui nesse nesse eu eu poderia simplesmente jogar aqui para dentro só que às vezes pode ser que a pessoa mande um áudio e um texto logo em sequência tudo junto então gosto de jogar aqui também no tratamento do das mensagens picad da mesma forma então para fazer eu vou ter que simplesmente adicionar um novo um novo node do Heads que coloca a memória o texto na memória Então vou copiar
esse texto Memory copiar e já vou até fazer o seguinte renomear ele que ele vai ser udio [Música] M vou conectar aqui ele com o node da Open e é o seguinte o dado que eu vou botar na memória não é mais o texto é a transcrição aqui que vem nesse node você pode aqui ó só arrastar pronto e aí você cola aqui onde que ele vai puxar a memória e vai fazer aquele tratamento bem simples vou renomear aqui tudo então vou botar aqui me get out que vai pegar o áudio lá né o o
arquivo do áudio aqui ele vai transcrever [Música] trans CB trans CRB e aqui ele joga na memória vou dar um save aqui vou fazer a execução Total vou testar tudão ó vocês vão ver que a resposta vai chegar aqui ó ah não chegou esqueci não botei de responder então vou olhar aqui ó ó teste recebido como posso ajudar vocês chegou lá 1 2 3 o áudio então é assim e agora a gente vai fazer o da imagem é a mesma coisa da imagem a gente vem aqui ó em execução e a gente vai mandar uma
imagem aqui simples vou botar isso aqui ó recado importante vai aqui a execução tá chegou aqui travou aqui igual o áudio vou pegar aqui o meu esquema web Hook venho copio aqui tudo volto aqui editor pego meinho V fazer oest aqui vamos vericar seuma coa diferente final das contas daags a v com thil WhatsApp só aqui ó ele vem a Mia URL também então tipo se a gente olhar a saída aqui dele é igual a saída do áudio É iG só que aqui udio message imag mess e continua vendo a Mia URL então Ó aqui
a gente vai no conversation perdão no m typ adicionar mais uma outra regra e vai ser mesmo esquema dat message Type Ele é igual a imag message Então significa que é uma imagem Vamos botar imagem quando eu passo o teste aqui ele vai na saída de imagem e aqui a gente vai fazer tratamento da imagem aí eu tá metando na imagem a gente vai pegar aqui o noe da openi também openi e ele consegue analisar a imagem quando a gente olha aqui o node ele já pede a URL então ele é até mais simples do
que o áudio Mas você também pode vir aqui botar um binário file data e fazer do mesmo esquema que esse aqui tá puxar ia dar a mesma coisa Ok só que como ele é mais simples não tem por que dificultar eu vou deixar URL vou botar selecionar aqui o modelo que eu quero utilizar vou utilizar o 4 que é o mais inut aqui você é meio que o PR você D ele que que tem nessa imagem se você botar em inglês vai responder em ingl em português o que tem na e aqui a gente vai
botar o RL conectar aqui ó aurl vou pegar aqui dol ó fazer o teste a imagem representa um fundo laranja com texto recado importante é destaque letras brancas Peg aqui ó cara tá escreveu certinho ele analisou bem e aí mesma coisa a gente vai pegar vai jogar PR memória essa mensagem então aqui vai ser o nosso imag mem um o dado que a gente vai colocar na memória é a transcrição aqui ó comp aqui fechou que eu vou mudar para a na tá analisando a imagem e aqui é nossa imagem Memory e depois conectar aqui
ó agora eu já vou até dar uma organizada aqui se não organizar não funciona certo tem que ter a organização aqui certinha ó deixa aqui organizadinha o fluxo funcionar corretamente V aqui en então eu vou fazer o teste aqui ó comado que a gente já pegou ó parece que a imagem tem um design voltado para chamar atenção de uma mensagem importante e urgente então ele entendeu aqui então fechamos essa parte de tratamento de mensagem então a gente já fez um agente aqui que ele vai entender textos textos picados áudios e imagem e agora única coisa
que falta aqui gente fazer ele responder bem simples só tipo assim ó para ele responder a gente vai utilizar a Evolution você vai ter que vir aqui ó no post da Evolution vou vir aqui a gente vai agora criar um node de hdp request Ok e a gente vai seguir as orientações aqui da Evolution então tipo eu t na Evolution 2.1 e eu quero enviar uma mensagem então aqui ó Send message e a mensagem de texto que a gente vai enviar então aqui configuraç a gente tem que fazer eu vou aqui óin você pode vir
aqui no final tem essee você vem aqui snip copia el copiar você vem aqui apare HP requ você vem aqui impor se RL DTR C importa e ele já pré configura o mtodo vai pedir PR colocar aqui nosso subdomínio ele pede para colocar aqui noss subdomínio e o nome da nossa Instância só que esses dados já V no do webroot eu mostrei PR vocês ó Peg aqui e a gente já separou ele lá no início então é o qu cara vou mandar mensagem dessa minha Evolution dessa minha Instância aqui é o meu número então aqui
ó o subdomínio que que eu vou fazer eu vou botar a URL no meu subdomínio Pego aqui do data cois do meu datele em fixo né pressão Cola ele aqui e pronto certinho verificar para não ficar Duas Barras tá pode ficar com duas barras então tomar cuidado com isso e aqui eu vou botar o nome da minha Instância nome da min instância é essa aqui no finalzinho verifica se não tem nenhum Nenhum espaço tem expressão tá certinho então ficar Messa de cen de teste o nome da sua Instância ó como vai ficar você pode botar
isso como padrão vir aqui e escrever só que eu gosto de deixar como variável que fica melhor aqui eu vou renomear para 100 S de teste a gente vai virar um texto ap que pedir noa achada APK aqui ó já vou mudar paraa expressão e vou lá no data rer e pegar minha APK e aqui ó um número em qu a gente vai mandar mensagem então o [Música] número a gente vai aqui ó aqui é o Remote G se você botar assim ele já Reconhece pode deixar o WhatsApp @ e o texto é a mensagem
de texto e o texto a gente vai pegar o que que o nosso ag gente gera vou pegar aqui do agente ó output do agente que ele vai mandar a mensagem paraa pessoa então ó eu vou terminar de executar aqui po tá de completo ó me chegou a mensagem beleza parece que você mandou então certinho op deixa voltar aqui ó só ter mexido aqui dem mas Fechou então foi a gente já consegue devolver e como que a gente faz para humanizar n mandar aquelas mensagens picadas é o seguinte quando nosso agente gera resposta aqui né
ele não tá tudo junto então vou fazer uma pergunta aqui por exemplo é a seguinte eu vou não preciso ficar mandando mensagem tá eu vou editar aqui meu meu payload aqui na verdade eu vou ter que mandar assim Desc vou vir aqui e vou fazer uma pergunta vou fazer uma pergunta para ele me dar uma resposta long me dê três benefícios das e vamos aqui em redução tá vendo aqui vai gerar um textão grandão você tá vendo isso aqui ó que tá com um espaçozinho aqui ah espaço espaço isso aqui são tudo parágrafos beleza isso
aqui são tudo parágrafo eu vou jogar aqui ó pro editor aqui ó Jon copia editou vem aqui no web Hook bag Cola dá um save e já vem a execução completa aqui pra gente vou fazer execução tá beleza eu não vou fazer teste aqui porque eu fiz um esqueminha para ir já para fixar essa resposta Mas aí você pode fazer o teste de forma normal Então vou pinar esse aqui vou fixar para ele não mudar né Mas como que eu queria mostrar para vocês é o seguinte vou botar aqui em tabela e ó volar aqui
pro WhatsApp tá vendo que aqui representar barra n barra n todos esse barra N significa que eles são parágrafos parágrafos parágrafos paros então eu vou quebrar minha mensagem toda vez que eu encontrar esse barra n barra n toda vez que eu encontrar esse aqui eu vou quebrar minha mensagem que que eu que que eu você pode fazer tem essa forma aqui ó que é você vi com um node de Edit Field você vai pegar aqui ó o edit Field vai pegar o output aqui não variar Ah vou pegar aqui do agente e você consegue quebrar
aqui dentro Ó você vai transformar ela numa Rei numa lista e você vai ah não perdão perdão a variel fica aqui ó eu vou botar [Música] aqui chamar de Agent ai Agent outp fess aqui ó ai meu Deus tem testar tudo Calma a que eu vou desativar aqui para testar Rin fe chou deu um bug aqui bem aleatório aí a pouco eu transformei isso aqui para rei né é que a gente tem que transformar isso aqui para re vou desativar aqui também para não ficar me mandando mensagem Fechou então o que que você vai ter
que fazer então ele vai gerar uma nova uma nova uma nova variável e a gente output e aqui ó a gente vai ter que executar uma uma uma uma manção de variá você vai pegar aqui no final do da variável vai botar um ponto e ele vai ter essa funin aqui ó de Split e a o split ele ensina aqui como que a gente faz basicamente é o que que eu quero em que eu quero quebrar Então eu quero que ele quebre minha mensagem tem que AB du aspas toda vez que ele encontra isso aqui
ó agora vou fazer o teste mais uma vez botar daqu que ele fica dando um bugzinho faz aqui mais uma vez Vicente ol aqui ó no esquema ele continua tenho que mudar aqui para R mais uma vez P menos nessa explicação aqui mas é o seguinte você vai pegar aqui criar uma nova variável vai pegar a variável a resposta aqui do agente e vai botar esse ponto split barra n bar n e aqui ó ele quebrou a mensagem em vários pedaços toda vez que ele encontrou aqui só que aqui ainda tá uma saída Só Um
item você tá Um item tá uma mensagem única Então tem que pegar e separar isso aqui aí você pode pode botar um split split UD vai botar o que você quer separar que é esse output aqui e quando você fizer o teste mais uma vez ó pronto separamos a mensagem em cinco são cinco mensagens tem ó tem uma mensagem 1 2 3 4 e aí é o seguinte a gente vai ter esse split como que a gente vai fazer para mandar mensagem uma de cada vez a gente vai ter que criar um node de Loop
Lú e ele automaticamente vai passar uma coisa cada vez sem nem fazer nada aqui só bota quantos itens vai passar por vez e aqui vai passar um it de cada vez Então como vai fazer ele vai passar um item Aí depois ele volta vai pegar outro item entãoo cinco itens ele vai rodar um de cada vez Então você vai pegar o de loop e vai botar aqui o o o no loop aqui e aqui quando Vou botar aqui um node de wait para ele dar um tempinho né wiit botar aqui com botar um segundo porque
é a aula aqui e volto aqui ó vou ativar não calma aí vou desativar vou fazer o teste mais uma vez ó tá vendo ele passou tá passando uma mensagem de cada vez ó passou uma de cada vez deix só que eu preciso vir aqui eu tenho que ativar ele de novo e o texto não é mais no do output lá do agente é o que vem aqui no loop vou dar um save agora vou fazer o teste ó mandou a primeira mensagem segunda terceira quarta e quinta mandar tudo um blocão el Quebrou as mensagem
Fechou então é assim que a gente faz bem simples botou o loop automaticamente já vem aí tu faz o testezinho pega a variável vem do loop e quebra o que eu gosto de fazer é isso aqui ó poderia até ter explicado direto mas eu preferi botar dessa forma aqui que é o seguinte eu posso vir aqui apagar isso aqui ó e colocar um node cod aí ó vou fazer o mesmo esquema aqui ó eu vou pegar o output deixa perar aqui ó lingar aquii para pegar a sa do meu agente é essa colocando aqui só
para copiar a variável o nome da variável e foi aqui o nome da variável vou falar Cri um JavaScript priso nem especificar assim como já tava na conversa aqui para executar a função al na variável vocês podem ver aqui que eu peguei o seguinte eu fiz eu apaguei né mas eu tinha feito uma execução de primeiro split e depois dava o a aqui se você botar só execu ele ele já vai fazer certinho Ah tá esqueci deot tá aqui ó é split out Eh ó vou at vou at dar um cont control aqui para vocês
verem dar um cont control aqui fazer isso aqui ó spit função e agora vou apagar aqui mais uma vez [Música] adicionar colo apago sinalzinho o teste giro un faz eu até dei o exemplo aqui do do resultado né que não vi então ó quero que faça qua um split a você pode até mostrar como que você quer a saída o Jon Vamos ver termini até de ouvir aqui ó ó tá vendo é isso que eu quero ó cada coisa separado agora foi ele já automaticamente usar dois L ele já usa um e já quebra al
e é o mesmo esquema aqui é só mudar a variável pegar aqui a variável do lo vai fazer então feito a gente tem aqui o nosso o nosso agente nosso gente gente que entende áudio texto textos explicado imagens e responde com as mensagens humanizadas a deicos E aí no caso também você quer adicionar a memória ó uma gente você vem aqui adiciona o node de memory vou adicionar do próprio Heads também aí a session ID eu vou definir aqui abaixo pegar a variável aqui ol do próprio coisa que a gente é a mesma variável só
que aqui eu boto o chat que ele é a memória da pessoa de chat aqui ele é aquela temporária só aqui a gente pode aumentar o contexto TIP de quantas mensagens ele vai ficar na memória dele vou botar 10 e vou dar um save ó deixa eu renomear aqui loop messages e vou dar aqui isso aqui é o split nessas quebra de mensagens leta memória quebra de mensagens S teste aqui eu vou botar é tá aqui meso wait vou botar wait wait 2 segundos e aqui fica duplicado Ah uma coisa que você pode fazer também
é o seguinte Ah quero aparecer que tá digitando Você pode adicionar um outro parâmetro aqui chamar ele de delay aí coloca aqui como expressão ó abre as duas aspas e coloca é em 1000 tá unidade em 1000 tipo 2 segundos é 2.000 ele vai aparecer que tá digitando então vou mandar aqui para ele um Olá ó tá digitando do segundinho Ó como que eu posso ajudar sobre imóveis ele tá perando sobre imóveis porque tô utilizando a memória aqui e a memória de outras conversas que eu tive com ele Ok então tá Peg contexto de outras
outros testes que eu fiz mas aí ó se eu pegar aqui a execução aqui tá dando erro mas tá dando erro Então temos aqui ó nosso nosso agente finalizado tá completinho e isso aqui é o qu é a base de todos os agentes que a gente vai fazer eu até gravei uma aula aqui como base justamente para aulas que eu vou estar trazendo aqui no canal vou est trazendo uma aula novamente de agendamento Ah vou trazer uma aula de agente sobre para imobiliárias para clínicas qualquer gente gente que a gente for criar de atendimento ele
vai seguir mais ou menos essa base Entendeu essa base aqui ela vai est presente em todas Talvez algumas com mais coisas outras com menos coisas mas isso aqui é o essencial para você construir um agente e com qualquer funcionalidade que seja de atendimento pro pro WhatsApp ali com NN Beleza então é isso aí não se esqueça de se inscrever aqui no canal curte aí o vídeo comenta também se você gostou se ficou alguma dúvida e até as próximas próximas aulas aí valeu