Skip to content

Guias

Documentação técnica da plataforma flow-ai. Cada guia descreve um subsistema em detalhe — tipos TypeScript, fluxos de execução, integrações e comportamentos de borda.

Para uma visão geral rápida da arquitetura — serviços, packages, streams e caches — veja Arquitetura do sistema.

Fluxos de dados

GuiaDescrição
Jornada do usuário ponta-a-pontaO caminho completo de uma mensagem por todos os serviços — dois cenários (flow→human com resume; agent→especialista→flow), diagramas de sequência com stream/cache por salto, tabela de responsabilidades e ciclo de abertura/fechamento de tickets.
Inbound completoDa mensagem WhatsApp chegar na Meta até o engine executar o flow — validação HMAC, normalização, sessão, roteamento.
Outbound completoDo engine publicar uma resposta até o WhatsApp receber — fan-out persist/send, internalId, status de entrega, Socket.io no desk.
Ciclo de vida da sessãoCriação, TTLs, transições de modo (flow/agent/human), encerramento e campos especializados da SessionState.
Coreografia entre serviçosComo os 7 serviços coreografam via Redis Streams — mapa produtor→consumidor das streams vivas, diagramas de sequência, padrão runStreamLoop, consumer groups, ACK/retry e graceful shutdown.

Domínio

GuiaDescrição
Router — entidade centralAgregado raiz do sistema — caches Redis, criptografia, warm-up, CRUD com sincronização imediata.
Ciclo de vida do contatoCriação, identidade multi-canal, multi-router, variáveis persistentes, WebChatIdentity e opt-in.
Catálogo de variáveisRouterVariable e FlowVariable — escopo, criptografia AES-256-CBC, cache Redis, interpolação {{router.key}} / {{flow.key}} no engine.

Engine

GuiaDescrição
Execução do flowBootstrap do engine, fases de run, actions, conditions e publicação de mensagens.
RedirecionamentosredirectToBot e returnToFlow — histórico de sessão, cross-router bloqueado e limite de hops.
Ação executeScriptSandbox V8 Isolate, globals injetados, templates e tratamento de erros.
Ferramentas (Tools)Mini-flows reutilizáveis de transformação de dados — blocos httpCall/executeScript/return, servidores de integração, cache Redis e action executeTool.

Agentes de IA

GuiaDescrição
Comunicação e ciclo de vidaComo o sistema roteia mensagens para agentes de IA, pré-processamento de mídia inbound (Whisper), o loop de execução do executor, multi-agente com agentChain, ferramentas disponíveis e retorno ao flow.

Integração externa

GuiaDescrição
API de gerenciamento de sessãoEndpoints para ler e manipular sessões ativas via HTTP — leitura de variáveis, merge de variáveis e redirect externo para blocos/flows.

Disparos ativos

GuiaDescrição
Disparo único de templateComo disparar um template aprovado pela Meta para um contato via API, com validação de opt-in e rastreamento de status de entrega.

Helpdesk

GuiaDescrição
Atendimento humanoCiclo de vida do ticket, janela Meta 24h, expiração de sessão e controle do atendimento humano.
Pesquisa de satisfaçãoBloco de CSAT: pergunta, captura da nota, contexto do flow e relatório de satisfação.
Tickets — modelo e ciclo de vidaModelo Ticket: linhagem (previousTicketId), kind human/ai, enums de status/openReason/closeKind, tags, vínculo com a SessionState e sentimento.

Importação

GuiaDescrição
Importador de flows BlipRequisitos de formato, padrões de script A/B/C/D/E, regras de conversão de actions, roteamento, variáveis e limpeza no cancelamento.

Segurança

GuiaDescrição
Autenticação e RBACJWT access + refresh tokens, hook authenticate, authorizePermission vs authorizeRoute, modelo Role/RoleRoute.
Criptografia e segredosAES-256-CBC, RSA-2048, bcrypt — mapa completo do que é cifrado no Postgres, o que nunca sai via HTTP e a fronteira flow-ai-core/Redis.
Audit logRegistro imutável de ações — ações de auth, CRUD de entidades, retenção automática e endpoint de consulta com RBAC scoping.

Canais

GuiaDescrição
Multicanal — WhatsApp, WebChat e InstagramComo os três canais convergem no mesmo pipeline stream:incoming e divergem nas bordas — contrato WhatsApp-shaped, roteamento por prefixo de sessionId, cobertura de conteúdo por canal e gaps conhecidos.
Canal WebChatflow-ai-webchat-gateway, autenticação por sessionKey, WebChatIdentity, stream:outgoing-chat e entrega via Socket.io room.
Canal Instagramflow-ai-ig-api: webhook IG (porta 4445, IG_VERIFY_TOKEN, sem Prisma), DMs → stream:incoming, saída via stream:outgoing-ig, e moderação de comentários (keyword → abertura/destino) com Private Reply vs resposta pública e a régua de gatilhos.
WhatsApp Flows declarativosDiferença entre flows de bot e WhatsApp Flows Meta, ciclo draft→publish→sync, endpointConfig, criptografia RSA+AES-GCM e logs de webhook.

Referência

GuiaDescrição
Modelo de dadosDiagrama de entidades completo — todos os 77 modelos (+ 10 enums), relações, constraints e decisões de design do schema.

Infraestrutura

GuiaDescrição
Redis consumersConexões bloqueantes, consumer groups, mapa de streams e política de ACK/retry.
LoggingPacote flow-ai-logger, níveis configuráveis via LOG_LEVEL e LOG_LEVEL_{SERVICE}, convenção pino e formato por ambiente.

Para agentes: veja o CLAUDE.md na raiz do app para saber quando e como adicionar novos guias.

flow-ai — plataforma proprietária de atendimento via WhatsApp