Principal Boas práticas na construção de Eddies
📐

Boas práticas na construção de Eddies

Winderlly
Róger Lenhart
Por Winderlly and 2 outros
7 artigos

Monitoramento e Melhoria Contínua dos Fluxos no Eddie

Para garantir que os fluxos operem corretamente, é essencial monitorar os processos da ClaudIA e do Eddie. Temos uma plataforma chamada HUB, onde todas as interações que passaram pela ClaudIA ficam registradas. No HUB, é possível visualizar os atendimentos, acompanhar fluxos chamados pelo Eddie e identificar oportunidades de melhoria, garantindo um atendimento cada vez mais eficiente e bem monitorado. Visão geral do HUB: Tela principal exibindo o histórico de conversas da ClaudIA O HUB funciona como um painel central que permite auditar, analisar e aprimorar o atendimento ao cliente. Ele oferece uma visão detalhada do fluxo das conversas, ajudando na identificação de possíveis gargalos e facilitando ações para otimização contínua. Rastreamento de Fluxo no HUB: Exemplo de conversa com a indicação do início do fluxo no Eddie e o sinalizador de retorno para a ClaudIA ao final da interação. Funcionalidades do HUB ✔ Registro completo das conversas: todas as mensagens trocadas entre os clientes e a ClaudIA ficam armazenadas para análise e auditoria. ✔ Monitoramento dos fluxos do Eddie: sempre que a ClaudIA aciona um fluxo do Eddie, o HUB exibe uma sinalização com o nome do fluxo e as mensagens trocadas dentro dele, permitindo rastrear a jornada do cliente. ✔ Indicação do fim de fluxo: quando um fluxo é finalizado, há uma sinalização de retorno para a ClaudIA, permitindo entender em que momento o atendimento voltou para a IA. ✔ Auditorias para melhoria contínua: O HUB possibilita ajustes estratégicos, como refinamento de conteúdos N1 e N2, criação de fluxos interativos e identificação de pontos de falha que impactam a experiência do cliente. ✔ Monitoramento de erros nas requisições do Eddie: Caso ocorra alguma falha em chamadas de API ou integrações dentro do Eddie, o HUB permite a identificação dessas falhas, possibilitando correções ágeis para evitar impacto no atendimento. Um bloco alto nível com um log é exibido no momento da falha para facilitar a identificação do problema. Exemplo de log no Hub: indicação de falha na requisição do Eddie O Hub é uma ferramenta essencial para garantir a eficiência, a transparência e a evolução constante do atendimento, proporcionando uma visão estratégica sobre a interação entre ClaudIA, Eddie e os clientes. Os seguintes recursos estão disponíveis para análise e otimização: Identificação do Momento de Chamada do Eddie - No Hub, é possível visualizar exatamente quando um Eddie foi chamado dentro de uma conversa. - O início e o término do fluxo são registrados, permitindo rastreamento claro do que aconteceu durante a execução. Processo Sugerido para Teste e Melhoria de Eddie Para garantir a qualidade e evolução contínua dos fluxos criados no Eddie, é essencial seguir um processo estruturado de testes e melhorias. Como o Eddie não possui um controle de versão nativo, as boas práticas incluem backup, testes isolados e validação antes da publicação. Construção e Modularização - Sempre que possível, divida fluxos complexos em partes menores e reutilizáveis. - Utilize chamadas entre fluxos para facilitar a manutenção e evitar retrabalho. - Certifique-se de que todas as condições (if/else) estejam corretamente preenchidas para evitar decisões incorretas. Testes Antes da Publicação - Antes de publicar qualquer alteração, duplique o fluxo e realize testes em um ambiente isolado. - Execute simulações completas, verificando a lógica de decisão, as mensagens enviadas e as integrações configuradas. - Valide os tempos de resposta observando o intervalo entre a mensagem do cliente e a resposta da ClaudIA no HUB. Isso ajuda a identificar possíveis lentidões nas requisições, mesmo sem um detalhe exato da duração. Evite requisições que possam ultrapassar o tempo limite de 45 segundos. Backup e Controle de Alterações - Como não há um sistema nativo de versionamento, baixe uma cópia do fluxo antes de qualquer modificação. - Publique apenas após todas as alterações estarem validadas para evitar falhas inesperadas. - Caso seja necessário um downgrade, utilize a versão salva para restaurar rapidamente o fluxo anterior. Monitoramento e Aprimoramento Contínuo - Acompanhe a execução dos fluxos no HUB, verificando quais foram chamados e se houve falhas ou desvios inesperados. - Analise logs e mensagens de erro para identificar pontos de otimização. - Caso ocorram falhas recorrentes, ajuste as condições de decisão e fluxos alternativos para garantir um atendimento mais fluido. Esse processo estruturado minimiza erros, otimiza o desempenho do Eddie e melhora a experiência do cliente, garantindo que cada fluxo funcione da melhor forma possível.

