Dexter · caderno
Zydon · Dexter

Sete processos, do primeiro contato à resposta

O que a automação de prospecção faz hoje, lido direto do ambiente, para acordarmos o mapa antes de reorganizar.

Levantamento de 30 jul 2026 Nenhuma configuração alterada Documento interno
Por que existe

Hoje não existe a figura de processo dentro do Dexter. Existem 52 rotinas automáticas, cada uma criada para resolver um problema pontual. Juntas elas formam sete processos, mas por acidente, não por desenho.

Este caderno nomeia esses sete e descreve cada um pelo que ele faz, não pelo código que o executa. Cada processo recebe um código de P1 a P7 e cada etapa um número, para que qualquer ponto possa ser corrigido citando a referência.

Os capítulos
Escala

São 18 linhas de WhatsApp operando ao mesmo tempo, 10.445 envios registrados no histórico e 11.514 eventos de conversa entre recebidas e enviadas. Tudo isso é acionado por 52 rotinas automáticas ligadas hoje, e outras 47 permanecem desligadas.

§

Como esses processos são disparados hoje

Existem 52 relógios disparando scripts em horários fixos. Nenhum deles sabe o que é um processo.

O mecanismo

Um agendamento carrega só duas informações: quando disparar e o que rodar. Ele não sabe o que o script faz, não sabe se o trabalho terminou e não sabe se já tem alguém fazendo aquilo. Ele é um despertador.

Dos 52 ligados, 44 rodam um script e 8 abrem uma conversa com um modelo de inteligência artificial para decidir algo. Os de IA custam muito mais e demoram muito mais. Um deles leva 14 minutos por execução.

Distribuição
ProcessoAgendamentosFrequências usadas
P1 Aquisição2a cada 1 minuto e a cada 30 minutos
P2 Qualificação5todos declarados a cada 1 minuto
P3 Planejamento do dia8madrugada, início da manhã, e uma trilha só de sábado
P4 Despacho61, 2, 5 e 15 minutos, mais um de hora em hora
P5 Escuta61 e 5 minutos, mais um de 30 minutos e um de 6 horas
P6 Canal10de 1 a 15 minutos, a maior família
P7 Relato10horários fixos da manhã, mais dois de 15 minutos
Manutenção e pontuais5backup, transcrição de áudio, lembretes
Arqueologia
Além desses, 47 estão desligados

São gerações anteriores de solução para os mesmos problemas: sete variações de follow-up, três de recuperação de perdidos, seis de qualificação. Cinco carregam no nome PAUSADO-NAO-REATIVAR, o que indica que foram desligados por causar dano, e não por ficarem obsoletos.

Hoje a única forma de saber o que está no ar é ler os 101 registros um a um.

§

Onde a linha está travando hoje

Três travas medidas no ambiente. Nenhuma é queda de servidor; todas vêm de os processos não terem dono.

Trava 1

O topo do funil está represado

Há 4.794 mensagens enfileiradas que não saem, sendo 609 só do dia 28 de julho. Entre elas estão 241 primeiros contatos, dos quais apenas 1 foi enviado. O volume de leads existe. O que não acontece é a fila drenar.

A causa imediata é o portão que autoriza a operação do dia. Ele recusa a cada minuto, porque nenhum telefone aparece com capacidade disponível no plano. Essa recusa está tecnicamente correta, já que o sistema se nega a enviar aquilo que não consegue provar que é seguro enviar. O que falta é alguém responsável por destravar.

Trava 2

O preparo da noite não roda

O processo que monta o estoque do dia seguinte falha em toda execução. Ele procura um arquivo de autorização num caminho que não existe, com diferença de um caractere e de uma pasta em relação ao arquivo real. Sem ele, o dia começa sem estoque preparado, o que alimenta a trava número 1.

Trava 3

A deduplicação é conselho, não regra

Antes de enfileirar, o sistema verifica em memória se aquele contato já está na fila. O banco, porém, não impede a repetição, porque não existe restrição de unicidade. De 9.417 envios com chave, só 5.995 são distintos. Há chaves repetidas até 45 vezes.

Na prática, o risco é enviar a mesma mensagem para a mesma pessoa mais de uma vez. Hoje o que segura isso é o portão do dia estar fechado.

