Quando o cadastro dos contatos é feito pelo seu próprio sistema — seu site, seu back-office, sua loja — o gatilho «Inscrição» pode nunca enxergar isso, porque ele espera um opt-in que o seu backend não produz. A solução determinística é o evento personalizado: seu sistema avisa ao arrobaMail "isto aconteceu" com uma chamada HTTP, e o fluxo começa. Na prática é um gatilho no estilo webhook: qualquer sistema, com uma única chamada, pode iniciar uma automação.
Do seu sistema à conversão
Seu site ou backend
Cadastro por API na lista
Gatilho: Evento personalizado
Automação
Venda ou objetivo
Medição e melhoria contínua
Seu sistema avisa "isto aconteceu" com uma única chamada HTTP. Daí em diante, quem conduz a conversa é o arrobaMail.
Um exemplo para nos situar. No seu e-commerce uma compra é concluída. Você pega esse pedido e, pela API, cadastra o cliente em uma lista com o nome, o email e a categoria do produto. Em seguida registra um evento que dispara a automação: sai um primeiro email de agradecimento com produtos relacionados e, uma semana depois, um segundo com novidades dessa mesma categoria. É isso que você vai montar aqui.
Antes de começar
- Uma conta do arrobaMail e uma lista onde os contatos entram.
- Acesso à API v3 (ou alguém da sua equipe que consiga programar a chamada).
- Poder fazer chamadas HTTP a partir do seu backend. Qualquer linguagem serve: são requests, não um SDK.
- Ajuda ter montado antes uma automação simples. Se você nunca fez, comece pelas boas-vindas a partir de um formulário.
Os 7 passos
- 1
Por que um evento personalizado e não «Inscrição»
O opt-in visível que seu backend nunca produz, e por que isso deixa o fluxo esperando para sempre.
- 2
Crie a automação com o gatilho «Evento personalizado»
O nome do evento é um contrato entre seu sistema e o arrobaMail: tem que coincidir exatamente.
- 3
O requisito-chave: o contato já precisa estar na lista
O evento dispara, não cria. Entender isso economiza uma tarde inteira de depuração.
- 4
Registre o evento a partir do seu sistema
A URL que o painel monta, os parâmetros e as variáveis pf_ que viajam para o email.
- 5
Respeite a ordem: primeiro o cadastro, depois o evento
Três chamadas em sequência. Inverter as duas últimas é o erro mais caro e mais silencioso.
- 6
Ative e verifique a inscrição no fluxo
Como confirmar que o sinal chegou e engatou, sem adivinhar.
- 7
Segurança: chame a partir do backend
O que fica exposto se o disparo sair do navegador, e como evitar isso.
1. Por que um evento personalizado e não «Inscrição»
O gatilho «Inscrição» dispara com o opt-in de um formulário: a pessoa se inscreve, confirma, e só então o fluxo começa. É o caminho certo quando o cadastro entra por um formulário público, e explicamos passo a passo em automatize suas boas-vindas a partir de um formulário.
Mas se o seu cadastro pula essa etapa — porque você o faz pela API, a partir de um back-office, ou com um formulário próprio que confirma em silêncio — o evento de inscrição "visível" nunca acontece, e o fluxo fica esperando algo que não vai chegar. O pior é que não há erro em lugar nenhum: o contato fica perfeito na lista, a automação aparece como ativa, e simplesmente ninguém entra.
O evento personalizado não depende de nada disso. É um sinal explícito que você dispara quando quiser, com o nome que você escolher. Determinístico e sob seu controle.
2. Crie a automação com o gatilho «Evento personalizado»
No editor de automação, abra a categoria Gatilhos da paleta. Está lá, no fim da lista: Evento personalizado.
Arraste-o para a tela e abra a configuração. Ele tem dois campos:
- Nome do evento. Defina um fixo, sem espaços e em minúsculas, no estilo
compra_confirmada,cadastro_backofficeoutrial_expirado. Esse nome é o contrato com o seu sistema: tem que coincidir exatamente com o que você disparar, maiúsculas incluídas. O painel sugere exemplos (purchase,signup,lead,view_product,cart_abandoned,trial_started,trial_expired,plan_changed) que funcionam bem como convenção. - Valor (opcional). Um filtro fino: se você preencher, o fluxo só começa quando o evento chega com aquele valor. Serve para ter um mesmo evento
plan_changeddisparando fluxos diferentes conforme o plano.
Esse detalhe economiza tempo e erros: você não precisa construir a URL à mão. Copia do painel e só substitui os dois marcadores entre colchetes.
3. O requisito-chave: o contato já precisa estar na lista
Aqui está o ponto em que todo mundo tropeça na primeira vez: o evento dispara, não cria. A automação precisa que o assinante já exista na lista para poder inscrevê-lo no fluxo.
Não é uma contradição nem uma limitação estranha: é separação de responsabilidades. Seu sistema é o dono do dado do contato (cadastra com os campos dele), e o arrobaMail é o dono da conversa (decide qual mensagem sai e quando). O evento é apenas a campainha que conecta os dois.
No fluxo real isso se resolve sozinho, porque o cadastro acontece naturalmente antes: primeiro você registra o cliente, depois avisa que ele comprou.
4. Registre o evento a partir do seu sistema
Quando acontece o fato que te interessa, seu backend chama o endpoint de eventos. Esta é a forma que o painel entrega:
GET /v3/api/events/record?eventName=compra_confirmada&email=[SUBSCRIBER_EMAIL]&listid=[LIST_ID]
Os parâmetros:
eventName— o nome exato que você configurou no passo 2. Se não coincidir caractere por caractere, não dispara.email— o endereço do contato que já está na lista. Substitua o marcador[SUBSCRIBER_EMAIL].listid— o identificador da lista. Você o tem no painel; substitua[LIST_ID].eventValue(opcional) — só se você configurou o filtro por valor.pf_*(opcionais) — campos temporários que viajam com o evento e podem ser usados dentro do email sem salvá-los no contato:pf_order_id,pf_total,pf_categoria. No modelo se escrevem como{{{$pf_order_id}}}, com o$na frente, igual às variáveis do assinante.
Um exemplo completo com curl, contra a conta de teste gratuita:
curl -G "https://demo.arrobamail.com/v3/api/events/record" \
--data-urlencode "eventName=compra_confirmada" \
--data-urlencode "[email protected]" \
--data-urlencode "listid=SEU_LIST_ID" \
--data-urlencode "pf_order_id=ORD-123" \
--data-urlencode "pf_total=99.90"
O domínio é o da sua conta. No exemplo usamos
demo.arrobamail.com, que é onde qualquer pessoa pode testar o arrobaMail de graça. Se a sua conta estiver em outro servidor, a URL que você copia do painel já vem com o seu. A base geral da API está documentada no quickstart da API v3.
Alternativa para testar rápido. Existe também uma via legada,
POST /eventRecord.php, ainda em serviço, que aceita os mesmos parâmetros no corpo do request. Ela tem uma vantagem concreta para testes e para produção: por ir via POST, o email não viaja na URL. O endpoint documentado, e o que o painel monta, é oGET /v3/api/events/record; se manter os endereços fora dos logs for importante para você, o POST legado é uma opção válida.
5. Respeite a ordem: primeiro o cadastro, depois o evento
Do ponto 3 decorre a regra operacional mais importante deste tutorial. A sequência completa, a partir do seu backend, é esta:
A ordem importa · 3 chamadas
- 1POST
/auth/getToken - 2POST
/lists/:id/subscribers - 3GET
/events/record
Se o evento chegar antes do cadastro, não encontra o contato e não dispara. Como no fluxo real o cadastro acontece primeiro, a ordem natural já é a correta — basta não invertê-la.
Se o evento chegasse antes do cadastro, não encontra o contato e não dispara — e, de novo, sem erro visível. Como o cadastro acontece primeiro por natureza, a ordem natural já é a correta: garanta apenas que seu código não dispare as duas em paralelo, porque aí sim elas podem se cruzar.
Com o gatilho conectado, o lado arrobaMail do fluxo fica assim:
- Gatilho · Evento personalizado
Seu sistema registra "compra_confirmada"
Uma chamada HTTP a partir do seu backend, logo depois de cadastrar o contato na lista.
- Email 1 · Obrigado pela compra
Confirmação com produtos relacionados
Você pode usar os dados enviados na mesma chamada: número do pedido, valor, categoria.
- Espera
7 dias
- Email 2 · Novidades da categoria
Você volta com conteúdo, não com outra venda
O acompanhamento que quase ninguém faz, e o que transforma uma primeira compra na segunda.
- Saída
Fim do fluxo
Se amanhã você quiser um terceiro email, adiciona aqui sem tocar em uma linha do seu sistema.
O disparo vem do seu sistema; o conteúdo e os tempos vivem no arrobaMail. Cada um faz o que faz melhor.
Repare no que a sua equipe ganha: o conteúdo e os tempos vivem no arrobaMail. Se amanhã você quiser somar um terceiro email, esticar a espera de 7 para 10 dias ou mudar o texto, faz isso pelo editor visual, sem tocar em uma linha do seu sistema nem publicar nada de novo.
6. Ative e verifique a inscrição no fluxo
Salve e ative a automação — como em qualquer fluxo, em rascunho ela não processa ninguém.
Para o teste, faça em três tempos e sem adivinhar:
- Confirme que seu contato de teste está na lista (olhe no painel, não presuma).
- Anote a contagem de inscritos atual da automação.
- Registre o evento para esse email e confira a contagem de novo.
Se o número subiu, o sinal chegou e engatou. Se não subiu, o problema está em um de três lugares, sempre nesta ordem de probabilidade: o nome do evento não coincide exatamente, o contato não estava na lista, ou o listid é de outra lista.
7. Segurança: chame a partir do backend
Duas recomendações para produção, por ordem de importância.
Faça a chamada a partir do seu servidor, nunca do navegador do visitante. É o que mais importa. Se o disparo sair do front, qualquer pessoa pode abrir as ferramentas de desenvolvimento, ver a URL completa — com o seu listid incluído — e começar a iniciar fluxos para endereços arbitrários. Não exponha o listid em páginas públicas.
Tenha em mente que um GET deixa rastro. Com GET, o email viaja na URL e acaba nos logs do servidor, no histórico e nos cabeçalhos Referer. A partir do backend isso é bem menos grave — não há navegador nem referer no meio —, mas se você lida com dados sensíveis ou tem uma política estrita de retenção de logs, a via POST /eventRecord.php do passo 4 mantém o email fora da URL.
Em resumo: chamada do lado do servidor e, se o seu contexto pedir, POST. Com isso o disparo fica seguro, privado e sob seu controle.
Os três gatilhos que iniciam uma conversa
Este tutorial cobre o mais flexível dos três, mas vale ter todos na cabeça: escolher bem o gatilho é 80% do trabalho de uma automação.
| Gatilho | Dispara quando… | Ideal para | Guia |
|---|---|---|---|
| Inscrição | alguém confirma o cadastro em uma lista | boas-vindas a partir de um formulário do seu site | boas-vindas por formulário |
| Evento personalizado | seu sistema registra um evento pela API | compras, cadastros pelo seu backend, qualquer ação da sua plataforma | este guia |
| Abertura / Clique em email | um contato abre ou clica em uma campanha | acompanhamento por interesse, reenvios, reativação | automatizar por comportamento |
A referência completa está em gatilhos de automação.
Erros frequentes a evitar
- Um nome de evento que "quase" coincide.
Compra_Confirmadanão écompra_confirmada. Defina o nome uma vez, em minúsculas, e copie de um lado para o outro. - Disparar o cadastro e o evento em paralelo. Parecem duas chamadas independentes, mas a segunda depende da primeira. Encadeie-as.
- Disparar do navegador. Cômodo para testar, indefensável em produção.
- Um evento genérico para tudo. Se
signupdispara cinco fluxos diferentes, em três meses ninguém sabe qual faz o quê. Um evento por intenção, e o campo valor para as variantes. - Esquecer de ativar o fluxo. Vale para todas as automações e segue sendo a causa número um do "não funciona".
Próximos passos
- Revise o detalhe de cada gatilho em gatilhos de automação.
- Se você também quiser que o arrobaMail avise o seu sistema quando algo acontece, o caminho inverso são os webhooks de eventos ao vivo.
- Para confirmações, códigos e faturas que o seu backend monta, veja as três formas de enviar emails transacionais.
- E para que o fluxo também reaja ao que cada contato faz, siga com aberturas e cliques.