Última atualização em Dec 02, 2025

Como Identificar e Evitar Falhas nos Fluxos e Requisições do Eddie

Para garantir um atendimento eficiente e fluido, é essencial entender os principais modos de falha que podem ocorrer nos fluxos do Eddie e na comunicação entre Eddie e ClaudIA. Identificar e mitigar essas falhas permite aprimorar a experiência do cliente e evitar interrupções indesejadas. Timeout e Cancelamento de Requisição A comunicação entre ClaudIA e Eddie precisa ser rápida e eficiente para garantir um atendimento fluido ao cliente. No entanto, existe uma limitação de tempo para a execução de cada requisição dentro do Eddie. Se esse tempo for ultrapassado, a requisição é cancelada automaticamente, interrompendo o fluxo e impedindo que o cliente receba uma resposta adequada. Como Funciona o Timeout? - Quando ClaudIA chama um fluxo do Eddie, a execução das ações dentro do fluxo deve ocorrer dentro de um tempo limite de 45 segundos. - Esse limite existe para garantir que a conversa aconteça em tempo real, sem atrasos perceptíveis para o cliente. - Se uma requisição demorar mais do que esse período, o Eddie não consegue completar a ação, resultando no cancelamento da operação e na ausência de resposta para ClaudIA. Principais Causas de Timeout e Cancelamento de Requisição APIs com Tempo de Resposta Alto - Quando um fluxo do Eddie faz uma chamada a uma API externa, o tempo de resposta pode ser muito longo, ultrapassando o limite permitido. - Algumas APIs não são otimizadas para consultas rápidas e podem demorar para processar e retornar dados. - Se a API não responder dentro dos 45 segundos, a requisição será cancelada automaticamente, prejudicando a experiência do usuário. 🔹 Como evitar: Utilize APIs que tenham tempo de resposta rápido (idealmente menos de 2-3 segundos). Priorize APIs assíncronas ou com respostas em cache para evitar atrasos. Se precisar de uma API lenta, considere dividir a requisição em partes menores ou usar soluções intermediárias (como armazenar dados temporários). Falha no Retrieval - Isso pode acontecer por erro de configuração, alterações recentes no fluxo ou falha na indexação de dados. - Para mitigar esse problema, é essencial revisar e testar regularmente os conteúdos anexados ao fluxo. Erro de Execução Interna no Eddie - O Eddie pode apresentar falhas internas que impedem a execução correta do fluxo. - Isso pode ocorrer devido a configurações incorretas, blocos mal estruturados ou uso inadequado de condições lógicas (IF/ELSE). - Para minimizar esse risco, é recomendado testar cada fluxo antes da publicação e revisar logs de erro no Hub caso ocorra. Erro na Execução de Integrações - Integrações externas (como chamadas de API, Google Sheets) podem retornar mensagens de erro ou falhar completamente. - Quando isso acontece, o Eddie pode seguir um caminho incorreto ou não responder ao cliente. - Para mitigar esse problema, configure tratamentos de erro adequados, como: - Retornar uma mensagem explicativa para o cliente. - Escalar o atendimento para um agente humano (N2). 5. Fluxo Incorreto de Execução - Em fluxos que utilizam LLMs (Modelos de Linguagem como GPT) para definir a rota de execução, pode haver falhas na escolha do próximo passo. - Isso ocorre quando a interpretação do modelo leva a um caminho inesperado ou quando as condições dentro do fluxo não estão bem definidas. - Para evitar esse tipo de erro: - Defina prompts claros e bem estruturados. - Configure respostas condicionais para diferentes cenários. - Teste variações do fluxo para garantir previsibilidade. Falha Total do Eddie - Em casos extremos, o Eddie pode falhar completamente, impedindo a continuidade do fluxo. - Para evitar que o cliente fique preso na conversa, existe uma feature de segurança que escala automaticamente a conversa para N2. - Essa escalabilidade garante que, mesmo em um cenário de falha geral, o atendimento ao cliente não seja interrompido.

Última atualização em Dec 02, 2025

Transforme seu Google Sheets em Serviço Web em 5 Minutos!