O denominador
Não existe um lugar único onde se registra que um item foi reivindicado, por quem, e como terminou. As três travas são sintomas da mesma ausência. Cada rotina guarda seu pedaço de estado num arquivo próprio, e ninguém enxerga o todo.
P1

Aquisição de lead

Encontrar quem entrou na base e garantir que o CRM e o registro interno contam a mesma história.

Dispara quando
A cada 1 minuto para lead novo, a cada 30 minutos para reconciliação
Entrada
HubSpot e o registro interno de contatos
Saída
Lead marcado como candidato à qualificação
Conclui quando
O lead existe nos dois lados com o mesmo estado
Etapas

O que ele faz, passo a passo

P1.1

Detecta lead novo

Verifica se apareceu contato que ainda não passou pela qualificação, e registra início e conclusão da entrada.

P1.2

Varre divergências entre CRM e registro interno

Compara os dois lados e aponta o que existe num e não no outro. Leva cerca de um minuto e meio por varredura.

P1.3

Entrega para a qualificação

O lead reconciliado fica disponível para o P2 decidir se vira MQL.

Nota
Para a reorganização

Este é o único processo cujo estado principal mora fora da máquina, no HubSpot. Isso é bom, porque o CRM já é uma fonte compartilhada e auditável. Mas ele guarda o estado do lead, não o da execução: não sabe qual rotina pegou o quê, nem o que já foi tentado.

P2

Qualificação

Decidir se o lead merece abordagem comercial, manter a lista de pendências e não deixar o prazo do diagnóstico estourar.

Dispara quando
A cada 1 minuto, em cinco rotinas diferentes
Entrada
Leads reconciliados pelo P1
Saída
Lead classificado como MQL ou não, e fila de pendências atualizada
Conclui quando
O lead saiu da lista de itens abertos
Etapas

O que ele faz, passo a passo

P2.1

Qualifica o lead ativo

Roda a análise que decide se é MQL e grava o resultado no CRM. É a etapa mais pesada: leva cerca de 90 segundos, com limite rígido de 110 segundos.

P2.2

Reconstrói a fila de itens abertos

Refaz a lista de leads pendentes a partir dos registros de origem e só avisa quando o conjunto muda. Não envia mensagem nem escreve no CRM.

P2.3

Vigia o prazo do diagnóstico

Acompanha se o diagnóstico prometido ao lead está dentro do prazo combinado.

P2.4

Cumpre obrigações do ciclo de vida

Executa as tarefas que a mudança de estágio do lead exige. Deixa um registro por execução, e hoje há quase 2.000 desses arquivos acumulados.

Nota
A frequência declarada não é a real

As cinco rotinas dizem rodar a cada minuto, mas na prática rodam a cada 3 a 12 minutos, porque disputam a mesma capacidade. É uma das primeiras coisas a acertar.

P3

Planejamento do dia

Antes de qualquer mensagem sair, decidir quantos contatos cada telefone pode fazer, com quem, e se o dia está liberado para operar.

Dispara quando
Das 20h05 às 06h45 em ciclos, mais 05h15, 06h20, 06h45 e 06h50
Entrada
Estoque de contatos, inventário de telefones, metas do dia
Saída
Veredito de liberado ou bloqueado, com a prova
Conclui quando
O veredito do dia foi emitido e assinado
Etapas

O que ele faz, passo a passo

P3.1

Preparo da noite

Entre 20h05 e 06h45 monta o estoque do dia seguinte, com contatos pesquisados e prontos, sem enviar nada.

P3.2

Pré-plano por telefone

Às 20h30 define o horizonte: 120 contatos prontos na abertura, 180 pesquisados até as 09h, e cobertura planejada para a meta de 300.

P3.3

Plano de capacidade dos comunicadores

Às 06h45 calcula quanto cada operador e cada telefone aguentam no dia.

P3.4

Isolamento final

Às 05h15 fecha o preparo. Nada é enviado, nada é enfileirado e nada é escrito no CRM nesta etapa.

P3.5

Emite o veredito do dia

Confere idade dos dados, posse do bloqueio, integridade de cada arquivo do plano, telefones planejados e capacidade. Só então libera. Na dúvida, bloqueia.

O princípio
Hash autodeclarado não é proveniência. Comentário no código do portão do P3.5, que recusa por padrão e recalcula a integridade em vez de acreditar no arquivo. Entrada inválida vira recusa, nunca erro. É o modelo a copiar quando desenharmos o controle único.
Falha ativa
P3.1 não roda desde já faz dias

