bom essa Live aqui é para a galera do reinado deir Lembrando que é uma aula não é uma live Então a gente vai ser bem colaborativa A ideia é conseguirmos finalizar rapidamente uma base de uma estrutura de um agente de a e nessa base a gente vai ter algumas implementações de infraestrutura eu eu diria Ou seja a gente vai ter um cadastro no banco de de dados com os clientes através do número do WhatsApp aí a gente vai ter esse conceito de departamentos então o cara conversa com com cada departamento e a secretária vai ser
o nosso departamento eh Inicial ou seja o cara acabou de se cadastrar ele vem na secretário e a ideia é que cada um desses departamentos seja um agente de a específico que o cliente tem um uma um contexto uma memória de contexto em cada um deles e a qualquer momento o departamento pode transferir o cliente para outro departamento E aí a gente vai atualizar esse contexto ou seja o setor que o cliente tá conversando e se houver uma transferência volta pro switch e aí tem várias vários Desafios que a gente vai ter que lidar agora
nesse exato momento então é qual que é o desafio eh memória não deixar ter uma memória para cada departamento e uma memória contextualizada geral eh a transferência fazer o looping de volta pro Switch mandar um contexto na hora que for transferir o cara para outro departamento E aí quando não tiver nenhum contexto mais retorna pro cliente Essa é a base porque se a gente conseguir ter essa base a gente monta qualquer coisa em cima dela aí fica até mais fácil modularizar no futuro porque pode criar vários departamentos né E aí a gente cria uma estrutura
que você pode crescer vertical horizontalmente que que é horizontalmente você tem um agente de aqui financeiro um comercial secretária e se todos eles tiverem a mesma programação no sentido de entender o comportamento deles eu recebo o cara faço alguma coisa e depois eu posso transferir ele para outro para outra pessoa perfeito você pode criar daí uma organização enorme você pode criar bases de bases você pode criar uma base dessa só pro departamento de marketing sem áudio aqui para mim pô tão me ouvindo tão com áudio aí ou não tá chegando meu áudio aí normal sim
beleza que bom imagina tô gravando aqui meia hora já obrigado ai então beleza Vamos lá eh vamos ver como que a gente começa aqui nova mensagem puxar o páo número então eu vou começar do básico né a gente cria aqui um novo workflow que nome que a gente pode dar me ajuda com nome aí Que nome que a gente pode dar eu tô pensando em chamar agente offir porque é do renado de offir agente offir vamos dar uma tag para ele AF de agente offir e v versão 1.0 vamos adicionar essa tag aqui Af a
gente Ofir 1.er vamos começar a versionar o nosso agente aqui ó beleza começamos pelo começo né lembrando daquela frase nada se cria tudo se transforma Por quê eu vou copiar as coisas que eu já fiz dos outros né você acha que eu vou perder tempo refazendo tudo do zero eu pego meu web Hook aqui começo com ele aqui eu já dou uma olhada Legal vamos mudar o endereço ó agente offir agente offir não ess aqui a seria legal chamar o produto e a entrada se fosse uma API rest né uma API rest você teria por
exemplo o nome do Teu Domínio né Então pode chamar É pode ser ag gente offir bar v1 vamos version alizar aqui dentro também será que compensa É pode ser pode ser a versão da api depois a gente muda mas aqui é entrada né Eh hum mensagem aqui beleza acho que tá bonito assim Legal vamos production vamos copiar salvar Vamos botar isso em produção agora no meu Evolution vou tacar ali dentro webook já coloquei ali Lembrando que eu setei só o Up search só para quando eu receber a mensagem e agora eu vou no meu WhatsApp
Pera aí que eu tô numa outra tela de WhatsApp eu não consigo deixar só essa hum favoritos deixa eu ver aqui legal não mas Ah pera aí legal deixa eu ver se eu consigo deixar alguma coisa aqui [Música] Uhum deixa eu ver vou mandar um oi oi mandei um oi aqui ó beleza tá vendo ó acabei de mandar um oi recebi meu Oi Estamos no Game tá funcionando legal Vamos copiar aqui esse payload editor vamos substituir salvar OK aí chegou a mensagem primeira coisa que eu quero checar é isso daqui se o camarada existe e
se ele é o meu cliente atual ou não mas para mim não parece vídeo s legal tá aí tem vários jeitos né Eu penso assim a gente vai usar isso em outro lugar também onde mais eu usaria puxar o cadastro pelo número do cliente talvez aqui dentro a gente vai usar isso né puxar o cadastro do cliente beleza Seria bom se o cliente não existir a gente cria um novo e eu usaria um banco de dados para puxar o Ed se existe ou não né É isso que a gente vai fazer eu só tô pensando
se eu vou modularizar já eu posso colocar dentro de um api aqui e aí eu posso usar dentro do financeiro comercial e tal Porque o financeiro vai precisar puxar o cad do cliente também né a secretária também eh E como vai modularizar eles podem rodar roda na mesma api entendeu ah é é é uma opção bom legal Vamos fazer aqui depois a gente tira né a gente pode começar de cara e depois a gente tira tá vamos pensar nosso banco de dados aqui atualmente esse daqui é das outras tabelas que eu tenho eu vou criar
uma um prefixo Para não misturar também Porque conforme a gente vai adicionando né É melhor criar um prefixo para não ficar tudo zoado aqui então vamos acelerar isso daqui vamos copiar alguma opção que cria tabela rodar para criar tabela de conhecimento vamos ver como é que é a tabela de conhecimento ver se Supre as nossas necessidades aqui legal ó número data perfeito é isso daqui mesmo passo um Jason criado se não criar ele roda figer fazer update automaticamente legal is que eu quero mesmo vou até copiar beleza Vamos colocar aqui eh tá beleza seria legal
organizar isso nin tá vamos fazer assim mesmo rodar para criar a tabela clientes criar clientes beleza aqui é um C Beleza então se a tabela existir dá um drop nela né ou seja Deleta a tabela e cria do zero o meu ID que é minha primary Key vai ser o número do WhatsApp do camarada pode ser outro né Obviamente você tiver um sistema que você vai atender o cliente via e-mail e WhatsApp e outros canais o ideal é que fosse outro outra informação aqui como eu tô apenas focando no WhatsApp vai ser no WhatsApp dele
e o data pode ser aberto pode ser um campo json aberto porque a gente consegue fazer busca por ele e a gente consegue colocar o formato que a gente quiser É bom porque cada um vai ter um formato diferente né se eu travo aqui exatamente as tabelas vai ficar mais complicado né se eu deixo em aberto você coloca o shape de Jason que você quiser no banco de dados e você pode buscar por esse formato Então eu acho que assim ajuda a todos nos a todo mundo eu só não vou colocar clientes né Vamos colocar
um prefixo AF agente de pera aí Por que a f não é Ofir Ofir começa com o cara tô viajando Por que eu coloquei a f Ofir que o f ele é mais forte né Vamos mudar isso daqui ao América online Quem lembra ai ai muito bom é vou chamar de ao ag gente offir Legal vamos testar upd Connection Ah tá upd conhecimento ah tá viajei Pera aí já existe isso né upd esse daqui ó tem que mudar function update add col Returns Trigger aí beleza aqui nome esse nome esse Trigger tem que ser único
também legal Então agora eu criei a minha tabela no banco de dados que chama a clientes ao cliente que é agente offir é bom você ser organizado clientes aí vamos vir aqui legal tá ali ó a clientes número Prim Key data data de criação update bonito Agora sim agora a gente vai brincar um pouquinho com isso aqui ó então primeira coisa que vem é que a galera falou né a gente pode vir aqui e selecionar da nossa tabela fazer um select e já tem aqui as minhas opções ó tá vendo mas antes disso seria legal
a gente fazer aquele parte de credenciamento né e segurança então pera lá vamos voltar aqui e copiar essas configuraçõe zinhas aqui isso aqui é legal que a gente vai precisar deles de qualquer jeito não tem como passar né configurações bum que que é essa tela de configurações você vê que ó Até apareceu aqui ó que legal admin utilização apenas vi admin sim admin não fal muito legal não tem base 64 então aqui é o meu número de admin e é o número que chegou do WhatsApp uhum vamos ver esse é o meu número e agora
eu vou colocar aqui aí verdadeiro beleza ó Então tá falando que eu sou admin tá vendo chegou meu número e aqui a gente passa o quê Qual que é o número do admin opa vou colocar aqui também atualizar qual que é o número que chegou do WhatsApp se a utilização vai ser apenas via de mim eu acho que isso daqui a gente vai tirar eu não vou ter mais esse conceito porque não é o assistente pessoal que a gente tá desenvolvendo né a gente tá fazendo a nova base dos assistentes da dinastia pro futuro então
não vai ter esse conceito de admin não é eu não acho que a gente tem que ter esse conceito de administrador beleza porque não é um assistente pessoal então eu vou tirar isso daqui também as únicas coisas que eu vou colocar É o quê É só isso aqui mesmo o número do cara a api do Evolution e se tem algum documento de base 64 a gente vai usar esse documento de base 64 mais para frente né bom eu vou colocar quando a gente for precisar dele eu não vou colocar agora não aí a minha api
tá aqui ó tá vendo Então é a mesma ó pum ap devolution aí você vai ver que a gente tem esse essa condicional aqui que eu vou colocar também então deu como verdadeiro e essa parte de administrador ou não a gente vai tirar né Número AD tira vai ficar só ISO ó que a api do evol tem que ser igual a ap dool colocou se que tá chegando no request tem ser igual colocou e o tipo do evento tem que ser mensagem upar morre né aqui para não faz nada legal agora sim agora a gente
chegou aqui a gente puxa o cadastro do número e a gente vai fazer aquela condicional se existe cadastro bum nem para função de configuração WhatsApp Trein ag gente pelo WhatsApp de mim por exemplo não é não vamos colocar is aqui não o treinamento vai ser por fora e aqui que eu falei que talvez seria interessante pensar em em modular ou não né Ou seja a gente pode colocar puxar o número do cadastro por uma API porque daí outros módulos podem usar a mesma api entendeu seria legal seria legal eh mas vamos continuar assim depois a
gente vai quebrar essa condicional beleza agora sim table ó clientes limite Eu quero um só e a condicional é que o número seja idêntico a esse número aqui ó pronto pá não retornou nada aí você vê né não veio o Green para cá ó tá vendo de fato não existe nada na tabela né se você entrar não tem nada mas seria legal ele retornar alguma coisa para mim retornar nada é importante então em settings você C aqui ó always output ó agora sim ó tá vendo Um item né e o item que ele retornou ó
eh vago né Legal eh [Música] agora a gente tem que ter uma condicional vamos ver antes da condonal A gente tem que tratar esse número aqui pera aí vamos editar campo e vamos colocar quando retornar alguma coisa aí sim a gente pode colocar se existir alguma coisa naquele objeto bacana se não vai criar depois a gente avança né então a gente pode colocar aqui cliente agora eu vou só criar um um exemplo lá pra gente ver a diferença aqui eu vou inserir uma nova na tabela número vou colocar uma informação vaga beleza vamos rodar agora
retornamos esse objeto legal e agora eu vou chamar de cliente isso daqui ah objeto quero tacar o objeto inteiro aqui eu tô pensando se eu vou usar a última informação que foi atualizada senão eu taco só o data né porque o número do cliente já vou ter já vou ter registrado ali no começo bom vamos colocar ali cliente ID ou cliente número vamos passar beleza e aqui eu vou passar data cliente data esse data é um objeto né então ele vai retornar assim para mim ó cliente número cliente data aí se o cliente número não
existir é porque esse cara tá fora do meu banco de dados entendeu E essa é a condicional que eu quero fazer ó if cliente existente a gente faz uma pergunta né existe se existir beleza verdadeiro continua né se não existir falso tá vendo Então foi verdadeiro tudo continua bonitinho se não existir vai ter que ter uma outra linha aqui que vai avançar Trein a gente pel WhatApp tá vendo tudo isso eu vou querer depois abstrair aquii e colocar dentro de um módulo específico então eu já sei o caminho final mas quando a gente for criar
um novo a gente vai ter que puxar esse novo e continuar ele pra frente né Ah tá pera aí uma coisa importante o departamento A gente esqueceu do departamento porque o departamento vai ser uma função primária desse complexo de agente que a gente tá criando entendeu então eu vou deixar em aberto baixar departamento beleza conhecimento eu vou tirar isso daqui cara porque ISO aqui eu não vou precisar agora pera aí deixa só checar aqui dar um novo nome ess aqui cara porque tá em conflito Essas funções entendeu col aqui ah tá ó update aqui beleza
aqui ó quando ele fizer update nessa tabela ele vai gerar essa função pronto Beleza deixa eu abrir aqui né para você entender né Essa daqui é uma função de quando a gente atualizar essa tabela ele vai atualizar automaticamente essa informação né da string de quando a gente fez o update na na tabela legal então agora a gente pode rodar de novo não tem nada aqui nessa tabela mas agora a gente tem número e Departamento foi criado ó tá vendo se eu rodar aqui essa condicional dif vai dar falso agora né aí ó beleza falso porque
o cara não existe mais vamos voltar de novo e vamos colocar como verdadeiro vamos inserir aqui o novo ah departamento né que nem eu falei secretária ele cai direto na secretária Quando é o novo cliente beleza Eh agora vai ter que dar verdadeiro aqui porque esse cliente existe ok deu verdadeiro cliente existe e agora eu quero puxar o departamento dele né então vamos atualizar aqui ó departamento cliente departamento legal agora sim secretária tudo que vier ele manda para frente então tá beleza aqui a gente vai precisar desse Campo eh eh cliente atualizado a gente vai
passar essas informações aqui pro cliente atualizado aqui ó Beleza então tá agora é o seguinte se por que acontece aqui o cliente atualizado ele tá pedindo todas as informações que vem da nossa condicional se não existir a gente vai ter que criar um novo Eh um novo um cliente com essas mesmas informações agora aqui quando o cliente não existir a gente vai no postgress e a gente vai inserir um novo cliente na tabela ó aqui ó no nos clientes ó a gente faz um map tá vendo agora olha só vamos deletar esse cliente daqui ó
beleza ah ok tranquilo valeu boa [Música] ah deixa só tirar daqui rodar o fals aí vamos ver que chegou aqui pra gente é veio vazio ó tá vendo porque o cliente não existe aí a gente vai pegar aqui de configurações o número do cara tá vendo É assim que a gente vai criar um novo cliente por você já não trata o número dele aí mesmo aí aonde jovem ser update R não o update É só inserir cara pode ter um Race condition também né Vamos só inserir por enquanto legal número do cara secretária e a
data lembro que é um objeto né a gente vai colocar o objeto Limpo Beleza se eu rodar de novo é travou tá vendo não pode ter chave duplicada então para não ter esse problema que você viu vai que tem uma algo que a gente chama de Race condition né duas APS tentando criar a mesmo tempo vamos tentar usar o inserir ou atualizar a tabela porque daí se tiver duas apis tentando criar esse mesmo cliente ao mesmo tempo não vai ter problema então vamos colocar de novo ó o número secretári data agora ele tem que atualizar
porque o cliente já existe legal perfeito ó tá vendo Então ele vai criar ou atualizar o novo cliente na hora de salvar o cliente para tirar os dados que vem depois do número já podia dar um split Ah não quero cara Podia mesmo dar o número mas é que a gente usa isso lá na frente para retornar no Evolution né ficar mais fácil Ah porque esse final ele não é fixo né ele ele muda né Eu já vi mesmo número do WhatsApp com versões diferentes entendeu depois do ara então se você não salva o Ara
Às vezes você não consegue mandar informação de volta para Evolution louco isso né então eu prefiro salvar o número inteiro incluindo o @ no banco de dados pra gente ter certeza que esse é o ID do WhatsApp entendeu porque esse daqui de fato é o ID é a string do WhatsApp legal então tá aí a gente vai colocar aqui novo cliente beleza aí que acontece Olha só como que sai para mim sai assim ó número departamento data e a gente quer conectar aqui desse jeito e tá com outras informações tem que vir cliente número cliente
data cliente departamento então a gente quando a gente criar a gente vai ter que tratar esses dados né então vai colocar tratamento e aí a gente só vai fazer o tratamento básico ali ó cliente número que é o novo número dele cliente departamento e o cliente data Ai Que bonito cliente número data tem que ser igual ó cliente número cliente data cliente departamento porque eu tô esperando que vai entrar um objeto Jason e a desse objeto que eu vou pegar e aí eu dou um merge que é isso que eu quero jovem ó é já
existe né Vamos excluir agora o cara aqui e rodar de novo vamos lá testar lindo maravilhoso ó tá vendo deu merge unificou vida bonita que segue ó cliente número passou as informações pra frente bacana é isso que eu queria Então tá isso daqui tudo isso daqui ó eu não queria fazer aqui eu queria modularizar já queria botar no outro módulo num api porque quase certeza que os outros eh os outros departamentos vão ter que usar esse cliente vai ter que puxar o cliente mais informação do cliente atualizar Por que não começar agora não sei vamos
fazer uma ideia aqui vamos fazer um teste e se a gente quebrar isso daqui puxar para cá colocar um outro AB Hook aqui e agora vamos pegar a mesma condição em vez de mensagem a gente vai chamar de cliente agora vamos colocar um header assistente api não é nenhum desses cara Quero criar um novo vamos lá e aqui eu vou criar uma string que é é uma um ID né esse aqui seria o meu ID minha chave minha api do meu da minha api a chave da minha api a gente offir chave api Legal vamos
usar o responder com web Hook node e Vamos conectar esse camarada aqui vai rolar toda essa brincadeira e aqui ele devolve com respond we Hook vai responder ah Jason e vai ser isess daqui ó pá número e Hum tá é vai ter que ser ali dentro da chave pera aí númeroa dep ok aqui eu vou colocando os valores que cheg para mim aqui dentro legal cliente departamento e aqui meu aqui é o seguinte aqui eu não posso responder direto porque eu preciso dar algo chamado string F aqui eu preciso fazer esse string F para ele
converter em em em texto o meu Jason string F assim aí então se eu tenho algo assim por exemplo cliente verdadeiro Olha só ele converte ó ele coloca o parênteses tá vendo ó quer dizer as aspas né então ele e converte em formato de texto o objeto que eu tenho Então como aqui o cliente data é um objeto eu tenho que fazer exatamente isso perfeito agora legal e agora a gente pode travar aqui e o que que a gente vai passar só o número do cara já bastaria né então aqui no payload a gente pode
esperar um número eh assim que a gente vai chamar né Beleza tá rodando Isso daqui sério ele rodou isso ou foi impressão minha Ah legal hein passou o número pra frente legal número veio aham voltou e esse valid Jason response tá só ver aqui ah respon headers Não não é essa opção é using web group to respond node vamos ver vamos ver que ele tá reclamando aqui que ele tá falando que tá inválido o meu Jason pô tá tão bonitinho meu Jason porque você tá achando ruim ô Car carou tudo aqui pera aí pera aí
que meu navegador travou legal agora aí hum vamos ver Ahã Tá é tava errado mesmo galera aqui ó tava faltando um um aspas ó legal então roda de novo aí para mim agora a gente vai voltar no Expression que bosta né departamento que coisa J é Jason string F E aqui vai colocar o que veio Legal vamos salvar is aqui vamos rodar de novo bonito bonito demais ué tá agora hora da verdade vamos ver se a gente consegue eu tô na dúvida se vai rodar isso [Música] no teste a URL de teste vamos tentar na
URL de teste http eh puxar ou só chamar de cliente já tem cliente né é puxar vou colocar minha url de teste pré-definido e aqui a gente não não é pré definir não genérico off aqui ó já tá até a chave e a gente tem que mandar um Jon B número vamos ver opa pera aí trava aqui libera esse ok Pera aí Ah tá post eu não lembro se eu coloquei post ali também né Aqui tem que ser um post não precisava ser é interessante né post ou Pat né porque as diferenças de htp update
é exatamente faltam no final valeu é porque aqui a gente vai pegar o cliente vai criar né e post é só quando você criando um recurso dentro do teu sistema o só quando você tá criando né quando você o Pat talvez ou seria interessante mas para não confundir a galera eu vou deixar o post só porque a gente vai tá criando o primeiro cliente depois a gente vai alterar esse http o método legal deixa salvar vamos ver post Test tá falando que não tá encontrando esse recurso Então vamos colocar ele na produção então dar URL
interessante ele tá falando que não tá conseguindo encontrar esse meu esse meu end Point deixa eu salvar e mandar uma execução vou mandar um oiá tudo bem vamos ver só testando o número do Alf não não deveria ser Cadê cara eu mandei um oi aqui e não foi entregue a mensagem Ah tá pera aí produção vamos aqui para nosso Evolution com a nossa mensagem tá certo salvei ah Olá tudo [Música] bem execução Ah tá tá acontecendo que tá morrendo aqui ah que interessante cara Pera aí Não pera lá pera lá tem alguma coisa muito interessante
acontecendo aqui ó aqui ele falou ah legal então tá aconteceu uma coisa ó número AB Ah o número não veio que legal então deu certo ó beleza ó lá que bonito entrou aqui ó só veio sem número ó cliente inexistente ó não veio nenhum número no request mas Funcionou cara que massa tá vendo ó B número Legal vamos só corrigir aqui então Ó passar o número ali e deixa eu fazer o teste pausa aqui bum vai agora tá indo jovem tá bonito isso hein número agora tô sentindo que agora vai ficar bonito aqui vamos ver
ô deixa eu ver aqui na execução é o único difícil essa modalização que é difícil fazer debug né cara tá deixa eu salvar Ah tá talvez é isso né tu tem que salvar vamos rodar de novo agora eu salvei Hum [Música] não tá Vou mandar pelo WhatsApp então vamos lá mandei um Olá Opa rodou aqui mas não rodou lá be found de novo ele não tá achando hum interessante que ele achou da primeira vez né Ah tá que bosta isso tava desativado ali é chato isso hein eu acho que eu não sei o exato not
tá desativado é bom modular por um jeito mas por outro jeito é uma bosta para fazer o debug né eu tô eu a minha ideia seria só simplificar eu só tô querendo simplificar a vida da galera mas eu tô com medo que eu vou acabar complicando ainda mais que chato isso é eu tenho que escutar mais o Willan musk né programadores eles gostam de simplificar algo que não precisa ser ser simplificado primeiro você cria depois você optimiza eu tô indo contra os meus pró meu meu próprio ditado que merda isso Eh tá vamos lá vamos
dar um oi aqui no WhatsApp ã aí ó ol lá vamos dar um Olá tudo bem Acabei de mandar um Olá tudo bem Oh legal rodos dois pá onde que morreu aqui tá beleza vamos ver como é que veio aqui web Hook Opa legal agora tem número ok então morreu em alguma etapa aqui que não puxou número Ah tá tem que vir do body ó tá vendo ó então a definição tava errada que que é legal agora a gente fazer agora que a gente viu que deu certo ali é copiar esse Jason exatamente a definição
que veio copiei porque aqui essa entrada rodou beleza perfeito Então agora eu venho aqui ó e agora a gente vai definir essa mesma entrada foi assim que a gente recebeu a nossa requisição ó vou salvar vamos só dar uma pausa aqui lembrando que tem que destravar ali de novo né E aqui no post a gente vai definir número podia fazer um tratamento aqui também né eu já tô fazendo aqui é eu já tô fazendo aqui então não precisa eh só colocar o b aqui ó número pum beleza ó tanto é que já passou né você
vê cliente Ó veio aqui ente data legal voltou bonito agora vamos vamos ver quando não existiu cara no banco de dados Beleza espera lá é difícil fazer e ler e entender o que vocês estão me falando de dica se quiser sobe alguém aqui na live porque é mais FC fail Então tá agora o que acontece vai travar aqui ó porque o número tá sem referência tá vendo não existiu então eu vou puxar o número tava até puxando a configuração né vai puxar do Hook ó pera lá oportunidade boa de mudar o nome desse web Hook
aqui hein a galera deu um nome bacana para mim qual que era o nome que vocês tinham dado para web Hook foi alguém aqui no comentário que deixou o nome bem legal que era Create criar ou fazer Play aqui Create update o frankston Valeu cara nome bacana que você deu eu vou alterar já [Música] eh uhum número então pronto aí ó agora vai se não existir puxa o cara lá tratamento também né a já vai puxar do no aqui que legal vamos ver bonito hein bonitinho secretária legal agora ficou bonito se eu rodar de novo
já existe pum fechou Pronto agora não é para dar erro hein vamos ativar aqui vamos salvar vamos pra execução eh e vamos dar um olá tudo bem olá tudo [Música] bem promissor hein ô louco tio Ô louco tio Olha isso que legal muito bom hein ah aí ó lindo maravilhoso Estamos no Game baby Estamos no Game isso é a mod modularizar E você tem como se fosse o conceito de microsserviços né Você tem uma API rodando aqui e você tem outra api rodando em paralelo é legal porque você não fica um uma longa api rodando
o processo inteiro ou seja todo o seu fluxo rodando e trava ferrou tudo né É legal que você divide aquele aquela demanda daquele fluxo que poderia ser grande você divide em pequenos apis né chamados de api a galera do e rodou rápido se for ver ó pô 437 msos impressionante a api do do n8n né a galera acha que é coisa de brincadeira mas n É não meu é é é programação pura visualmente falando programar sem programar no no no no código mas é programação Fala o que você quiser se o cara não for programador
o cara não não consegue mexer no n8n galera não gosta de falar muito porque assusta né não sou programador não quero ser programador mas é se você tá mexendo no n8n você é programador notes e o cara que não é programador dá até dó assim que quer ensinar né não é programador e quer ensinar aí fica difícil dá até dó Ah vamos colocar em português né criar ou atualizar cliente Ó que coisa linda até mudar corzinha aqui ó verdinho Eh agora fica bonito sabe por quê Porque esse cara aqui virou um módulo teu ó puxar
cliente virou um módulo muito legal você pode copiar esse módulo e colocar até como Tool http vira até tu do agente você pode instruir teu agente Toda vez que você quiser puxar o o o cadastro do cliente usa essa Tool então o http é uma Tool também então é por isso que é muito legal é um jeito muito fácil e fica no mesmo fluxo ó tá vendo ficou tudo no mesmo fluxo o único problema é esse daqui ó é testar essa bagaça aqui ó se eu rodar agora ah funcionou também perfeito Então tá maravilhoso pô
agora eu gostei hein fiquei mais feliz agora ficou bonito hein tá ficando bonito isso daqui tem que fazer bem feito poderia deixar qualquer jeito poderia mas não seria dinastia se a gente né não entendeu mostrasse o outro lado da moeda e esse cara aqui eu vou jogar F aqui embaixo também ó porque agora ele tem que ficar pertinho ó é a tabela do cliente fica tudo bonitinho ó fica pertinho aqui aqui que você cria a tabela do teu cliente e aqui é o o fluxo principal tá vendo e agora e dependente se o cliente existir
ou não sempre vai me retornar esse objeto Oh coisa maravilhosa aí Ó que bonito vou até salvar nem te salvei Eh vamos lá que meu tempo tá acabando tem Só mais 10 minutos 10 15 no máximo Depois eu continuo mais para mais para tarde e tem um b de louco aqui ó agora que tô vendo 33 locos Vocês não tem nada para fazer não nem é Live isso daqui eu abri só para brincar um pouquinho aqui ó e tudo bom de louco vai saber que vocês estão fazendo aqui Eu hein tão coisa para fazer vamos
lá é Suit cara Suit porque agora a gente vai separar pro departamentos subido cedor de outra tela aqui pegando as dicas boa isso aí então A ideia é a gente puxa o cliente e agora a gente vai pro Switch beleza por eu quero mandar o cara pro departamento que ele vai lá né então a gente vai colocar aqui e departament puxar cliente e se for igual secretária a gente já sabe né eu vou até colocar output de secretária ó lá secretária E aí a gente pode colocar outro né E vamos colocar outra opção aqui e
Comercial um exemplo beleza agora tem dois exemplos ó Saiu na secretária e a gente coloca aqui qual departamento Vamos botar o nome né e Departamento aqui é o departamento que o cliente quer conversar aí agora eu vou eu só vou fazer um teste eu vou fingir que esse daqui é um agente de a beleza e ele vai ter que fazer um output output vai ser o seguinte vai ser mensagem como que pode ser pode ser mensagem transferência a gente tinha colocado lá né aqui ó não importa o que aconteça dentro do ag gente ele sempre
vai ter que atualizar o contexto e o contexto é sempre vai ter uma mensagem saindo do agente E se ele tá sendo transferido ou não então mensagem eu coloco aqui teste um exemplo e pô seria legal colocar os dados do cliente pra gente continuar no loop né meu pera lá vamos acab que que vem aqui dentro do L hum vai ter que tratar isso daqui vai V vem tudo isqui ó vai vir isso daqui vai ter que vir os dados do cliente vai ter que vir pelo menos na hora que for fazer o look né
porque essa é a entrada Esse é o input pro suwit o input tem que ser o mesmo é vai entrar no no no pipeline do do agente ele joga de Fora o mesmo cliente só mudando o departamento né Por que não é se ele mudar o departamento ele transferiu cara pronto fechou acho que não precisa nem ser claro é só isso mudar o departamento do cliente tá transferido entendeu Não sei se vocês estão acho que vocês estão viajando do que eu tô falando mas eu vou tentar explicar agora vamos ver esse daqui é um agente
é a secretária vamos supor que esse daqui é um ai Agent Ok secretária ela foi lá conversou fez um monte de coisa e aí ela vai devolver o cliente ó se o departamento for igual cara acabou ali e vai morrer a mensagem aí tem que ter uma mensagem que ela falou né Por exemplo a reunião agendada com sucesso sei lá então esse é o retorno dela ó ela retorna O cliente e ela retorna essa mensagem ó reunião agendado com sucesso mas no output vai ter um campo a mais com o Destination com destino não vai
ter só o departamento você vai ver vocês vão ver eu vou fazer mesma coisa pro comercial ó vamos supor que aqui a gente tem outro a Agent que vai chamar comercial beleza e vai ativar aqui ó aí no comercial vai fazer mesma coisa né aí vai falar assim eh eh caso você queira saber mais informações estou à disposição um exemplo beleza Esse é o retorno do do do agente vai ser sempre os dados do cliente mais uma mensagem aí se você for ver aqui no nosso organograma a gente vai ter que dar um merge nesses
caras entendeu porque pode ativar esse fluxo Como pode ativar esse outro fluxo Mas independente do fluxo que ative vai ter que ir sempre pro mesmo tratamento Então a gente vai tratar os dados vamos tratar os dados ó e a gente vai chamar de retorno agente ou agente retorno e o retorno É o quê É a mesma a mesma coisa né é o cliente número cliente data cliente departamento e agora a mensagem ó tá vendo esse é o cliente retorno ó vai para cá também ó todo mundo vai pro cliente retorno ou seja não importa quantos
agentes você tem ele sempre vai retornar a o mesmo Shape a mesma informação sim é o mesmo seria a mesma coisa da intenção mas a gente tá fazend departamento você vai entender agora a gente vai vir vai ver se tem uma eh transferência ó fico olhando e aqui ó ele vem aqui agora a gente vai atualizar o contexto ó porque esse setor a gente tem que atualizar o cara ou a gente pode deixar a gente pode deixar ele atualizar atualiz aqui mesmo Bom enfim a gente vai ter que ver a gente vai ter que ver
se houve uma transferência E aí é isso que eu vou fazer ó tá vendo a gente vai checar se houve uma transferência agora é a hora da verdade ó ó ó transferir cliente é uma pergunta correto temos que transferir o cliente puxar cliente de novo essa porcaria Ah tá tem que desativar aqui bum não pode salvar beleza ó lá então vem aqui para mim Ok departamento secretária aí vamos supor que a secretária falou que ele quer mudar pro comercial ó porque aqui ó temos que transferir o cliente Qual que é a informação que a gente
vai checar se presta atenção se o que a gente veio de retorno é diferente é diferente da primeira informação que a gente puxou no departamento do cliente ó vamos voltar lá qual que é o departamento ó aqui no Switch qual que foi o Switch foi secretário tá vendo se o departamento Inicial for diferente é porque o agente do Meio mudou o departamento ou seja se o retorno do meu cliente o agente retornou for diferente do primeiro departamento que ele estava esse agente aqui a secretária decidiu transferir o camarada para outro departamento então se eu rodar
aqui de novo você vai ver que ela não transferiu porque é o mesmo departamento ó continua o departamento de secretária agora vamos supor Ok vamos supor que a secretária em vez de falar assim qual que é o departamento que eu coloquei aqui ela vai falar assim é comercial agora Ou seja eu quero transferir esse cara pro comercial então ele vai vir aqui na secretária e a secretária vai transferir pro comercial ó lá agora virou verdadeiro ou seja houve uma transferência de departamento e agora a gente faz o looping Ó que louco porque o comercial ele
não vai transferir de volta ele vai ficar no comercial comercial agora você faz um looping ó muito louco hein ti que doideira Reza para dar certo agora viu deu certo então ele entrou primeiro foi pra secretária conversou com a secretária a secretária falou assim Ah você quer saber mais sobre o nosso produto e serviço pera lá deixa eu te passar aqui pro Marlon que ele vai conversar com você ó o cliente quer falar com tem que transferir o cliente tem volta pro departamento qual departamento agora agora é comercial corre lá no comercial o mar falou
Olá tudo bem Meu nome é mar você quer saber mais sobre nosso produto quero legal ó tá tranquilo é assim que funciona e tal veio a mensagem aí que vai ter o output da mensagem e qual que é o último output aqui ó é a mensagem comercial então o output da secretária que vem em primeiro lugar e você vê que tem duas vezes que rodou né Essa foi a primeira vez ó reunião agendada com sucesso Essa foi a a mensagem que veio da secretária só que ela falou assim ó agora eu quero passar ele pro
comercial Essa foi a primeira vez foi pro comercial e a segunda vez o comercial falou assim caso você queira saber mais informação estou à disposição você entendeu então Houve essa essa diferença muito legal e agora o que acontece toda vez que for falso a mensagem retorna pro WhatsApp retorna Pro Evolution tá vendo ó se aqui ó se a gente pegar aqui ó Evolution coloca aqui ó agora a gente só tem que tratar o número e retorna pro cara bom é é basicamente isso essa é a base que eu tava querendo desenvolver agora exatamente isso que
eu queria desenvolver ó olha aqui ó tá vendo retornou modularizar perfeito cara e agora na próxima aula que é vai ser uma live que não é Live a gente vai est executando aqui dentro os agentes Ou seja a base tá criada agora a gente vai pegar o agente de agendamento que a gente já fez vai colocar aqui dentro vai pegar o agente comercial vai colocar aqui dentro você entendeu vai pegar o cara financeiro vai começar a desenvolver o agente financeiro que vai ser a integração com asas e e depois a gente vai ter um módulo
parecido para conectar o CRM mas tá ficando bonito cara perfeito hein É isso aí meu caro Nobre Cavaleiro e dama Espero que você tenha gostado dessa aula o objetivo foi aqui compartilhar o conhecimento de como que você desenvolve um agente modularizado do zero você começa assim ó no diagrama beleza troca uma ideia depois você parte pro desenvolvimento do fluxo vai testando vai sempre modularizado para deixar módulos reutilizáveis ou seja lembre-se de uma sigla dry Ok dry d r y don't repeat yourself Ok ou seja não fica se repetindo cara é uma sigla tão simples na
programação que é exatamente que eu fiz aqui agora esse puxar cliente eu posso usar lá dentro da secretária dentro do comercial dentro do financeiro e com essa tecnologia que a gente desenvolveu você pode modularizar para diversos departamentos e não fica aquele Frankstein aqui dentro vai ser tudo modularizado também aqui vai ser um vai ser uma requisição http que eu vou fazer pra secretária pro comercial pro financeiro e vou tentar deixar todo mundo dentro do mesmo fluxo E aí a gente pode ver ocorrendo aqui da mesma forma que a gente fez para pu né criar ou
atualizar o cliente OK É isso aí Espero que você tenha gostado Essa vai ser uma nova série A Série do agente ofar Lembrando que não será disponibilizado o template e nemum fluxo desse agente você vai ter que fazer na unha só vai ser disponibilizado para quem tiver dentro dos reinados se você não tá em reinado não vai ter nada disponível Ok Lembrando que não tem custo nenhum Mas você tem que fazer um cadastro a gente deu uma pausa na entrada de pessoas porque a gente já chegou a lotação estamos analisando quem é que vai continuar
dentro doos reinados tem muita gente que não tá se engajando ou seja não tá a fim de continuar a gente vai pedir a com muita delicadeza obviamente né Para que você se retire e dê espaço para quem de fato Tá fim de fazer acontecer Ok esse final de semana vai ter uma nova leva de entrada ou seja nós temos o dobro de pessoas que se se que se eh Se cadastraram na primeira leva Por isso que tá demorando um pouquinho porque o dobro de pessoas se cadastraram são centenas centenas de cadastros que foram realizados para
entrar dentro dos R tá esse tipo de conteúdo avançado só vai ficar dentro do reinado Ok meu muito obrigado e te vejo até a próxima