Substitua todos os textos EM MAIÚSCULO pelos seus valores reais YOUR_SHEET_ID • YOUR_SHEET_NAME • YOUR_KEY_NAME (ex.: id, phone, cpf…) 1. Visão Geral - Web App Expõe sua planilha Google Sheets como endpoint HTTP (GET ou POST). - Cache em memória Índice em Map para respostas em ms. - Busca por chave Consulta por YOUR_KEY_NAME (ex.: id=123) usando índice + fallback rápido. - Rebuild & Incremental Você controla quando reconstruir o índice (manual ou trigger de 1 min). 2. Script-base (anonimizado) /** * Web App – API de Planilha * Troque TODOS os marcadores EM MAIÚSCULO pelos seus dados reais! */ /* ⚙️ CONFIGURAÇÃO */ const PLANILHA_ID = 'YOUR_SHEET_ID'; const SHEET_NAME = 'YOUR_SHEET_NAME'; /* 🗺️ Mapeie só as colunas que quer expor (A=1, B=2, …) */ const COL = { key : 1, // YOUR_KEY_NAME (chave de busca) field01 : 2, field02 : 3, field03 : 4 }; const NUM_COLS = Object.keys(COL).length; const TTL_CACHE_MS = 15 * 60 * 1000; // 15 min const CHUNK_ROWS = 8000; // leitura em blocos /* 🛢️ Cache */ let cache = { map:new Map(), last:0, building:false }; /* 🌐 ENDPOINTS */ function doGet(e){ return handle(e); } function doPost(e){ if (e.postData && e.postData.type === 'application/json') Object.assign(e.parameter, JSON.parse(e.postData.contents||'{}')); return handle(e); } /* 🧠 LÓGICA PRINCIPAL */ function handle(e){ const id = (e.parameter['YOUR_KEY_NAME'] || '').trim(); if (!id) return out({found:false,error:`Parâmetro 'YOUR_KEY_NAME' ausente`}); try{ if (Date.now() - cache.last > TTL_CACHE_MS) buildIndex(); const hit = cache.map.get(id); if (hit) return out({found:true, ...hit}); const obj = searchSheet(id); return out(obj ? {found:true, ...obj} : {found:false}); }catch(err){ return out({found:false,error:err.toString()}); } } /* 🔍 Busca direta (fallback) */ function searchSheet(id){ const sh = SpreadsheetApp.openById(PLANILHA_ID).getSheetByName(SHEET_NAME); const rng = sh.getRange(1, COL.key, sh.getLastRow(), 1) .createTextFinder(id).matchEntireCell(true).findNext(); if (!rng) return null; const vals = sh.getRange(rng.getRow(), 1, 1, NUM_COLS).getValues()[0]; const obj = rowToObj(vals); cache.map.set(id, obj); // salva no cache return obj; } /* 🔄 Constrói OU renova o índice completo */ function buildIndex(){ if (cache.building) return; cache.building = true; try{ const sh = SpreadsheetApp.openById(PLANILHA_ID).getSheetByName(SHEET_NAME); const rows = sh.getLastRow() - 1; const map = new Map(); for (let i=2;i<=rows+1;i+=CHUNK_ROWS){ const end = Math.min(i+CHUNK_ROWS-1,rows+1); sh.getRange(i,1,end-i+1,NUM_COLS).getValues().forEach(r=>{ const id = (r[COL.key-1]||'').toString().trim(); if (id) map.set(id, rowToObj(r)); }); } cache = { map, last:Date.now(), building:false }; }finally{ cache.building=false; } } /* 🧩 Helpers */ function rowToObj(r){ const o={}; for (const k in COL) o[k]=r[COL[k]-1]; return o; } const out = o=>ContentService.createTextOutput(JSON.stringify(o)) .setMimeType(ContentService.MimeType.JSON); /* ⏰ Trigger incremental (1 min) */ function criarTriggerIncremental(){ ScriptApp.newTrigger('buildIndex') .timeBased().everyMinutes(1).create(); } 3. Passo a Passo Essencial A. Configure & cole o script 1. Abra script.google.com → Novo projeto. 2. Cole o template acima. 3. Troque TODOS os marcadores YOUR_…. B. Construa o primeiro índice manualmente 1. No editor ➜ Executar buildIndex() uma vez. 2. Isso carrega todas as linhas em memória (mais rápido para a primeira requisição). 💡 Dica rápida Se preferir, basta chamar a API com &rebuild=true logo após o deploy – o efeito é o mesmo. C. Crie o gatilho incremental 1. Una vez construído o índice inicial, selecione a função criarTriggerIncremental no menu suspenso de execução. 2. Clique Run → autorizar. 3. Um trigger de 1 min manterá o cache sincronizado sem esforço. D. Publique e gere a URL 1. Deploy ▸ New deployment ▸ Web app. 2. Execute as: Me • Who has access: Anyone (ou link). 3. Deploy ➔ Authorize ➔ Copy URL. https://script.google.com/macros/s/SEU_DEPLOY_ID/exec 4. Testes Rápidos 5. Problemas Comuns & Soluções 🔒 Segurança Rápida - Web App roda com suas credenciais → clientes só veem JSON. - Para limitar, mude acesso para Only myself e exija token / API Key. Pronto! 1. Construa o primeiro índice (buildIndex ou rebuild=true). 2. Crie o trigger incremental. 3. Publique e use! Qualquer dúvida, fale com a gente. 😉

Última atualização em Dec 02, 2025

Como reduzir Erros de Chamada do Eddie para aumentar a retenção

O que são Erros de Chamada do Eddie e por que devo analisá-los? Erros de Chamada do Eddie são uma das razões de transferências da ClaudIA para agentes humanos. Para validar se o foco deve ser em Erros de Chamada do Eddie, consulte a FAQ de Como acompanhar e aumentar a retenção da Claudia. Este guia orienta como agir imediatamente nos Erros de Chamada do Eddie que mais geram transferências, ajudando a reduzir o volume de tickets enviados para humano. ⚡ Como usar esta FAQ: Leia tudo primeiro para entender os conceitos e o passo a passo. Depois, abra o dashboard para colocar as orientações em prática. 🚀 Por onde começar a análise? Dentro do dashboard, na aba Transferido por falha na chamada do Eddie, conforme imagem abaixo, você encontra tabelas que vão auxiliar das falhas na chamada do Eddie. Essas tabelas ajudam a identificar rapidamente onde estão os maiores impactos na retenção. Tabelas principais Tabela “% de Erros de Chamada do Eddie por Fluxo”→ mostra  para cada fluxo do Eddie, a porcentagem semanal de tickets que voltaram ao N2 porque o bot falhou. Importante analisar pela última semana completa e ver quais são os maiores ofensores. Para ordenar, clique em cima do seu nome. Tabela “Tickets com Erro de Chamada por Fluxo”→ indica quais tickets estão vinculados ao fluxos do Eddie que houveram falhas. Nesta tabela é possível ordenar os fluxos por ordem alfabética para facilitar as análises e auditorias. 1. Hora de agir Checklist de análise - As integrações/APIs estão corretas? - Dados de entrada/variáveis estão validados? - Existem condições conflitantes no fluxo? - O erro ocorre em fluxos críticos de alto volume? Sugestões práticas ✅ Corrigir fluxos com maior percentual de erros. ✅ Criar fallback para evitar má experiência.

Última atualização em Dec 02, 2025

Validação de erros nos fluxos Eddie

Este artigo mostra os tipos mais comuns de erros que devem ser validados antes de publicar fluxos Eddie, bem como indica como identificá-los e corrigi-los. Adotar essas boas práticas ajuda a garantir que o fluxo funcione de forma coesa, que todos os caminhos estejam cobertos e que a experiência do usuário final seja consistente. Validação automática no editor A validação dos fluxos Eddie é executada automaticamente após cada alteração feita no editor, fornecendo feedback em tempo real sobre inconsistências e pontos de atenção. A validação não impede que o fluxo seja publicado, mas é recomendado que todos os problemas sejam revisados e resolvidos antes do fluxo entrar em produção. Erros conhecidos Bloco ClaudIA ausente nas ramificações Em cada ramificação do fluxo deve haver pelo menos um bloco ClaudIA antes do final do caminho. A ClaudIA precisa dessa informação para identificar que o fluxo acabou e tomar as ações necessárias (continuar atendimento, resolver N1, escalar N2, etc.). Texto faltando junto ao bloco ClaudIA O bloco ClaudIA existe, mas está sem nenhum texto associado. O bloco de texto pode estar posicionado antes ou depois do bloco de ClaudIA, desde que não haja nenhum bloco de Input posicionado entre eles. Condições Incompletas Avisa quando blocos condicionais (IF, ELSE) não estão devidamente preenchidos. É importante que todas as saídas do condicional estejam conectadas a algum bloco, para que o fluxo possa seguir sua execução sem erros. Links Quebrados Indica que algum bloco de link aponta para um fluxo que não existe mais ou ainda não foi publicado. Esse aviso pode ser ignorado durante a construção do fluxo, mas é fundamental que seja resolvido no momento da publicação. Texto ausente entre blocos de input Ocorre quando há sequências de blocos de input de texto conectadas diretamente, sem uma mensagem de texto entre eles. Para que não ocorram erros na integração com a ClaudIA, é necessário que sempre seja enviada uma mensagem antes de qualquer coleta de informações. Conclusão Garantir que todos os fluxos Eddie sejam validados antes da publicação é essencial para assegurar uma experiência de usuário fluida, reduzir erros operacionais e manter a integridade da lógica da Cláudia. A partir das validações e boas práticas descritas aqui, sua equipe pode construir fluxos mais robustos, previsíveis e fáceis de manter.

Última atualização em Dec 02, 2025