A etapa procura o arquivo de autorização em zydon-prospeccao/release-authority.json, enquanto o arquivo real está em zydon-prospeccao/controle/runtime/release_authority.json, com hífen contra sublinhado e uma pasta de diferença. A rotina irmã do despacho aponta certo e funciona.

O efeito é direto no negócio: o dia começa sem estoque preparado, o que alimenta a fila de 4.794 envios que hoje não saem.

P4

Despacho de mensagem

Tirar o próximo envio da fila, respeitar os limites de cada telefone e entregar no WhatsApp com comprovante.

Dispara quando
A cada 1 minuto, o dia todo
Entrada
Fila de envios e o veredito do dia produzido pelo P3
Saída
Mensagem entregue, com identificador do WhatsApp
Conclui quando
O envio tem comprovante do WhatsApp registrado
Etapas

O que ele faz, passo a passo

P4.1

Produz o plano da rodada

Monta sete arquivos: frota de telefones, plano de capacidade, fila do dia, marcos, portas planejadas, autorização e o índice de tudo isso.

P4.2

Normaliza a frota

Corrige o formato dos números e recalcula a integridade dos arquivos recém-produzidos.

P4.3

Consulta o portão do dia

Pergunta ao P3.5 se está liberado. Se a resposta for não, a rodada para aqui.

P4.4

Confere a autorização de versão

Antes de enviar qualquer coisa, valida que a versão do código em execução é a autorizada, com o ponto de entrada e o portão no lugar. Qualquer coisa fora do lugar interrompe.

P4.5

Envia respeitando os limites

Até 18 telefones por rodada, 2 mensagens por telefone, 8 por hora por papel, intervalo mínimo entre mensagens e janela de 20 horas entre contatos com a mesma pessoa.

P4.6

Valida a rodada

Uma rotina de IA confere cada rodada: se o papel certo falou com o contato certo, se não houve duplicidade, se a sequência ficou completa. Ao encontrar sequência quebrada, coloca em quarentena e não reenvia.

Estado da fila
Tipo de mensagemNa filaEnviadasFalhasBloqueadasEm revisão
Follow-up F21.467429159173239
Follow-up F41.246303138916
Follow-up F37424891493219
Follow-up F14494476521517
Envio de diagnóstico276593582326
Primeiro contato2411200
Falhas ativas
Quatro problemas conhecidos
  • A rodada aparece como erro quando na verdade foi recusa. Quando o portão do dia diz não, a rotina termina com código de erro e o painel pinta vermelho. Uma recusa correta e uma pane real ficam indistinguíveis para quem olha de fora.
  • O motivo da recusa é descartado. A explicação que o portão produz é jogada fora na hora da execução. Ela só existe porque a rotina de validação do P4.6 a registra em separado.
  • Três versões de código convivem na mesma execução. O produtor vem de uma versão antiga fixada, o portão de uma pasta de manutenção e o envio da versão ativa.
  • Doze envios estão em quarentena permanente, de uma sequência de 3 mensagens em que 1 saiu e 2 ficaram retidas. O sistema preserva a prova e se recusa a reenviar, o que está certo, mas ninguém resolve a pendência.
P5

Escuta e obrigação de resposta

Quando o lead responde, o relógio começa a correr. Este processo garante que ninguém fique sem resposta.

Dispara quando
A cada 1 minuto para escuta, a cada 5 minutos para progresso
Entrada
Mensagens recebidas nos 18 telefones
Saída
Uma obrigação de resposta por mensagem recebida
Conclui quando
Respondido com prova, escalado para humano ou silenciado de propósito
Etapas

O que ele faz, passo a passo

P5.1

Escuta as respostas

Lê as mensagens que chegaram. Roda um ciclo por minuto e, se sobrou fila, avisa que há trabalho pendente e retoma exatamente de onde parou no minuto seguinte.

P5.2

Transforma em obrigação

Cada mensagem recebida vira uma obrigação de resposta, com telefone, conversa e momento.

P5.3

Reivindica o turno

Antes de responder, marca o turno como seu, com prazo de validade e contador de tentativas. É o mecanismo mais maduro do Dexter e o mais próximo do que queremos generalizar.

P5.4

Registra silêncio intencional

Nem toda mensagem pede resposta. Quando a decisão é não responder, isso fica registrado como escolha, não como esquecimento.

