Sprints #908
AbertaDocumentação #901: ÉPICA 04: Integrações e Mensageria
Sprint 15 — Integração Chat N8N no Front e Criação de Workflow no N8N
100%
Descrição
criar seção de associação de WhatsApp na tela do bot em produção, implementar exibição de QR code com polling de status de conexão, criar indicador visual de status da instância (conectado, desconectado, aguardando).
Atualizado por Rodrigo Admin há 2 meses
- Atribuído para ajustado para Rodrigo Admin
- Tarefa mãe alterado de #905 para #901
Atualizado por Rodrigo Admin há 2 meses
- Título alterado de Sprint 16 — Atividades de frontend para Sprint 16 — Integração Chat N8N no Front
Atualizado por Rodrigo Admin há aproximadamente 2 meses
- Título alterado de Sprint 16 — Integração Chat N8N no Front para Sprint 16 — Integração Chat N8N no Front e Criação de Workflow no N8N
- Situação alterado de Backlog para Developing
Atualizado por Rodrigo Admin há aproximadamente 2 meses
- Título alterado de Sprint 16 — Integração Chat N8N no Front e Criação de Workflow no N8N para Sprint 15 — Integração Chat N8N no Front e Criação de Workflow no N8N
Atualizado por Rodrigo Admin há aproximadamente 2 meses
- Início alterado de 18/05/2026 para 15/05/2026
- % Terminado alterado de 0 para 80
Atualizado por Rodrigo Admin há aproximadamente 2 meses
Agente Especialista em n8n Criado e Integrado
O novo agente Arquiteto de Workflows n8n foi estabelecido no sistema. Este agente agora possui a capacidade de não apenas projetar fluxos, mas também de realizar o deploy automatizado para sua instância local de n8n.
Mudanças Realizadas
Personas e Regras
Nova Persona:
especialista_n8n_workflows.md
criada com foco em design de fluxos e deploy.
Regras de Workflow:
n8n-workflow-rules.md
estabelecidas para garantir que os fluxos respeitem o padrão multi-tenant e segurança via X-Api-Key.
Documentação e Versionamento
Guia de Integração:
n8n_integration_guide.md
detalhando endpoints e payloads.
Repositório de Workflows: Criado diretório /n8n_workflows/ na raiz do projeto para salvar os JSONs antes do deploy.
Validação Técnica
Conexão com n8n: Validada com sucesso via API REST utilizando a N8N_API_KEY do .env.
Deploy de Teste: O workflow
health_check_bot_v1.json
foi criado e submetido via POST /api/v1/workflows.
ID no n8n: 7vOUgzLQH3sHzvp8
Resultado: HTTP 200 OK
Como usar o novo agente
A partir de agora, você pode me pedir para:
"Crie um workflow para integração com Google Calendar que siga as regras do projeto."
"Atualize o workflow de Health Check para incluir uma notificação no Telegram."
"Suba a versão 1.1 do bot de vendas para o n8n local."
Atualizado por Rodrigo Admin há aproximadamente 2 meses
- % Terminado alterado de 80 para 60
Sincronização de Criação do workflow no n8n: usando o template cadastrado na tabela bots é criado um novo workflow com nomenclatura (tenant + association + bot name) com alteração das credenciais para as criadas no step 2 do wizard.
Sincronização de Remoção: Ajuste no BotWizardView para desativar corretamente todos os serviços Google quando a integração é removida.
Apresentação do webhook e chat url salvos na base referentes ao novo workflow.
Logs de Debug: Desativação da verbosidade do LogInterceptor no ApiClient para limpar o console de execução do Flutter.
Atualizado por Rodrigo Admin há aproximadamente 1 mês
📂 Backend & Infraestrutura
- Banco de Dados e Schemas
backend/prisma/schema.prisma:
Atualização e ajustes no schema do Prisma para suportar melhor relacionamentos de chaves de integrações, logs de execuções (bot_executions) e suporte ao contexto dinâmico dos assistentes (BotContext). - Serviços de IA e Vetores (Bots & Qdrant)
backend/src/bots/vector-store.service.ts [NOVO]:
Criação do serviço isolado para gerenciamento do Qdrant. Ele lida com a criação de coleções e o carregamento de textos de conhecimento para o Vector Store, implementando tentativas automáticas de reconexão e tratamento de erros robusto.
backend/src/bots/bots.service.ts:
Modificação do fluxo de associação de bots para sincronizar o nome e o LLM ativo (llmInUse) no banco de dados imediatamente antes do deploy do workflow n8n.
Integração com o novo serviço VectorStoreService para carregar dados dinamicamente.
backend/src/bots/bots.controller.ts e bots.module.ts:
Ajustes nos controladores para receber novas propriedades de fluxo nos passos do Wizard e injeção do novo módulo de Vector Store. - Serviços de Credenciais
backend/src/credentials/credentials.service.ts:
Ajuste profundo na manipulação e criptografia de chaves. Agora, as substituições e criações de credenciais integradas com o n8n suportam fluxos assíncronos sequenciais robustos via await, evitando falhas de concorrência ou credenciais incompletas. - Integrações de Serviços de Mensagens e Canais
backend/src/integrations/google/google.service.ts:
Otimização da integração Google OAuth2 (Gmail, Calendar, Contacts), mapeando corretamente os escopos e tokens de autenticação para as credenciais estruturadas do n8n.
backend/src/integrations/telegram/telegram.service.ts:
Correção do path das URLs nos Webhooks e triggers do Telegram para usar o UUID (bot_associations.id) em vez de slugs genéricos, evitando conflitos de rotas entre múltiplos bots ativos.
backend/src/integrations/whatsapp/whatsapp.service.ts:
Ajustes semelhantes no webhook da Evolution API, garantindo que cada instância de WhatsApp aponte para um endpoint isolado e indexado pelo UUID da associação.
backend/src/integrations/n8n/n8n.service.ts:
Implementação da lógica que intercepta e substitui dinamicamente os parâmetros do nó Qdrant e das credenciais nos templates JSON do n8n durante o deploy automatizado. - Infraestrutura Docker
docker/docker-compose.yml:
Ajustes nas variáveis de ambiente das imagens do n8n, Qdrant e backend local, garantindo consistência de portas e túneis de conexão externa (Cloudflare Tunnel/ngrok).
📂 Frontend (Flutter/Dart) - Telas do Wizard e Fluxo de Configuração
frontend/lib/features/bots/presentation/views/bot_wizard_view.dart:
Implementação do passo 3 do assistente para carregar o widget copiável de chat flutuante, incluindo overrides de minimumSize e tapTargetSize em botões para evitar falhas de constraints em componentes de Row.
Correção no comportamento do botão "Desconectar API Key" para redefinir o estado visual do componente na tela imediatamente.
frontend/lib/features/bots/data/repositories/bot_repository_impl.dart e integrations_repository_impl.dart:
Sincronização dos repositórios locais e chamadas de API REST com o backend atualizado para controle dos novos campos de LLM, passos concluídos e dados de integração. - Suporte a Plataformas e Web Helpers
frontend/lib/ui/web_helpers/ [NOVO]:
Criação dos arquivos web_helpers.dart, web_helpers_stub.dart e web_helpers_web.dart para lidar com a manipulação segura do DOM do navegador (cópia de código para o clipboard) sem quebrar a build em plataformas nativas (como macOS/iOS).
frontend/macos/ [NOVO]:
Criação dos arquivos de configuração e runners nativos para permitir a compilação e teste do aplicativo FTSAssistants diretamente no macOS.
📂 Landing Page & Testes de Integração - Servidor e Página de Demonstração
landpage/server.js [NOVO]:
Criação de um servidor Node.js básico com Express para rodar na porta 3000, servindo a landing page estática para testes locais do widget de chat.
landpage/index.html [NOVO]:
Interface premium da landing page da FTSAssistants contendo a importação do nosso Widget de Chat flutuante e demonstrando a integração em tempo real. - Scripts Auxiliares e Massa de Dados (Seeds)
backend/scratch/:
Scripts utilitários de massa de dados para banco, incluindo seed_executions_data.js e seed_future_executions.js para popular o painel da Dashboard com gráficos de execuções de bots fictícias. - Workflows n8n
n8n_workflows/langflow-openai-file-search-v1.json [NOVO]:
Novo template de workflow estruturado com suporte nativo a OpenAI File Search, Qdrant Vector Store e roteamento dinâmico baseado em parâmetros recebidos pelo chatbot.