Joinotify

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çãoO que envia
WhatsApp: Mensagem de textoTexto com formatação, emoji e variáveis
WhatsApp: Mensagem de mídiaImagem, vídeo, áudio ou documento, com legenda
WhatsApp: Mensagem de modeloUm template aprovado pela Meta — o único tipo que inicia uma conversa
WhatsApp: Botões de respostaTexto com até três botões de resposta rápida
WhatsApp: Lista de opçõesUm menu com seções e opções
WhatsApp: Botão de linkTexto com um botão que abre uma URL
WhatsApp: LocalizaçãoUm ponto no mapa, com nome e endereço
WhatsApp: Cartão de contatoUm cartão de contato que o cliente pode salvar
WhatsApp: AdesivoUm sticker
WhatsApp: ReaçãoUm 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_url ou {{ 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çãoO que faz
Tempo de esperaPausa o fluxo por um intervalo (segundos a anos) ou até uma data e hora fixas
CondiçãoDivide o fluxo em dois caminhos, verdadeiro e falso
LoopRepete as ações do corpo uma vez para cada item de uma coleção
Parar automaçãoEncerra 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çãoO que faz
Enviar webhookEnvia os dados do gatilho, ou um JSON seu, para uma URL — n8n, Zapier, Make, um ERP
Requisição HTTPChama 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çãoO que faz
Salvar contatoCria ou atualiza o contato na sua conta do Joinotify: nome, e-mail, tags, campos e consentimento
Tag contatoAdiciona 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çãoO que faz
Cupom de descontoCria um cupom no WooCommerce, cujos dados ficam nas variáveis {{ joinotify_coupon_* }}

Inteligência artificial

AçãoO que faz
WhatsApp: mensagem de IAEscreve a mensagem com o modelo de IA a partir de uma instrução sua
IA: Variável inteligenteGera 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çãoO que envia
Telegram: mensagemUma 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çãoSaiu naPor quê
Ações de grupo2.3.0A API oficial do WhatsApp não envia para grupos
Snippet PHP2.3.1Dependia 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.