A plataforma EvoAI entrega serviços REST de CRM, Processor e Evolution API. O ponto central da implantação: o Evo CRM precisa virar a fonte da verdade da jornada do paciente.
| Área | Problema que a infra precisa resolver |
|---|---|
| Tráfego | Saber qual anúncio gerou paciente, não só lead |
| Atendimento | Evitar lead parado sem primeira resposta |
| Oferta | Saber qual promessa atrai curiosos vs pacientes qualificados |
| Follow-up | Garantir retomada de lead quente e orçamento aberto |
| Gestão | Controlar pipeline, status, responsável e próxima ação |
| Dados | Preservar CTWA_CLID, Ref Code, UTM, origem e conversão |
Perdemos atribuição. Não dá pra saber qual anúncio virou paciente.
Perdemos gestão. O pipeline vira ficção.
Perdemos inteligência de escala. Não dá pra reinvestir certo.
Este plano não parte do zero. Dias 1-3 já estão parcialmente executados. As correções abaixo refletem o que aprendemos na prática.
| Item | Status | Observação |
|---|---|---|
| Tenant jorge-mendes · CRM · Evolution · n8n | ✓ Operacional | Base ativa |
Instância dr-jorge-mendes conectada | ✓ Ativa | WhatsApp respondendo |
| Webhook Evolution → n8n (P1) | ✓ Funcionando | Lead intake ativo |
| CTWA_CLID capturado e salvo no CRM | ✓ Feito | Via UPDATE Postgres em custom_attributes |
| Ref Code extraído (P2) | ✓ Feito | Fix 4 aplicado · coluna no Sheets |
| 8 atributos de conversa criados no CRM | ✓ Feito | Esta sessão |
| Pipeline existente | ⚠ Diverge | "LEADS ENTRADA" (3 etapas) · meta: Jornada do Paciente (12) |
Não recriar do zero. Expandir o existente, preservar stage IDs e trigger, e validar endpoints antes de comprometer cronograma.
additional_attributes via RESTTestado: API retorna 200 mas não persiste. Padrão adotado: custom_attributes via UPDATE Postgres.
Conversa + pipeline_items.custom_fields. O card precisa carregar a origem dentro do pipeline.
Antes de mexer: exportar workflow → duplicar → testar em cópia → produção só depois de validar.
Endpoint POST /api/v1/chat/{agent_id}/{session_id} existe na doc, mas precisa ser validado no tenant antes de produção.
Não adianta mandar evento para Meta se a equipe move card errado. Primeiro estabiliza pipeline. Depois ativa CAPI. Essa ordem é crítica para não treinar o algoritmo do Meta com sinal errado.
Nada de alterar fluxo ativo sem backup.
Esses workflows recebem leads em produção. Uma alteração mal validada quebra o lead intake e nenhum paciente entra no funil enquanto o erro estiver no ar.
Backup + ambiente de teste = a diferença entre debugar com calma e correr atrás do prejuízo.
Autenticação via api_access_token no header. Cada integração usa token próprio. Nunca hardcoded.
messages.upsertStage IDs já hardcoded em workflows n8n e no trigger trg_auto_pipeline_whatsapp. Recriar quebra produção. Expandir mantém histórico e referências.
Caminho principal para CTWA (Click-to-WhatsApp).
Cria contato + deal/card e adiciona à etapa do pipeline em uma única chamada. Aceita custom_fields e metadata — onde encaixam origem, campanha, UTM e tracking.
Pipeline de processamento do lead, do recebimento na Evolution até o card pronto no CRM com análise do @zara-cs aplicada.
JORGE | [origem] → [destino] | [função]
API REST aceita escrita em conversations.additional_attributes e retorna 200, mas descarta o dado silenciosamente. Confirmado em teste no tenant jorge-mendes.
conversations.custom_attributesUPDATE direto no Postgres. Padrão adotado.
pipeline_items.custom_fieldsPara aparecer no kanban e permitir gestão.
Operador || em jsonb faz merge. Nunca sobrescrever sem preservar histórico.
Endpoints /api/v1/leads e EvoAI Processor existem na doc, mas não foram validados no tenant jorge-mendes. Sem validação, este passo é especulativo. Bloqueador para o Dia 4.
Atualiza custom_fields do pipeline_item.
Cria ação agendada para o responsável.
Dispara aviso se SLA atrasado ou risco alto.
A API expõe endpoints para pipeline_tasks e scheduled_actions com criação, atualização e cancelamento.
Cada camada cobre um caminho de entrada. Juntas, fecham todos os ângulos: anúncio CTWA, leitura do anúncio, código por campanha, link da bio e landing page.
Conecta clique no anúncio → conversa no WhatsApp. Salvo em conversations.custom_attributes.ctwa_clid e pipeline_items.custom_fields.ctwa_clid.
Captura o que o lead viu no anúncio antes de clicar.
JM-[OFERTA]-[MÊS][ANO]-[VERSÃO]go.med10x.com.br/jm-bio-mai26Nunca link cru de WhatsApp. Sempre redirect rastreável que injeta Ref Code na mensagem.
Botão da landing leva para WhatsApp com mensagem: "Olá! Vim pela página de vasectomia. Ref: JM-LP-VAS-MAI26-V1".
Nunca usar link cru de WhatsApp. Usar rota rastreável MED10X que redireciona com Ref Code.
Resultado: mesmo entrando como click_to_chat_link, ainda temos ref_code.
Cada semana tem propósito claro. Não pula etapa. CAPI só na semana 3, depois do pipeline estar 100% confiável.
Sem CAPI, o Meta vê apenas o clique. Com CAPI, o Meta vê quem agendou, quem compareceu e quem virou paciente. O algoritmo otimiza por sinal real, não por clique.
| Etapa do pipeline | Evento Meta | Para que serve |
|---|---|---|
| Agendado | Schedule | Sinaliza intenção comercial concreta · Meta começa a otimizar para agendamento |
| Compareceu | ConsultationAttended (custom) | Filtra no-show · só conta paciente real na otimização |
| Fechado/Paciente | Purchase ou PatientConverted | Conta receita real · Meta otimiza por valor, não por volume |
Não ativar CAPI antes de: pipeline estável · etapa Agendado validada · etapa Fechado/Paciente validada · responsável treinado · tracking salvo no card.
| Categoria | Sinais que aparecem no CRM |
|---|---|
| Tráfego | Pouco lead · lead ruim · CPL alto · criativo sem conversão em paciente |
| Atendimento | Lead parado · resposta lenta · resposta ruim · sem condução para agendamento |
| Oferta | Muitos curiosos · objeção de preço · promessa desalinhada · lead não entende valor |
| Follow-up | Lead quente some · orçamento sem retorno · agendamento pendente abandonado |
| Gestão | Card não movido · sem responsável · sem status · sem motivo de perda |
| Tracking · Dados | Sem CTWA_CLID · sem Ref Code · sem UTM · sem origem · sem receita vinculada |
Cada categoria tem ação distinta. Não tratar problema de tráfego como se fosse problema de atendimento — é o erro mais comum em clínica.
| Estratégia da jornada | Leandro · MED10X |
| Pipeline Evo CRM | Operação · Tech |
| Evolution API | Tech |
| n8n | Tech · Automação |
| Ref Code · UTM | Tráfego |
| Atendimento diário | Secretária do Dr. Jorge |
| Gestão do funil | Clínica + CS MED10X |
| Auditoria operacional | @zara-cs |
| IA de conversa | IA Concierge |
| Dashboard | Dados · MED10X |
| Reunião semanal | CS MED10X |
custom_attributes persistindotrg_auto_pipeline_whatsapp intacto