{"id":70,"date":"2026-01-05T06:43:28","date_gmt":"2026-01-05T06:43:28","guid":{"rendered":"https:\/\/agilux.net\/br\/artigos\/integracao-rd-station-agilux-qualificacao-leads\/"},"modified":"2026-01-05T06:44:26","modified_gmt":"2026-01-05T06:44:26","slug":"integracao-rd-station-agilux-qualificacao-leads","status":"publish","type":"post","link":"https:\/\/agilux.net\/br\/artigos\/integracao-rd-station-agilux-qualificacao-leads\/","title":{"rendered":"Guia T\u00e9cnico: Integrando Agilux Engage Squad ao RD Station via Webhooks"},"content":{"rendered":"<h2>A Era da Qualifica\u00e7\u00e3o em Tempo Real<\/h2>\n<p>Existe algo que mata convers\u00e3o mais r\u00e1pido do que atraso. S\u00e9rio. Voc\u00ea j\u00e1 viu aqueles estudos mostrando que se voc\u00ea esperar mais de 5 minutos para responder um lead, as chances de qualific\u00e1-lo caem tipo 80%? E mesmo assim, 90% das empresas demoram mais de 2 horas para dar o primeiro retorno. (Eu honestamente n\u00e3o entendo como essas empresas ainda existem, mas enfim.)<\/p>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/agilux.net\/us\/wp-content\/uploads\/2026\/01\/Striking-modern-workspace-showing-a-focu-1.jpg\" alt=\"Engineer troubleshooting calendar integration dashboard for Agilux Engage Squad Google Calendar appointment booking tutorial\" class=\"wp-image-143\" \/><br \/>\n<\/figure>\n<p>\u00c9 aqui que entra a <strong>integra\u00e7\u00e3o Agilux Engage Squad e RD Station para qualifica\u00e7\u00e3o de leads<\/strong>. No fundo, a m\u00e1gica toda \u00e9 sobre eliminar lat\u00eancia. Voc\u00ea monta uma arquitetura que reage a eventos em tempo real \u2014 convers\u00e3o aconteceu, bam, o dado voa para um agente de IA que j\u00e1 come\u00e7a a conversar com o lead. Sem polling a cada 10 minutos. Sem scripts que rodam de madrugada e esquecem o cara que preencheu o formul\u00e1rio \u00e0s 23h47.<\/p>\n<p>Esse artigo \u00e9 para voc\u00ea que precisa implementar isso de verdade. Engenheiro de automa\u00e7\u00e3o que vai ter que configurar o endpoint. Ops de marketing que vai mapear os campos. CTO de ag\u00eancia que precisa entender se isso escala ou vai explodir no primeiro pico de tr\u00e1fego.<\/p>\n<h2>Arquitetura Event-Driven: RD Station Marketing para Agilux<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/agilux.net\/us\/wp-content\/uploads\/2026\/01\/Close-up-of-a-laptop-screen-displaying-G-2.jpg\" alt=\"Google Cloud Console project screen for Agilux Engage Squad Google Calendar appointment booking tutorial\" class=\"wp-image-144\" \/><br \/>\n<\/figure>\n<h3>O Fluxo de Dados na Pr\u00e1tica<\/h3>\n<p>Funciona assim: algu\u00e9m preenche um formul\u00e1rio no RD Station \u2014 digamos, um &#8220;Solicitar Demo&#8221; de uma empresa de SaaS de contabilidade em Curitiba. O RD dispara um HTTP POST instant\u00e2neo para o Agilux Engage Squad. O payload JSON vai carregado com email, nome, campos personalizados (tipo or\u00e7amento ou CNPJ). O Agilux recebe, processa, e o agente de IA j\u00e1 manda uma mensagem no WhatsApp ou email personalizado em menos de 30 segundos.<\/p>\n<p>N\u00e3o tem intermedi\u00e1rio. N\u00e3o tem fila de espera. O lead ainda est\u00e1 quente, literalmente com a p\u00e1gina aberta no navegador.<\/p>\n<h3>Por Que Webhooks Vencem API Polling<\/h3>\n<p>Look, eu entendo a tenta\u00e7\u00e3o de fazer um script que roda a cada X minutos consultando a API do RD para ver se tem lead novo. \u00c9 mais simples de configurar inicialmente. Mas voc\u00ea t\u00e1 adicionando lat\u00eancia artificial, e gastando cr\u00e9ditos de API \u00e0 toa.<\/p>\n<p>Com webhooks, voc\u00ea s\u00f3 processa quando algo acontece. Real-time de verdade. A carga no seu servidor \u00e9 m\u00ednima porque voc\u00ea n\u00e3o fica batendo na API feito um rel\u00f3gio su\u00ed\u00e7o quebrado. E convenhamos: integra\u00e7\u00f5es nativas s\u00e3o legais at\u00e9 o momento que voc\u00ea precisa de l\u00f3gica customizada ou quer combinar dados de 3 sistemas diferentes. A\u00ed voc\u00ea fica ref\u00e9m do que o marketplace permite.<\/p>\n<h3>Redu\u00e7\u00e3o de Carga e Escalabilidade<\/h3>\n<p>Num cen\u00e1rio onde voc\u00ea t\u00e1 processando 200 leads por dia, tanto faz. Mas e se voc\u00ea fizer uma campanha que traz 2.000 convers\u00f5es num \u00fanico domingo \u00e0 tarde? Webhooks processam isso sem suar. Cada evento dispara independente, sem criar uma fila gigantesca que vai te deixar 6 horas atrasado.<\/p>\n<p>Voc\u00ea provavelmente j\u00e1 sabe disso.<\/p>\n<h2>Pr\u00e9-requisitos T\u00e9cnicos da Integra\u00e7\u00e3o<\/h2>\n<h3>Acessos e Permiss\u00f5es no RD Station<\/h3>\n<p>Voc\u00ea vai precisar de perfil de Administrador ou pelo menos Gerente dentro do RD Station Marketing. A \u00e1rea de integra\u00e7\u00f5es n\u00e3o aparece para perfis b\u00e1sicos, ent\u00e3o se voc\u00ea n\u00e3o tem acesso, j\u00e1 vai negociando com quem tem.<\/p>\n<h3>O Endpoint do Agilux (Callback URL)<\/h3>\n<p>Dentro do painel do Agilux Engage Squad, voc\u00ea gera uma URL exclusiva para receber esses webhooks. \u00c9 tipo `https:\/\/webhook.agilux.net\/inbound\/12abc34def567`. Guarda essa URL com carinho porque voc\u00ea vai colar ela no RD daqui a pouco.<\/p>\n<p>Ah, e obviamente voc\u00ea precisa de uma conta Agilux ativa com permiss\u00e3o para <em>Inbound Webhooks<\/em>. Se voc\u00ea t\u00e1 no plano b\u00e1sico, pode ser que precise dar upgrade. Vale checar antes de come\u00e7ar.<\/p>\n<h3>Documenta\u00e7\u00e3o de Apoio<\/h3>\n<p>Eu sempre deixo as docs abertas enquanto configuro. A <strong>RD Station API v2<\/strong> tem detalhes sobre os c\u00f3digos de status HTTP (200, 400, 500) que voc\u00ea vai precisar interpretar quando testar a integra\u00e7\u00e3o. A documenta\u00e7\u00e3o oficial do RD sobre webhooks tamb\u00e9m explica bem a estrutura do JSON que eles enviam. E acredite, os campos mudam dependendo do tipo de evento que voc\u00ea configurar.<\/p>\n<h2>Passo a Passo: Configurando o Webhook de Sa\u00edda no RD Station<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/agilux.net\/us\/wp-content\/uploads\/2026\/01\/calendar-timeline-clock-3.jpg\" alt=\"Calendar free busy timeline visualization for Agilux Engage Squad Google Calendar appointment booking tutorial\" class=\"wp-image-145\" \/><br \/>\n<\/figure>\n<h3>Criando o Webhook no Painel<\/h3>\n<p>Voc\u00ea entra no RD Station, vai em <strong>Integra\u00e7\u00f5es > Webhooks > Criar Webhook<\/strong>. At\u00e9 aqui, tranquilo. Agora vem a parte que importa: escolher o gatilho certo.<\/p>\n<p>Voc\u00ea pode disparar o webhook em v\u00e1rios momentos: convers\u00e3o, mudan\u00e7a de est\u00e1gio, oportunidade criada. Para qualifica\u00e7\u00e3o de leads em tempo real, normalmente voc\u00ea quer &#8220;Convers\u00e3o&#8221; ou &#8220;Oportunidade&#8221;, dependendo de onde no funil voc\u00ea quer que a IA entre.<\/p>\n<p>Se voc\u00ea configurar para disparar em <em>toda<\/em> convers\u00e3o, incluindo materiais ricos de topo de funil (tipo &#8220;baixar e-book sobre tend\u00eancias de 2024&#8221;), vai processar muito lead frio. N\u00e3o \u00e9 erro, mas pode n\u00e3o valer a pena.<\/p>\n<h3>Filtrando Eventos Espec\u00edficos<\/h3>\n<p>Aqui voc\u00ea precisa pensar estrategicamente. O RD deixa voc\u00ea filtrar por tipo de convers\u00e3o ou por tags. Se voc\u00ea s\u00f3 quer que o Agilux processe leads que pediram &#8220;Demo&#8221; ou &#8220;Or\u00e7amento&#8221;, configura o webhook para disparar apenas nessas convers\u00f5es espec\u00edficas.<\/p>\n<p>Isso economiza processamento e foca a <strong>Qualifica\u00e7\u00e3o de Leads Automatizada<\/strong> onde realmente importa: nos leads com inten\u00e7\u00e3o comercial clara. Ningu\u00e9m precisa de IA conversando com algu\u00e9m que s\u00f3 baixou um PDF sobre &#8220;5 dicas de marketing&#8221;. (Okay, voc\u00ea provavelmente j\u00e1 sabia disso.)<\/p>\n<p>Na pr\u00e1tica, voc\u00ea vai at\u00e9 a se\u00e7\u00e3o de filtros e seleciona os formul\u00e1rios ou eventos espec\u00edficos. Se o RD n\u00e3o der essa granularidade diretamente, voc\u00ea pode usar tags como proxy, tipo marcar convers\u00f5es de fundo de funil com uma tag &#8220;webhook_agilux&#8221; e disparar o webhook s\u00f3 quando essa tag aparecer.<\/p>\n<h2>Estrutura e Exemplo do JSON Payload<\/h2>\n<h3>Anatomia do Objeto JSON do RD Station<\/h3>\n<p>O <strong>Webhook RD Station<\/strong> manda um POST com um JSON mais ou menos assim. Campos padr\u00e3o incluem `uuid` (um identificador \u00fanico do lead), `email` (sua chave prim\u00e1ria para n\u00e3o duplicar), e `first_conversion`, que traz dados da origem, como canal, campanha, p\u00e1gina de convers\u00e3o.<\/p>\n<p>Voc\u00ea tamb\u00e9m recebe `personal_data` com nome, telefone, cargo. E o campo `custom_fields`, que \u00e9 onde mora a m\u00e1gica: or\u00e7amento estimado, n\u00famero de funcion\u00e1rios, tecnologias que usa, tudo que voc\u00ea capturou no formul\u00e1rio customizado.<\/p>\n<h3>Exemplo Real de C\u00f3digo<\/h3>\n<p>Aqui vai um exemplo t\u00edpico do que o RD envia:<\/p>\n<p>&#8220;`json<br \/>{<br \/>  &#8220;leads&#8221;: [<br \/>    {<br \/>      &#8220;uuid&#8221;: &#8220;a1b2c3d4&#8221;,<br \/>      &#8220;email&#8221;: &#8220;lead@empresa.com.br&#8221;,<br \/>      &#8220;personal_data&#8221;: {<br \/>        &#8220;name&#8221;: &#8220;Engenheiro Silva&#8221;,<br \/>        &#8220;job_title&#8221;: &#8220;CTO&#8221;<br \/>      },<br \/>      &#8220;custom_fields&#8221;: {<br \/>        &#8220;orcamento&#8221;: &#8220;50k-100k&#8221;,<br \/>        &#8220;tecnologia_atual&#8221;: &#8220;Zapier + Make&#8221;<br \/>      },<br \/>      &#8220;first_conversion&#8221;: {<br \/>        &#8220;source&#8221;: &#8220;google&#8221;,<br \/>        &#8220;content&#8221;: &#8220;cpc-demo&#8221;<br \/>      }<br \/>    }<br \/>  ]<br \/>}<br \/>&#8220;`<\/p>\n<p>Limpo. Estruturado. F\u00e1cil de parsear.<\/p>\n<h3>Mapeando Campos Personalizados (N\u00e3o Pule Isso)<\/h3>\n<p>A parte que mais d\u00e1 problema \u00e9 o nome dos `custom_fields`. Se no RD voc\u00ea criou um campo chamado &#8220;or\u00e7amento-estimado&#8221; com h\u00edfen, mas no Agilux voc\u00ea configurou &#8220;orcamento_estimado&#8221; com underscore, o mapeamento quebra silenciosamente. A IA vai receber `null` naquele campo e voc\u00ea n\u00e3o vai entender por que ela n\u00e3o t\u00e1 personalizando a abordagem.<\/p>\n<p>Antes de ir live, valida a nomenclatura. Abre o JSON real que o RD t\u00e1 enviando (d\u00e1 pra ver isso nos logs de teste) e confere se os nomes batem exatamente com o que voc\u00ea  configurou no Agilux.<\/p>\n<h2>Configura\u00e7\u00e3o de Recebimento no Agilux Engage Squad<\/h2>\n<h3>Parsing e Ingest\u00e3o dos Dados<\/h3>\n<p>Dentro do Agilux, voc\u00ea vai na se\u00e7\u00e3o de <em>Inbound Webhooks<\/em> e configura como o sistema deve ler o JSON que chega. A interface normalmente mostra um preview do payload e deixa voc\u00ea arrastar campos para mapear vari\u00e1veis.<\/p>\n<p>Voc\u00ea pega o `email` e mapeia para a vari\u00e1vel `lead_email`. O `personal_data.name` vira `lead_nome`. O `custom_fields.orcamento` vira uma vari\u00e1vel de contexto que a IA vai usar na conversa.<\/p>\n<p>Esse mapeamento \u00e9 cr\u00edtico porque \u00e9 ele que alimenta o c\u00e9rebro do agente.<\/p>\n<h3>Definindo o Prompt Inicial da IA<\/h3>\n<p>Aqui \u00e9 onde a <strong>Automa\u00e7\u00e3o de Marketing AI<\/strong> come\u00e7a a fazer sentido. Voc\u00ea configura o prompt que o agente vai usar para iniciar a conversa. Algo tipo:<\/p>\n<p>> &#8220;Voc\u00ea recebeu uma solicita\u00e7\u00e3o de demo de {{lead_nome}}, que \u00e9 {{job_title}} na empresa. O or\u00e7amento indicado foi {{orcamento}}. Inicie a conversa de forma consultiva, perguntando sobre os desafios atuais com automa\u00e7\u00e3o de marketing.&#8221;<\/p>\n<p>V\u00ea como os campos mapeados aparecem entre chaves? O Agilux substitui isso pelos valores reais antes de processar. Se voc\u00ea mapear errado, o agente vai falar &#8220;Oi {{lead_nome}}&#8221; literalmente, e o lead vai achar que voc\u00ea \u00e9 um rob\u00f4 mal configurado. O que, bom, tecnicamente seria verdade.<\/p>\n<h3>Personalizando a Abordagem por Contexto<\/h3>\n<p>D\u00e1 para ir al\u00e9m. Se o campo `tecnologia_atual` mostrar &#8220;nenhuma&#8221;, o prompt pode instruir o agente a ter uma abordagem educativa. Se mostrar &#8220;Zapier + Make&#8221;, o agente pode assumir maturidade t\u00e9cnica e j\u00e1 falar de integra\u00e7\u00f5es avan\u00e7adas.<\/p>\n<p>Isso n\u00e3o \u00e9 intelig\u00eancia artificial gen\u00e9rica.  \u00c9 contextualiza\u00e7\u00e3o pesada baseada em dados estruturados.<\/p>\n<h2>L\u00f3gica de Qualifica\u00e7\u00e3o e Retorno de Dados<\/h2>\n<figure class=\"wp-block-image size-large\">\n  <img decoding=\"async\" src=\"https:\/\/agilux.net\/us\/wp-content\/uploads\/2026\/01\/api-tokens-developer-4.jpg\" alt=\"Developer resolving OAuth token errors for Agilux Engage Squad Google Calendar appointment booking tutorial\" class=\"wp-image-146\" \/><br \/>\n<\/figure>\n<h3>Como a IA Faz a Triagem Real<\/h3>\n<p>O Agilux recebe o lead, dispara a mensagem inicial via WhatsApp ou email, e come\u00e7a uma conversa. A IA faz perguntas de qualifica\u00e7\u00e3o, como or\u00e7amento, timing, autoridade, necessidade, tipo um BANT automatizado, mas sem parecer um interrogat\u00f3rio policial.<\/p>\n<p>Se o lead responde e demonstra fit, a IA marca como qualificado. Se o lead some ou claramente n\u00e3o tem or\u00e7amento\/timing, marca como &#8220;nurture&#8221;. Tudo isso acontece enquanto o lead ainda lembra que preencheu o formul\u00e1rio.<\/p>\n<h3>Fechando o Loop: Atualiza\u00e7\u00e3o no CRM<\/h3>\n<p>Aqui vem uma parte que muita gente esquece. Honestly, eu vejo isso acontecer com frequ\u00eancia assustadora. Depois que o Agilux qualifica ou desqualifica o lead, voc\u00ea precisa voltar essa informa\u00e7\u00e3o pro RD Station (ou pro CRM conectado a ele).<\/p>\n<p>O Agilux pode fazer isso usando a <strong>RD Station API v2<\/strong> para adicionar uma tag tipo `qualificado_agilux` ou `desqualificado_ia`. Ou mover o lead para outro est\u00e1gio do funil automaticamente.<\/p>\n<p>Esse loop de feedback \u00e9 essencial. Sem ele, voc\u00ea tem dois sistemas operando em paralelo sem conversar, e o time de vendas fica perdido sem saber qual lead j\u00e1 foi trabalhado.<\/p>\n<h2>Monitoramento, Logs e Troubleshooting<\/h2>\n<h3>Validando Se a Conex\u00e3o Funciona<\/h3>\n<p>Primeira coisa: depois de configurar o webhook, dispara um teste. O RD tem um bot\u00e3o &#8220;Enviar Teste&#8221; que manda um payload fake. Voc\u00ea vai ver nos logs do Agilux se chegou e se retornou `200 OK`.<\/p>\n<p>Se n\u00e3o aparecer nada, ou se retornar erro 400\/500, tem algo errado.  Ferramentas tipo RequestBin ou Webhook.site s\u00e3o \u00f3timas para debugar. Voc\u00ea substitui temporariamente o endpoint do Agilux pela URL deles e v\u00ea exatamente o que o RD t\u00e1 enviando.<\/p>\n<h3>Erros Comuns (E Como Consertar)<\/h3>\n<p><strong>Timeout da requisi\u00e7\u00e3o:<\/strong> Se o Agilux demora mais de 30 segundos para responder, o RD cancela o POST. Isso acontece quando voc\u00ea configurou processamento muito pesado no endpoint. Solu\u00e7\u00e3o: processar de forma ass\u00edncrona e retornar 200 imediatamente.<\/p>\n<p><strong>Formata\u00e7\u00e3o errada no JSON:<\/strong> \u00c0s vezes o RD envia campos nulos ou usa arrays quando voc\u00ea esperava string. Valida o schema antes de ir pra produ\u00e7\u00e3o. Eu j\u00e1 vi integra\u00e7\u00e3o quebrar porque um campo de telefone veio como array em vez de string, num caso de um e-commerce de moda em SP que testamos em mar\u00e7o.<\/p>\n<p><strong>Disparos duplicados:<\/strong> Se o RD tentar reenviar um webhook que falhou, voc\u00ea pode acabar processando o mesmo lead duas vezes. Implementa idempot\u00eancia usando o `uuid` como chave \u00fanica. Se j\u00e1 processou aquele uuid, ignora.<\/p>\n<h3>Primeiras 48 Horas: Fique de Olho<\/h3>\n<p>Eu sempre deixo os logs bem verbosos nas primeiras 48 horas. Qualquer coisa estranha que apare\u00e7a nesse per\u00edodo normalmente indica um edge case que voc\u00ea n\u00e3o considerou, tipo leads sem telefone, ou campos personalizados com caracteres especiais que quebram o parser.<\/p>\n<p>\u00c9 chato ficar monitorando.<\/p>\n<p>Anyway, essa integra\u00e7\u00e3o n\u00e3o \u00e9 complexa demais se voc\u00ea seguir o fluxo certo. Mas exige aten\u00e7\u00e3o nos detalhes, especialmente no mapeamento de campos e na valida\u00e7\u00e3o dos payloads. E sobre aquele ponto de lat\u00eancia que mencionei no in\u00edcio? Fa\u00e7a isso bem e voc\u00ea vai ter leads sendo qualificados enquanto ainda est\u00e3o empolgados. Isso muda tudo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Era da Qualifica\u00e7\u00e3o em Tempo Real Existe algo que mata convers\u00e3o mais r\u00e1pido do que atraso. S\u00e9rio. Voc\u00ea j\u00e1 viu aqueles estudos mostrando que se voc\u00ea esperar mais de 5 minutos para responder um lead, as chances de qualific\u00e1-lo caem tipo 80%? E mesmo assim, 90% das empresas demoram mais de 2 horas para&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[1],"tags":[],"personalizer_persona":[],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-artigos"],"_links":{"self":[{"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":1,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":71,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/posts\/70\/revisions\/71"}],"wp:attachment":[{"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/media?parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/categories?post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/tags?post=70"},{"taxonomy":"personalizer_persona","embeddable":true,"href":"https:\/\/agilux.net\/br\/wp-json\/wp\/v2\/personalizer_persona?post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}