| ID | Início | Fluxo | Status | Duração | Erro |
|---|
| Última interação | Cliente | Telefone(s) | Protocolo | Modo | Fase / Etapa | Situação | Execuções |
|---|---|---|---|---|---|---|---|
| carregando… | |||||||
| ID | Início | Fluxo | Erro | Duração |
|---|
| Estado | Fluxo (id) | n8n | Tipo | Path / Cron | Eventos (wake) | Método | Síncrono |
|---|---|---|---|---|---|---|---|
| carregando… | |||||||
| Fluxo | Status | Total | Match | Divergente | Falta dados | LLM estrutural | Último report |
|---|
| De | Para | Tipo | Quando | Payload |
|---|
| Role | Ativo |
|---|
APP_SECRET). Se o
APP_SECRET mudar, salve as credenciais novamente. O dump contém toda a base
(dados de clientes e hashes de senha): mantenha o bucket privado.
| Início | Fim | Status | Origem | Tamanho | Duração | Arquivo | SHA-256 | |
|---|---|---|---|---|---|---|---|---|
| carregando… | ||||||||
O Codebot é o motor de fluxos em TypeScript + Node.js que substitui os workflows do n8n-huggy (atendimento de crédito por WhatsApp/URA/SMS, integrado a Huggy, FACTA, C6 e Meta Events). Ele roda de forma contínua, escala horizontalmente e expõe este painel de auditoria — sem editor visual.
Webhooks e eventos entram pela api, viram jobs no Redis/BullMQ e são
executados pelos workers, que rodam os fluxos convertidos e gravam tudo no Postgres próprio
(dados de negócio no schema biz + auditoria). O n8n e seus bancos nunca são tocados: os dados são
100% do Codebot.
biz
(pg_notify → wake na hora, com o delay do executarApos), tick de cron (backstop lento) ou
subfluxo em memória.codebot-jobs) com jobId idempotente: dedupe,
retry/backoff e jobs atrasados para retomadas.biz (com lock), chamadas externas (Huggy sempre
pelo proxy central; demais APIs sob guarda de egress) e subfluxos chamados em memória
(parent_execution_id).execution_events (trace passo a passo) e fecha a
execução com status, duração e erro.| Peça | Onde | Papel |
|---|---|---|
api | src/server.ts · src/routes/ |
webhooks (/webhook/*: ACK + job; síncronos executam na hora), painel, login e health. |
worker | src/worker.ts · src/queues/ |
consome a fila e executa os fluxos (concorrência 2–4 por réplica; réplicas = escalar). |
scheduler | src/scheduler.ts |
registra os crons de backstop (só com CRONS_ENABLED) e o listener de eventos
pg_notify que enfileira na hora. |
| Fila / estado | Redis próprio (BullMQ) | jobs waiting/active/delayed/failed, dedupe por jobId, retry/backoff e o estado de pausa. |
| Dados de negócio | Postgres próprio · schema biz |
tabelas usadas pelos fluxos (clientes, atendimentos, filas), com claim por lock e triggers de wake. |
| Auditoria | Postgres próprio | executions + execution_events (trace), usuários/sessões; retenção automática
(eventos 14d / execuções 90d). |
| Fluxos | src/flows/ + manifest.ts |
um fluxo por arquivo; as ligações (subfluxo, http, fila, evento) são declaradas no manifesto e aparecem na aba Fluxos. |
| Núcleo | src/core/ |
registry (executa fluxos e subfluxos), steps genéricos, helpers (Huggy, fila, retomadas, tag…), recorder e pausa. |
| Painel | src/web/ |
este dashboard (single-page) + visualizador de fluxo em /ui/flow.html. |
| Proxy Huggy | n8n-huggy-webhook (até o corte) | único caminho até a API da Huggy; concentra o limite (~20 req/s) de todos os sistemas. |
| Guarda de egress | src/core/egress.ts |
fail-closed: nenhuma chamada externa sai sem liberação explícita (prefixo em EGRESS_ALLOW;
produção exige EGRESS_ALLOW_PRODUCTION=true). |
src/config (env/URLs) ·
src/core (motor) · src/flows (fluxos) · src/queues (BullMQ) ·
src/routes (HTTP) · src/web (painel) · migrations/ (conhecimento do n8n).CRONS_ENABLED (padrão vazio = nenhum);
o cron é só backstop, a entrada normal é por evento.| Criado | Destino | Status | Veredito | Duração | |
|---|---|---|---|---|---|
| carregando… | |||||
/ui/teste-chat.html?id=…).