P5.5

Completa o CRM

Leva para o HubSpot o que aconteceu na conversa.

P5.6

Revisão reflexiva

De 6 em 6 horas, uma rotina de IA relê as conversas em modo somente leitura e avalia a qualidade do atendimento.

Situação
Situação da obrigaçãoQuantidadeSignificado
Respondidas2.068o lead recebeu retorno
Silêncio intencional1.112decidiu-se não responder, e isso está registrado
Escaladas285passaram para tratamento humano
Aguardando resposta100ainda em aberto
Pausadas33bloqueadas por pausa deliberada
Achado
Aqui já existe o que queremos generalizar

O P5.3 já implementa a ideia de executor independente: cada turno de conversa é reivindicado por um dono, com prazo, número de tentativas, momento em que fica elegível de novo, e um estado final que exige prova material. É exatamente o desenho que queremos aplicar aos outros processos.

Falha ativa
O retry não converge

Há 108 turnos em nova tentativa que somam 2.738 tentativas, uma média de 25 cada. Para comparação, os 117 turnos que fecharam com sucesso precisaram de 2,4 tentativas em média. E o estado final com prova completa tem um único registro. O sistema tenta de novo indefinidamente, sem desistir nem escalar.

Capítulo P5← P4P6 Canal →
P6

Sustentação do canal

Manter os 18 telefones conectados e o painel no ar. Nenhum dos outros processos funciona sem este.

Dispara quando
Entre 1 e 15 minutos, em dez rotinas de vigilância
Entrada
Inventário de telefones cadastrados
Saída
Linhas conectadas, painel e histórico disponíveis
Conclui quando
Cada telefone habilitado responde saudável
Etapas

O que ele faz, passo a passo

P6.1

Lê o inventário de telefones

O cadastro de chips é a fonte única, então cadastrar, trocar ou remover número na tela passa a valer sem mexer em código. Se o inventário não carregar, o processo para, em vez de inventar telefone ou ressuscitar lista antiga.

P6.2

Religa as linhas que caíram

Verifica cada telefone e sobe o que estiver fora, respeitando a lista de chips propositalmente pausados.

P6.3

Reimporta o histórico

Traz para o painel as mensagens que chegaram por outros caminhos, para a visão ficar completa.

P6.4

Garante o painel

Mantém o painel de conversas no ar, na versão pública e na interna, sem nunca subir duas instâncias na mesma porta.

P6.5

Revalida os chips

Confere se cada número continua autenticado e com identidade correta.

P6.6

Vigia desempenho e segurança

Acompanha performance e integridade da camada de canal, e mantém o acesso externo desligado quando a trava de segurança está ativa.

Nota
Dez rotinas, uma pergunta

As dez rotinas deste processo fazem a mesma pergunta dez vezes: está no ar? se não, sobe. Mudam apenas o alvo. É o candidato mais claro a virar um executor único parametrizado pelo inventário, com um processo para dez alvos em vez de dez processos.

P7

Relato para pessoas

Tudo que produz saída para gente ler: relatório da manhã, auditoria do funil, agenda de reuniões e alertas.

Dispara quando
Horários fixos da manhã, mais duas rotinas de 15 minutos
Entrada
Artefatos do dia produzidos pelos processos P1 a P6
Saída
Relatórios, alertas e a agenda do dia
Conclui quando
O relatório foi entregue ao destinatário
O que é produzido
EntregaQuandoPara quem, e o quê
Relatório diário profundo06h50Rafael. Executivo, somente leitura, montado sobre os artefatos do dia.
Teste de contingência por chip06h20Auditoria de inventário, capacidade e filas, sem alterar nada.
Auditoria do funil08h, 12h, 16hAlerta quando o funil sai do esperado.
Reuniões do dia07h + 3 tentativasLucas Resende. As três tentativas extras são um mecanismo improvisado de nova tentativa.
Fila de follow-up do SDR15 minFoto do que está pendente.
Alertas de fim de semana2 minA única rotina que roda exatamente na frequência declarada.
Relatório financeiro e exportação08h e 18h30Enviados ao Mitra.
Nota
Silêncio significa sucesso

A regra de comunicação hoje é que a rotina só fala quando algo deu errado. A convenção é boa, mas está aplicada de forma desigual, e um recado importante pode se perder no mesmo canal em que caem erros técnicos repetidos.

