Ações do construtor
Depois do gatilho, o fluxo é uma sequência de ações. Elas ficam na biblioteca que abre ao clicar no + de um nó do canvas, separadas em abas. Clicar numa ação já posicionada abre as configurações dela na lateral.
Só aparecem as ações das integrações ativadas em Joinotify → Configurações → Integrações — a de Telegram, por exemplo, só existe com a integração do Telegram ligada.
Mensagens de WhatsApp
Toda ação de WhatsApp pede o remetente (um dos números da conta) e o destinatário, que
aceita um telefone ou uma variável como {{ wc_billing_phone }}.
| Ação | O que envia |
|---|---|
| WhatsApp: Mensagem de texto | Texto com formatação, emoji e variáveis |
| WhatsApp: Mensagem de mídia | Imagem, vídeo, áudio ou documento, com legenda |
| WhatsApp: Mensagem de modelo | Um template aprovado pela Meta — o único tipo que inicia uma conversa |
| WhatsApp: Botões de resposta | Texto com até três botões de resposta rápida |
| WhatsApp: Lista de opções | Um menu com seções e opções |
| WhatsApp: Botão de link | Texto com um botão que abre uma URL |
| WhatsApp: Localização | Um ponto no mapa, com nome e endereço |
| WhatsApp: Cartão de contato | Um cartão de contato que o cliente pode salvar |
| WhatsApp: Adesivo | Um sticker |
| WhatsApp: Reação | Um emoji em resposta a uma mensagem |
A janela de 24 horas
Texto livre, mídia e mensagens interativas só chegam a quem escreveu para o número nas últimas 24 horas. Fora disso, só a Mensagem de modelo é entregue. O construtor avisa nos passos que dependem da janela; e a condição Janela de 24 horas do WhatsApp deixa o fluxo escolher sozinho. O conceito completo está em A janela de 24 horas.
Mensagem de modelo
A ação lista os templates aprovados da conta, com idioma, categoria e uma pré-visualização, e pede um valor para cada variável do template — texto fixo ou variável do gatilho. Desde a 2.6.0 ela cobre tudo o que a Meta oferece num template:
- Cabeçalho de imagem, vídeo ou documento — o arquivo vem de um link, de uma variável ou da biblioteca de mídia. A ação não salva sem ele, porque a Meta recusa o envio. Um documento sai com o nome do arquivo.
- Cabeçalho de localização — latitude e longitude, com nome e endereço opcionais.
- Botão de URL — a variável completa só o que vem depois do endereço fixo do botão. Para um
link do próprio site, use o modificador
remove_home_urlou{{ wc_first_product_review_path }}— veja Modificadores. - Botão de copiar código de um template de marketing, preenchido com o cupom informado.
- Botão de código de um template de autenticação, que repete o código do corpo quando fica vazio.
- Oferta por tempo limitado — a expiração aceita uma data, um timestamp ou um tempo relativo
como
+2 days. - Carrossel — cada cartão pede seu próprio arquivo de cabeçalho, variáveis e botões.
Os valores das variáveis saem numa linha só, como o WhatsApp exige: quebras de linha viram vírgulas e marcações HTML são removidas, para que um endereço de várias linhas ou um preço do WooCommerce não façam a Meta recusar o template.
Controle do fluxo
| Ação | O que faz |
|---|---|
| Tempo de espera | Pausa o fluxo por um intervalo (segundos a anos) ou até uma data e hora fixas |
| Condição | Divide o fluxo em dois caminhos, verdadeiro e falso |
| Loop | Repete as ações do corpo uma vez para cada item de uma coleção |
| Parar automação | Encerra o fluxo naquele ponto |
As esperas dependem do WP-Cron — veja Requisitos mínimos.
Condição
As condições disponíveis dependem do gatilho: status e valor do pedido, produtos comprados, forma de pagamento e de entrega, função e meta dados do usuário, campos do formulário e o que mais o gatilho registrar.
Janela de 24 horas do WhatsApp
Oferecida em todos os gatilhos desde a 2.6.0. Ela pergunta à plataforma, no momento em que o fluxo passa por ela, se a janela de um destinatário está aberta, fechada ou desconhecida (quando não foi possível perguntar). Recebe o destinatário — telefone ou variável — e o número remetente cuja janela é lida.
O uso típico é mandar texto livre no caminho "aberta" e um template aprovado no outro:
graph LR;
A["Pedido concluído"] --> B{"Janela aberta?"};
B -- "sim" --> C["Mensagem de texto"];
B -- "não" --> D["Mensagem de modelo"];
Loop
Percorre uma coleção — os arquivos digitais do pedido, os itens comprados — e roda as ações do
corpo uma vez por item, com as variáveis {{ loop_* }} descritas em
Variáveis de texto.
Integrações com outros sistemas
| Ação | O que faz |
|---|---|
| Enviar webhook | Envia os dados do gatilho, ou um JSON seu, para uma URL — n8n, Zapier, Make, um ERP |
| Requisição HTTP | Chama qualquer API pública e guarda a resposta para as próximas ações |
As duas estão descritas em Webhooks e requisições HTTP.
Contatos
Na aba Contatos da biblioteca, desde a 2.5.0:
| Ação | O que faz |
|---|---|
| Salvar contato | Cria ou atualiza o contato na sua conta do Joinotify: nome, e-mail, tags, campos e consentimento |
| Tag contato | Adiciona e remove tags de um contato |
Elas exigem a sincronização com o Joinotify Cloud ligada e passam pela fila dela, então o fluxo nunca espera pelo Joinotify e uma falha é tentada de novo. Nenhuma das duas inicia um fluxo do Joinotify Cloud.
O contato só é o cliente ou o usuário do gatilho quando o telefone ou o e-mail digitado na ação é o dele; qualquer outro vira um lead separado. O consentimento de marketing só deve ser marcado quando o gatilho significa que a pessoa concordou — um formulário com a caixa de aceite, por exemplo —, e sai com a evidência de onde e quando.
WooCommerce
| Ação | O que faz |
|---|---|
| Cupom de desconto | Cria um cupom no WooCommerce, cujos dados ficam nas variáveis {{ joinotify_coupon_* }} |
Inteligência artificial
| Ação | O que faz |
|---|---|
| WhatsApp: mensagem de IA | Escreve a mensagem com o modelo de IA a partir de uma instrução sua |
| IA: Variável inteligente | Gera um texto que as ações seguintes usam como {{ ai:NOME }} |
A IA passa pelo WordPress AI Client: o provedor e as credenciais são configurados uma vez em Configurações → Conectores, no próprio WordPress, e o Joinotify usa o que estiver ali. O plugin não guarda chave de OpenAI nem de Anthropic desde a 2.3.1.
O construtor também gera um fluxo inteiro a partir de uma descrição em texto. Esse gerador nunca usa a ação Requisição HTTP.
Outros canais
| Ação | O que envia |
|---|---|
| Telegram: mensagem | Uma mensagem de texto por um bot do Telegram |
| Enviar e-mail (Resend) | Um e-mail com anexos pelo Resend |
Os dois exigem a integração ativada e a credencial do serviço em Configurações → Integrações.
Ações que saíram
| Ação | Saiu na | Por quê |
|---|---|---|
| Ações de grupo | 2.3.0 | A API oficial do WhatsApp não envia para grupos |
| Snippet PHP | 2.3.1 | Dependia de eval(). Passos já salvos com ela não são mais executados |
Testar antes de ativar
O construtor envia o fluxo para um número de teste, configurado nele mesmo. Quando o WhatsApp recusa o envio, o aviso mostra o motivo que a Meta deu — janela fechada, template recusado, número inválido — em vez de um erro genérico.
A sua própria ação
Qualquer plugin pode registrar uma ação, com o formulário de configuração dela, só com PHP — veja Recursos para desenvolvedores.