§

Gestor, executor e controle único

A proposta não é reescrever o Dexter. É separar três papéis que hoje estão misturados dentro de cada agendamento.

Os papéis

Os três papéis

1

O gestor, que é o agendamento

Roda de tempos em tempos e faz só duas coisas: olha o que precisa ser feito e reivindica; e verifica se algum executor morreu no meio, para recuperá-lo. Ele nunca faz o trabalho, então termina em segundos, e a frequência declarada volta a ser verdade.

2

O executor

Recebe um item e o leva até o fim, fora do relógio. Pode demorar 14 minutos sem atrapalhar ninguém, porque não ocupa o agendamento. Cada executor é independente dos outros.

3

O controle único

Um lugar só, fora da máquina, onde fica registrado que este item foi reivindicado, por este executor, neste momento, e terminou assim. É o que permite recuperar sem duplicar e auditar sem adivinhar.

Precedente
Isso já funciona em outro agente da casa

A Zoe opera exatamente assim. Os agendamentos dela não fazem trabalho: reivindicam um ticket deixando uma marca pública, sobem uma sessão independente e, no disparo seguinte, verificam se aquela sessão ainda está viva. Se morreu, retomam de onde parou. A marca pública é a fonte de verdade, então nada é feito duas vezes.

O Dexter não tem nada disso hoje. Nenhuma das 141 rotinas registra trabalho fora da própria máquina.

Peças prontas
PeçaOnde estáO que já garanteO que falta
Reivindicação por turnono P5Dono, prazo, tentativas, reelegibilidade e estado final com prova.Vale só para a escuta. O despacho, que é o caminho crítico, não usa.
Portão com recusa por padrãono P3Verificação independente, sem confiar no que o arquivo declara. Nunca quebra.Ter o motivo da recusa preservado e visível.
Lançador com verificações8 rotinas geradasContrato uniforme: valida versão, ponto de entrada e autorização antes de começar.Não conhece a noção de item nem sabe retomar.
O alvo
ProcessoUnidade de trabalhoEstado finalExecutor pronto?
P1 Aquisiçãoum leadqualificado ou descartadonão
P2 Qualificaçãoum item abertoMQL ou não-MQLparcial
P3 Planejamentoum dialiberado ou bloqueado, com provasim
P4 Despachoum envioentregue com comprovanteparcial
P5 Escutaum turno de conversarespondido com provasim
P6 Canalum telefonelinha saudávelparcial
P7 Relatoum relatórioentreguenão
Em aberto
O requisito não está na ferramenta. Está em ser um só lugar, fora da máquina, com unicidade garantida pelo próprio sistema. Onde fica o controle único ainda é decisão. Pode ser o GitHub, como na Zoe; um banco próprio; ou o HubSpot para os processos de lead. O que não serve é uma verificação feita em memória antes de gravar.
§

Como propor um ajuste

Este caderno existe para ser corrigido. Foi montado lendo o ambiente, não perguntando às pessoas.

Cite o código

Cada processo tem um código e cada etapa tem um número. Para pedir mudança, basta apontar:

  • “O P4.5 está errado.” A etapa existe, mas o que está escrito não corresponde à realidade.
  • “Falta uma etapa entre P2.2 e P2.3.” Há trabalho acontecendo que o caderno não registrou.
  • “O P6 deveria ser parte do P4.” O recorte dos processos está errado.
  • “P7 não é processo, é consequência.” Algo aqui não merece ser tratado como processo próprio.
A revisão

As três perguntas que mais ajudam

1

O recorte está certo?

São sete processos mesmo, ou algum deveria ser dividido, unido ou eliminado? Esta é a decisão mais importante, porque tudo depois deriva dela.

2

A unidade de trabalho está certa?

Para cada processo: qual é a menor coisa que pode ser feita do começo ao fim de forma independente? É isso que o executor vai receber.

3

Quando se pode dizer que terminou?

Qual é a prova de que aquele item foi concluído? Sem essa resposta, não há como recuperar sem duplicar.

Depois

Com o mapa acertado, o caminho é escolher onde fica o controle único, desligar os agendamentos atuais e religá-los um por um já no formato de gestor mais executor. A ordem sugerida começa pelo processo que hoje trava o negócio, que é o despacho (P4), e segue pelo que já tem quase tudo pronto, que é a escuta (P5).