Workflows
Automações por gatilho. Quando algo acontece (alguém entra, compra, conclui um curso, ou passa N dias sem entrar), cada pessoa segue um caminho de esperas, condições, e-mails da biblioteca, mensagens, comentários, reações, tags, grupos, posts no Slack e chamadas a outros sistemas, no tempo dela. Editor em canvas, variáveis entre os blocos, Chamar webhook com as Variáveis e chaves, fim com sucesso ou erro, taxa de sucesso, envio adiado pela cota, simulação, histórico, limites, quem assina, com que papel os passos agem e os 9 modelos. Também os blocos de IA Claude e ChatGPT, com a chave de API da própria comunidade, os Limites de IA e as ações de post, certificado, reconhecimento, chat, 1:1 e PDI.
Um workflow é uma automação por gatilho: quando algo acontece com uma pessoa (ela entra na comunidade, compra, conclui um curso, passa 30 dias sem entrar), ela entra num caminho que você desenha, com esperas, condições e ações, e segue esse caminho no tempo dela. É a régua de boas-vindas, o lembrete de quem sumiu, o parabéns do curso, sem ninguém da equipe apertar nada.
A Memberfy ajuda o RH a manter todo mundo engajado: os mesmos workflows lembram de uma avaliação pendente, de uma 1:1 sem registro ou de uma meta sem check-in.
Onde fica: Administração › Workflows. O proprietário e o administrador criam, editam, ligam e pausam; o moderador e o financeiro veem, simulam e acompanham o histórico; o membro não vê a área.
Como funciona
O gatilho
Cada workflow começa num gatilho só, um bloco do desenho arrastado da categoria Gatilhos. Cada família tem o seu bloco (Membros, Compras, Assinaturas, Eventos, Cursos, Certificados, Badges, Níveis e pontos, Formulários, Pesquisas, Chamadas de trabalhos, Publicações e comentários, Votações, Downloads, Espaços, Mensagens, os de RH, Tempo, Manual e Webhook), na ordem dos mais usados, e o evento é escolhido no painel do bloco, em Dispara quando; trocar o evento não troca o bloco. Buscar um evento ("assinatura cancelada") acha o bloco dele e já cria o bloco nesse evento. No desenho, o bloco mostra a família em cima e o evento embaixo. Com um gatilho no desenho, a categoria Gatilhos some do seletor; para outro tipo de gatilho, troque o bloco.
Quando algo acontece, por exemplo:
| Assunto | Gatilhos |
|---|---|
| Membros | Novo membro na comunidade (cadastro, convite aceito, compra, equipe, empresa ou importação, com a Origem; não é login), alguém sai, muda de papel, ganha ou perde uma tag, entra ou sai de um grupo, muda um campo do perfil; Alguém volta depois de N dias sem acessar (com Ficou pelo menos 7 dias ou mais; vale o acesso pelo app ou pelo assistente) |
| Compras e assinaturas | Uma compra é concluída (com o filtro Só a primeira compra: a primeira compra da pessoa, de qualquer produto, gratuitas incluídas) ou reembolsada; alguém começa uma compra, abandona o carrinho, ou um carrinho é recuperado; assinatura começa, é renovada, muda de plano, fica em atraso, tem o teste grátis acabando, é cancelada ou termina |
| Conteúdo e espaços | Alguém publica, comenta ou reage; visita um espaço pela primeira vez; ganha acesso a um espaço; o ciclo de vida de publicações, espaços e downloads (ver Eventos do ciclo de vida) |
| Cursos e eventos | Matrícula, aula ou curso concluído, quiz aprovado ou não, certificado emitido; inscrição, ingresso recebido, inscrição cancelada, vaga da lista de espera, check-in feito ou desfeito |
| Badges | Recebeu badge e Perdeu badge, com o filtro Badge (vazio: qualquer badge) e a origem (À mão, Curso ou evento, Workflow, Importação). Ver Badges |
| Níveis e pontos | Subiu de nível, Desceu de nível (com o Motivo) e Atingiu N pontos. Ver Níveis e pontos |
| Outros módulos | Formulário, pesquisa e proposta respondidos ou decididos, tópico de votação, arquivo baixado, entrada e saída no ponto, reservas, reconhecimento e feedback recebidos, e a DM recebida. O evento de reconhecimento recebido traz o tipo do reconhecimento (type: APPRECIATION, WELCOME…). |
| Pessoas (RH) | Um ciclo de avaliação abre, alguém envia uma avaliação, um resultado é liberado; uma 1:1 é registrada; um resultado-chave recebe check-in ou fica em risco; um PDI é aprovado; uma rodada de pesquisa abre |
A Origem de Novo membro na comunidade inclui Veio de aprovação, para quem entrou pelo cadastro com aprovação (member.joined com source: approval). É o "cadastro aprovado": um workflow de boas-vindas com esse filtro dispara quando a equipe aprova o pedido, não quando a pessoa pede. O pedido em si, e a recusa, não disparam workflow nem webhook.
Cada gatilho aceita o seu filtro: o produto, o curso, o evento, o espaço, o grupo, a tag, o campo, o ciclo ou a pesquisa (vazio: qualquer um). O painel do gatilho (Entrada no workflow) junta o filtro, quantas vezes a pessoa entra, o Limite de frequência e a descrição.
Tempo (todo dia, por data): uma passada por dia, a partir das 9h no fuso da comunidade, para quem cumpre a regra naquele dia: Alguém está há N dias sem acessar, Todo dia, para todos, Avaliação pendente há N dias, Avaliação vence em N dias, 1:1 daqui a N dias, 1:1 sem registro há N dias, Combinado de 1:1 atrasado há N dias, Resultado-chave sem check-in há N dias, Ciclo de metas termina em N dias, Ação do PDI atrasada há N dias e Pesquisa sem resposta há N dias. Cada pessoa entra uma vez pelo mesmo fato. No gatilho Alguém está há N dias sem acessar, ao ligar o workflow pela primeira vez, Incluir quem já está há mais de N dias sem entrar coloca também quem já passou desse ponto: a janela mostra quantas pessoas são e pede a confirmação, e elas entram uma vez cada, no ritmo do limite diário.
Manual (pessoas escolhidas): a equipe inicia o workflow para quem escolher. Com o workflow ligado, Executar agora pede as Pessoas ou um Público (como o das campanhas), mostra antes quantas entram, quem fica de fora (descadastradas, com e-mail inválido ou que denunciaram) e em quantos dias os e-mails saem pelo limite diário, e pede a confirmação ("Entendo que N pessoas vão receber os passos deste workflow agora"). Confirmar duas vezes não inicia duas vezes. Até 20 mil pessoas por vez, em lotes.
Agendado: todo dia, toda semana (nos Dias da semana) ou todo mês (no Dia do mês, de 1 a 28), no Horário escolhido no fuso da comunidade, Para quem você definir. Ligar pede a mesma confirmação dos gatilhos por data, e um dia com o envio da comunidade suspenso é pulado.
Webhook recebido: outro sistema chama o endereço do gatilho e inicia o workflow para a pessoa do corpo da chamada. Ver Webhook de entrada.
Chamado por outro workflow: o workflow começa quando outro o chama pelo passo Chamar workflow, para a mesma pessoa. Ver Ações da plataforma e outros workflows.
Os passos
| Passo | O que faz |
|---|---|
| Esperar | De 5 minutos a 365 dias |
| Condição (se / senão) | Divide o caminho em Sim e Não por regras, lidas na hora do passo: tags (várias de uma vez, com tem qualquer uma das tags, tem todas as tags ou não tem nenhuma das tags), grupo, campo do perfil, último acesso, curso concluído ou em andamento, produto comprado, carrinho abandonado, acesso e visita a um espaço, inscrição e presença num evento, nível e pontos (grupo Engajamento) e a regra Variável. Todas as regras valem ou Pelo menos uma regra vale. As regras aparecem em frases, como "Se a pessoa tem a tag VIP e não entra há mais de 30 dias" |
| Enviar e-mail | Um e-mail da biblioteca; cada pessoa recebe a versão no idioma dela, sem ela, a principal |
| Mandar mensagem (DM) | Uma mensagem no chat em nome de alguém da equipe (ver Em nome de quem) |
| Comentar no item e Reagir ao item | Em nome de alguém da equipe, sobre o item do gatilho: o post, o comentário, a reação ou a inscrição da pessoa |
| Adicionar ou remover tag e Adicionar a um grupo | Organiza a pessoa |
| Postar no Slack | Uma mensagem no canal da instalação do Slack da comunidade |
| Enviar SMS e Enviar WhatsApp | Um aviso no celular da pessoa, na categoria Mensagens: no SMS, um texto de até 300 caracteres; no WhatsApp, um modelo aprovado com os campos preenchidos (ver Enviar SMS e Enviar WhatsApp) |
| Chamar webhook | Uma chamada HTTPS para outro sistema (um CRM, uma planilha, o n8n), com as chaves guardadas em Variáveis e chaves (ver Chamar webhook) |
| Claude e ChatGPT | Pedem um texto ou um JSON à IA, com a chave de API da própria comunidade, na categoria IA (ver Blocos de IA) |
| Ações da plataforma | Mudar papel, ajustar pontos, conceder ou remover badge, publicar post, emitir certificado, reconhecer, bloquear no chat, agendar 1:1, adicionar ação ao PDI, inscrever num evento, matricular num curso, dar acesso por cortesia, mandar um aviso no app; cada ação é um bloco, em Pessoas, Conteúdo ou Mensagens (ver Ações da plataforma e outros workflows) |
| Chamar workflow | Roda outro workflow para a mesma pessoa e espera ele terminar, na categoria Fluxo |
| Enquanto (repetir) | Repete um trecho enquanto as regras valem, até um máximo de 1 a 10 vezes (padrão 3). Todo caminho do trecho precisa de uma espera de pelo menos 1 dia |
| Registrar log | Anota uma linha na execução (ver Registrar log) |
| Fim: sucesso e Fim: erro | Onde cada caminho termina (ver Como um workflow termina) |
Todo bloco tem um Nome do bloco, para reconhecê-lo no desenho e achar as variáveis dele no Inserir variável. Os textos aceitam as variáveis do gatilho e dos passos anteriores. O que um workflow faz nunca dispara outro workflow; a única forma de um workflow iniciar outro é o passo Chamar workflow.
O editor
O Desenho ocupa a altura inteira da tela:
- A barra de ícones à esquerda abre os blocos por categoria (Gatilhos, Fluxo, Mensagens, Pessoas, Conteúdo, Integrações, IA e Fim), com busca (Buscar bloco…, atalho
/); cada categoria tem a sua cor. As categorias abrem e fecham como um acordeão (clique,Enterou espaço), mostram quantos blocos têm quando fechadas, e o navegador lembra quais você deixou fechadas; uma busca abre as que têm resultado. Arraste um bloco para o desenho ou clique para adicioná-lo depois do bloco selecionado. - Barras laterais arrastáveis: arraste a borda da barra dos blocos ou do painel do bloco para mudar a largura, e um duplo clique volta ao padrão. A largura fica guardada no navegador.
- O "+" dos dois lados de cada bloco é o ponto de ligação. Clicar abre o seletor de blocos (depois da saída, ou antes da entrada); arrastar puxa um fio; soltar um bloco do desenho, um bloco da barra ou a ponta de um fio sobre um + conecta. O + no meio de uma ligação coloca um passo no meio.
- Conexão recusada diz o porquê, num aviso no desenho: "O gatilho não recebe conexões: ele é sempre o começo.", "Um bloco não pode levar a ele mesmo." e "Isso criaria um laço. Para repetir passos, use o bloco "Enquanto (repetir)"."
- Um clique num bloco abre o painel dele, com o Nome do bloco, os campos e as escolhas reais da comunidade (e-mails, tags, grupos, cursos, produtos, espaços e eventos, com busca). Um passo fora de qualquer caminho fica marcado como Solto, e um passo com erro, marcado em vermelho.
- Menu de contexto (botão direito): Abrir, Duplicar, Excluir, Adicionar bloco depois, Desconectar, Colar.
- Barra de ferramentas e minimapa: Aproximar, Afastar, Ver tudo, Organizar, Desfazer, Refazer e um minimapa do desenho inteiro.
- Atalhos do teclado: apagar o que está selecionado, desfazer e refazer, copiar, colar e duplicar blocos, selecionar tudo,
Escpara fechar o painel, salvar,Shift+ clique para selecionar vários, arrastar no fundo para selecionar por área eCtrl/⌘+ rolar para o zoom. Atalhos do teclado mostra a lista.
Salvar um workflow ligado cria uma versão nova: ela vale para quem entrar daqui em diante, e quem já está no meio termina na versão em que começou.
Simular, testar e estimar
- Simular com uma pessoa percorre o desenho com os dados de agora daquela pessoa (inclusive o que ainda não foi salvo) e destaca o caminho: Seguiria pelo "sim", Esperaria 3 dias, Enviaria "…". Nada é enviado.
- Enviar teste para mim, num passo de e-mail, manda o e-mail só para quem está logado.
- Simular e me enviar os e-mails faz a mesma simulação e manda os e-mails que a pessoa receberia, com o mesmo texto e as mesmas variáveis, só para você, com [Teste] no assunto. Eles não contam como envio (nem nos limites, nem na reputação de envio, nem no histórico) e não levam os links de descadastro da pessoa. Até 10 e-mails por simulação (num caminho com mais, saem os 10 primeiros) e 10 simulações com envio por hora. O botão aparece quando o desenho tem um passo Enviar e-mail, para quem pode simular, inclusive o moderador e o financeiro.
- Ao ligar, a janela mostra quantas pessoas dispararam o gatilho no último dia, em 7 e em 30 dias, para dar uma ideia do volume; num gatilho por data, quantas entrariam hoje. Só os próximos gatilhos entram: quem passou pelo gatilho antes não entra.
A simulação mostra o texto final de cada passo, com as variáveis preenchidas pela última vez em que o gatilho aconteceu para aquela pessoa nos últimos 30 dias ("Textos preenchidos com a ocorrência de 20/10 desta pessoa."), ou com os dados de exemplo, e diz como o caminho termina: Terminaria em sucesso ou Terminaria em erro.
Num bloco de IA, a simulação mostra o prompt preenchido e "Perguntaria ao modelo … (a simulação não chama a IA)": ela não gasta tokens.
Histórico
A aba Histórico tem a lista das execuções à esquerda e o detalhe da escolhida à direita ("Escolha uma execução à esquerda para ver os passos."). Em cima da lista, a barra de filtros: a busca por pessoa (pelo nome ou e-mail), o botão Período (7 dias, 30 dias ou Tudo) e o resultado em pílulas (Todas, Sucesso, Erro…), numa linha só. Os filtros ficam no endereço da página.
O detalhe mostra o Início, o Fim e a Duração, os Dados do gatilho e, em cada passo, as Entradas e as Saídas de quando ele rodou: o texto enviado na DM, no comentário ou no Slack; o assunto e a entrega do e-mail (Na fila, Enviado, Voltou (bounce)…); numa condição, o que a pessoa tinha ("Tem: VIP", "Último acesso: …", "Check-in em …"); numa chamada de webhook, o status, a duração, o tamanho, as tentativas, as chaves usadas (só o nome) e de onde a chamada saiu (IP fixo ou IP variável). Cada execução mostra o desenho da versão em que rodou, e um passo que saiu do desenho aparece como "Passo que não está mais no desenho". Copiar ID copia o código da execução, Ver no desenho mostra onde a pessoa está, e Parar execução (ou Encerrar execução) tira a pessoa do workflow. No perfil de cada membro, Automações lista os workflows por onde ela passou.
Num passo de IA, o detalhe mostra o Modelo, os Tokens (de entrada e de saída) e a duração; nunca a chave, o prompt nem a resposta.
Excluir execução e Limpar histórico. O proprietário e o administrador tiram execuções terminadas do histórico: Excluir execução, no menu Mais ações da execução (desativado enquanto ela roda: "Pare a execução antes."), ou Limpar histórico, com Todas as execuções terminadas ou As que começaram antes de uma data. A janela mostra antes quantas saem ("12 execuções saem do histórico.") e pede a confirmação (Remover 12 execuções); as que estão em andamento ficam. Elas saem da lista, dos números e da taxa de sucesso, mas continuam contando para quantas vezes a pessoa entra (quem já passou por um workflow de Uma vez só não entra de novo) e para os limites. Fica o registro em Logs.
Pelo assistente: delete_workflow_run e clear_workflow_runs.
Cada execução aparece como Sucesso, Erro, Cancelada, Pulada ou Em andamento, com o bloco de fim e o motivo, e o filtro Resultado separa cada uma. Os passos podem ficar como Erro e Aguardando cota ("Aguardando cota: adiado até 27/10, 9:00 por limite diário de envios da comunidade"). O cartão Como as execuções terminam fica no alto: ver Taxa de sucesso e aviso de erros.
A lista de workflows
Em cima da lista, o botão Período (7 dias, 30 dias ou Tudo) e o estado em pílulas: Todos, Ligado, Pausado e Rascunho. Cada linha mostra o estado e o gatilho do workflow e os números do período escolhido:

| Número | O que conta |
|---|---|
| Entraram | Execuções que começaram no período |
| Em execução | Pessoas que estão no caminho agora (sempre contam, qualquer que seja o período) |
| Terminaram | Execuções que chegaram ao fim |
| Erros | Execuções que terminaram em erro |
| Sucesso | Sucesso ÷ (sucesso + erro), em porcentagem, com a cor da faixa; ao lado, a data da última execução |
As ações ficam na própria linha (ícones no computador, uma folha de opções no celular):
- Ligar (ou Retomar, num workflow pausado): pede a confirmação de consentimento quando o gatilho é por data ou agendado; se faltar algo no desenho, a lista diz o que é e abre o workflow para resolver.
- Pausar: ninguém novo entra e cada pessoa congela no passo em que está, inclusive numa espera; Retomar continua de onde parou.
- Parar: ninguém novo entra e as execuções em andamento são canceladas ("Ninguém novo entra e 12 execuções em andamento serão canceladas."). O workflow fica pausado e pode ser ligado de novo; quem foi cancelado não volta.
- Execuções: abre o histórico do workflow, com cada pessoa, o estado e onde está ou parou.
Pausar ou Parar? Pause para corrigir algo e continuar com as mesmas pessoas; pare quando o que está no caminho não deve mais sair.
Workflows ligados por plano. Acima da lista, "3 de 10 workflows ligados" (ou "3 workflows ligados", quando o plano não tem limite). O plano define quantos workflows ficam ligados ao mesmo tempo: 3 no Starter, 10 no Growth, 30 no Business e sem limite no Scale (ver Plano e extensões). Com o limite cheio, ligar ou retomar outro mostra "Seu plano permite 10 workflows ligados ao mesmo tempo, e 10 já estão ligados. Pause ou pare outro, ou mude de plano.", com Ver planos. Pausar ou parar um libera a vaga. O SuperAdmin pode dar uma exceção a uma comunidade, e o novo limite vale na hora.
Quantas vezes a pessoa entra
O campo Quantas vezes a pessoa entra tem Uma vez só, De novo depois de alguns dias e Toda vez que o gatilho acontecer, e só aparece quando o gatilho pode acontecer de novo para a mesma pessoa. Cada gatilho tem a sua natureza:
| O gatilho acontece… | Exemplos | O campo |
|---|---|---|
| Uma vez por entrada na comunidade | Novo membro na comunidade; Uma compra é concluída com Só a primeira compra | Some. A tela diz "Este gatilho acontece uma vez por entrada na comunidade. Quem sai e volta entra de novo." (ou "Só a primeira compra: este gatilho acontece uma vez por pessoa.") |
| Uma vez por pessoa e item | Matrícula e conclusão de curso, aula concluída, quiz aprovado, certificado emitido, primeira visita e acesso a um espaço, pesquisa respondida, resultado de avaliação, PDI aprovado, item publicado ou apagado | Some quando o filtro escolhe um item (um curso, um espaço, uma pesquisa, um ciclo): "Este gatilho acontece uma vez por pessoa para o item escolhido." Com qualquer item, aparece |
| Pode se repetir | Compra, assinatura, inscrição e check-in em evento, comentário, reação, publicação, tag, grupo, campo do perfil, carrinho, DM recebida, Alguém volta depois de N dias sem acessar | Aparece |
| Por tempo ou execução | Os gatilhos por data, Agendado, Manual e Webhook recebido | Aparece |
Quando o campo some, vale Uma vez só dentro da mesma entrada na comunidade: quem sai e volta à comunidade entra de novo.
Nunca duas execuções ao mesmo tempo continua valendo para todo gatilho: um evento que chega com a pessoa no meio de uma execução não abre outra e aparece no histórico como Pulada, com o motivo "já estava em andamento".
Como um workflow termina
Todo workflow tem uma entrada e um fim explícito, para você saber se cada execução deu certo e o que fazer quando não deu.
- Um gatilho só. O desenho aceita um gatilho; a API recusa um segundo.
- Fim: sucesso e Fim: erro, na categoria Fim dos blocos. Todo caminho termina num deles: um caminho sem fim fica marcado ("Este caminho precisa terminar num Fim: sucesso ou Fim: erro") e o workflow não é salvo. Um fim só entra onde não há nada depois. Um workflow antigo abre com Fim: sucesso desenhado nas pontas soltas e continua rodando igual.
- Saídas "ok" e "erro" em cada ação (enviar e-mail, mandar mensagem, comentar, reagir, tag, grupo e Slack). A saída "ok" segue o caminho; Ligar a saída de erro leva a falha para outro bloco, como uma DM para a equipe ou o Fim: erro. Sem a saída de erro ligada, uma falha termina a execução em erro, com o motivo. Esperar, Condição, Enquanto e Registrar log não têm saída de erro.
- Resumo e aviso: ver Taxa de sucesso e aviso de erros.
O que é erro. Só o que falha de verdade na hora do passo: o e-mail que foi apagado da biblioteca ou que não entrou na fila de envio, o item do gatilho ou o grupo que não existe mais, a mensagem que não pôde ser criada, o Slack não instalado, sem o canal ou fora do ar, e a espera pela cota que passou do limite (ver Quando o envio é adiado). No e-mail, conta só a falha ao colocar na fila: uma devolução ou falha do provedor depois disso não muda o caminho.
O que não é erro. Um passo pulado por uma regra que não muda com o tempo (descadastro, devolução, mensagens desligadas, bloqueio) e um passo adiado pela cota seguem pela saída "ok". Os dois aparecem no histórico, mas nunca contam como erro.
Cada passo deixa o resultado para os seguintes: {{steps.<bloco>.result}} (done, skipped ou failed), {{steps.<bloco>.reason}} e, só no caminho de erro daquele passo, {{steps.<bloco>.error}}, o motivo da falha. Ver Variáveis.
Taxa de sucesso e aviso de erros
No Histórico, o cartão Como as execuções terminam mostra:
- Sucesso em 7 dias e Sucesso em 30 dias, em porcentagem ("18 de 20 execuções"); sucesso e erro contam pelo bloco de fim;
- Passos pulados (7 dias), Logs de erro (7 dias), Aguardando cota (agora) e Já em andamento (eventos em 30 dias);
- Últimos erros: as 10 últimas execuções que terminaram em erro, com o bloco e o motivo.
Passos pulados, adiados e logs não contam como erro. O moderador e o financeiro veem o cartão só para leitura.
Aviso de taxa de erro. Quando mais de 20% das execuções das últimas 24 horas terminam em erro (com pelo menos 20 execuções no período), o proprietário e os administradores recebem um aviso no sino e por e-mail ("O workflow "Boas-vindas" está com 35% de erros nas últimas 24 h (7 de 20 execuções). Veja o que falhou."), no máximo um por dia para cada workflow.
Variáveis
Cada gatilho entrega os dados do que aconteceu aos blocos seguintes: o nome do curso no parabéns, o produto e o valor no obrigado pela compra, a data no lembrete do evento. As variáveis têm nomes em inglês, com ponto, como {{course.name}} e {{purchase.product}}, e valem nos textos da mensagem (DM), do comentário, do Slack, do Registrar log e no e-mail (assunto e corpo).
Inserir variável. O botão fica em cada campo de texto. O menu agrupa as variáveis pelo bloco que as gerou, com o nome que você deu ao bloco e o ícone dele ("Gatilho · Cursos", "Pessoa", "Comunidade"), na ordem do fluxo, e só mostra os blocos que vêm antes do bloco em edição. Cada variável traz o nome legível, o código e um exemplo: "Curso · {{course.name}} · ex.: Curso de Liderança". A busca ("Buscar variável ou bloco") acha pelo nome da variável ou do bloco. Por isso vale dar um Nome do bloco a cada passo.
No e-mail. Editar e-mail, no passo Enviar e-mail, abre o e-mail da biblioteca com o Inserir variável daquele ponto do fluxo.
Como a pessoa vê. Embaixo de cada texto com variável, a prévia mostra o texto preenchido com dados de exemplo (Maria Souza, [email protected]). A simulação mostra os textos com os dados reais da pessoa (ver Simular, testar e estimar).
Valor de reserva. Para quem não tem o dado, escreva um texto depois da barra: {{purchase.discount|sem desconto}}. Uma variável sem valor sai vazia, ou com o valor de reserva, e o envio não falha.
As variáveis:
| De onde | Variáveis |
| Blocos de IA | steps.<bloco>.output (o texto ou o JSON), steps.<bloco>.output.<campo> (cada campo do JSON), steps.<bloco>.tokens e steps.<bloco>.model |
|---|---|
| Pessoa (todo workflow) | member.first_name, member.name, member.email, member.phone, member.role, member.language, member.member_since, member.last_seen_at, member.tags, member.groups e member.field.<chave> (os campos do perfil) |
| Comunidade (todo workflow) | community.name, community.language |
| Compras | purchase.product, purchase.product_type, purchase.amount, purchase.discount, purchase.payment_method, purchase.installments, purchase.free, purchase.first, purchase.tickets, purchase.ticket_type, purchase.batch; no reembolso, refund.product, refund.amount, refund.partial; no carrinho, cart.product |
| Assinaturas | subscription.product, subscription.plan, subscription.interval, subscription.amount, subscription.period_end, subscription.ends_at, subscription.canceled_by, subscription.previous_plan, subscription.trial_ends_at (conforme o gatilho) |
| Eventos | event.title, event.date, event.time, event.type, event.ticket_type, event.check_in_method, event.previous_date (no evento remarcado) |
| Cursos | course.name, course.completed_at, lesson.title; certificate.title, certificate.source |
| Espaços, publicações e comentários | space.name, target.type (onde foi o comentário ou a reação), target.reaction |
| Tags, grupos e campos | tag.name, group.name, field.name |
| Downloads | download.title, download.folder (a categoria), download.previous_folder, download.file_name, download.file_type, download.size, download.version |
| Formulários, pesquisas e chamadas | form.name, survey.title, call.name, proposal.status |
| Níveis e pontos | level.name (o nome do nível), level.previous_name, level.number, level.direction (Subiu ou Desceu), level.cause (Pontos ou Atividade da semana), points.total, points.previous |
| Reservas | booking.resource, booking.starts_at, booking.ends_at |
| Avaliações (RH) | cycle.name, cycle.due_at |
| Acesso | absence.days (dias sem acessar), em Alguém volta depois de N dias sem acessar e Alguém está há N dias sem acessar |
| Quem fez a ação | actor.name, nos eventos do ciclo de vida |
| DM recebida | dm.from.name, dm.from.email, dm.to.name, dm.conversation_url e, com regra própria, dm.text (ver DM recebida) |
| Webhook recebido | trigger.<nome>, os valores que você definiu no gatilho |
| Passos anteriores | steps.<bloco>.result, steps.<bloco>.skipped, steps.<bloco>.reason e, no caminho de erro, steps.<bloco>.error |
Os formatos. Valores em dinheiro saem na moeda e no idioma da pessoa (R$ 197,00); datas, no fuso da comunidade e no idioma da pessoa. member.language e community.language saem como o código do idioma (pt-BR).
Regras:
- Os dados do gatilho são guardados quando a pessoa entra: uma espera de 3 dias não muda o produto nem o valor, mesmo que o produto seja renomeado no meio.
- Uma variável que não chega ao bloco (de um passo que vem depois, ou de outro gatilho) impede salvar, e o bloco fica marcado com o nome dela.
- Os valores entram como texto: HTML sai escapado no e-mail e no comentário, sem
<>na DM e sem menção nem link no Slack; no assunto, sem quebra de linha. Nenhuma variável entra no endereço de um link, etrigger.*não entra no assunto. - A resposta de um bloco de IA e a de um Chamar webhook vêm de fora: saem escapadas onde entram e nunca vão no assunto de um e-mail.
- Nenhuma variável traz o que um membro escreveu (post, comentário, resposta, título de votação ou de anúncio), taxas, documentos ou conteúdo de avaliação de RH além do nome e do prazo do ciclo. O e-mail e o telefone da pessoa podem ir no post do Slack.
- Os nomes antigos continuam funcionando (
{{nome}},{{comunidade}},{{campo_<chave>}},{{gatilho_<chave>}}), mas não aparecem no Inserir variável.
Nas campanhas. Um e-mail da biblioteca que usa variáveis de workflow mostra "Usa variáveis de workflow". Numa campanha, essas variáveis saem vazias, e Novo disparo avisa: "Este e-mail usa variáveis de workflow (…). Numa campanha elas saem vazias: troque por variáveis da pessoa ou da comunidade, ou use valores de reserva."
Condição "Variável"
A regra Variável, no grupo Variáveis do fluxo da Condição, compara um dado do fluxo: escolha a variável (no mesmo menu do Inserir variável) e o operador, que depende do tipo:
| Tipo | Operadores |
|---|---|
| Texto | é igual a, não é igual a, contém, não contém, começa com, termina com, está vazio, não está vazio. Não diferencia maiúsculas nem acentos ("avancado" casa com "Avançado") |
| Número e dinheiro | é igual a (=), é diferente de (≠), é maior que (>), é maior ou igual a (≥), é menor que (<), é menor ou igual a (≤), está vazio. Dinheiro na moeda da comunidade, no formato dela |
| Data | é antes de, é depois de, está entre, foi há mais de N dias, foi há menos de N dias, é nos próximos N dias |
| Lista (tags, grupos, campo de múltipla escolha) | contém, não contém, contém qualquer de, contém todos de |
| Sim/não | é verdadeiro, é falso |
Exemplos: "Valor é maior ou igual a 100,00", "Formato é igual a Presencial", "Curso contém Avançado", "Data é nos próximos 7 dias".
As outras regras usam os mesmos operadores: Tem a tag e Está no grupo com contém, não contém, qualquer de e todos de (e vários grupos de uma vez); Campo do perfil com os operadores do tipo do campo (num campo de múltipla escolha, contém qualquer de, contém todos de e não contém, com as opções; a variável {{member.field.<chave>}} traz as opções marcadas). A regra é lida na hora do passo, sempre com o valor atual do campo.
Registrar log
O bloco Registrar log anota uma linha na execução: escolha o Nível (Info, Aviso ou Erro) e escreva a mensagem, que aceita variáveis ("{{member.first_name}} chegou ao fim das boas-vindas").
- Só texto: HTML sai como texto, e a mensagem é cortada em 1.000 caracteres depois de preenchida.
- Até 20 logs por execução; o 21º é descartado ("limite de logs da execução").
- A saída é sempre "ok". Um log de nível Erro não muda o resultado da execução nem conta no aviso de taxa de erro; o resumo mostra quantos houve.
- O log aparece no histórico da execução e em Administração › Logs, tipo Workflows, com filtro por workflow e por nível. Ver Logs.
- A mensagem só é visível para o proprietário e o administrador, porque pode conter qualquer variável. O moderador e o financeiro veem que houve um log no histórico, com "Mensagem visível só para owner e admin." no lugar do texto.
Chamar webhook
O bloco Chamar webhook, na categoria Integrações, manda uma chamada HTTPS para outro sistema no meio do caminho: avisar o CRM de uma compra, gravar uma linha numa planilha, chamar um fluxo do n8n.
- Método e Endereço (URL): só
https://, porta 443 e um host fixo. Variáveis podem ir no caminho, nunca no host, e as chaves do cofre não entram no endereço. - Cabeçalhos e Corpo (JSON): aceitam variáveis e as chaves do cofre (
{{env.CRM_TOKEN}}), só para os endereços da chave, quando ela tem algum. O corpo vai commemberfy.memberLanguageememberfy.communityLanguageacrescentados. - Tempo máximo de resposta: de 2 a 15 segundos (padrão 10).
- O que os próximos blocos podem usar:
{{steps.<bloco>.status}},{{steps.<bloco>.duration}}(ms),{{steps.<bloco>.size}}(bytes) e os campos da resposta JSON, até 16 KB ({{steps.<bloco>.body.<campo>}}), pelo Inserir variável. Valores que vêm de fora nunca entram no assunto de um e-mail.
Como a chamada se comporta:
| Resposta | O que acontece |
|---|---|
| 2xx | Segue pelo caminho "ok" |
| 3xx (o redirecionamento não é seguido), 4xx, endereço bloqueado, resposta acima de 64 KB, corpo inválido, chave fora dos endereços dela | Vai pelo caminho de erro, na hora |
| 5xx, demora além do tempo máximo ou falha de rede | Tenta de novo depois de 1, 5 e 15 minutos; sem sucesso, vai pelo caminho de erro ("O destino não respondeu depois de 3 tentativas.") |
Limites: 60 chamadas por minuto e 2.000 por dia em cada workflow; 300 por minuto e 20.000 por dia na comunidade. O que passa espera a vez, em vez de falhar. Um destino que falha várias vezes seguidas fica alguns minutos em espera.
IPs fixos
Nos planos Business e Scale, as chamadas saem de IPs fixos, os mesmos das entregas de webhook (ver IPs fixos), para liberar no firewall do destino. O painel do bloco mostra os IPs, com Copiar IPs, e quantas chamadas do mês já saíram por eles ("1.200 de 10.000 chamadas por IP fixo neste mês").
- O limite é de 10.000 chamadas por IP fixo por mês. Passando dele, as demais saem de IPs que mudam até o mês virar, e o proprietário recebe um aviso no sino, que abre as automações. O mês é o do calendário no fuso da comunidade: a contagem recomeça à meia-noite do dia 1º e não se acumula no plano anual.
- Nos outros planos, as chamadas saem de IPs que mudam ("Para IPs fixos, use o plano Business ou superior.").
- O histórico mostra, em cada chamada, de onde ela saiu: IP fixo, IP variável ou "IP variável (limite mensal de IP fixo atingido)".
Variáveis e chaves
Variáveis e chaves, no alto de Administração › Workflows, é o cofre da comunidade: os tokens e as chaves que o Chamar webhook usa nos cabeçalhos e no corpo. Só o proprietário e o administrador veem e mexem.
- Antes da primeira chave, leia o aviso Antes de começar: um aviso sobre dados pessoais e clique em Li e aceito: os dados das pessoas enviados por webhook saem da Memberfy para o sistema que você indicar, e a comunidade é a controladora desses dados. O aceite vale uma vez só, para a comunidade inteira; depois, a tela mostra quando ele foi dado.
- Nova chave abre uma janela com três campos:
- Nome: como você chama a chave dentro do workflow. Ele se ajusta enquanto você digita (letras maiúsculas, números e
_; espaços e acentos viram_), e logo abaixo aparece o jeito exato de escrever no bloco: "No bloco "Chamar webhook", escreva"{{env.CRM_TOKEN}}. - Valor: cole o token ou a senha. O ícone de olho mostra ou oculta o que você colou (Mostrar o valor / Ocultar o valor), só enquanto a janela está aberta.
- Pode ser enviada só para (opcional): os endereços para onde a chave pode ir, como
api.seucrm.com.br(Enter ou Adicionar; se você colar uma URL inteira, fica só o domínio). Vazio, a chave pode ser usada com qualquer endereço; com endereços, ela só sai para eles. Para uma chave de um sistema só, como o token do CRM, preencha: é mais seguro.
- Nome: como você chama a chave dentro do workflow. Ele se ajusta enquanto você digita (letras maiúsculas, números e
- No bloco, use
{{env.CRM_TOKEN}}.
- O valor nunca volta para a tela. Ele fica guardado cifrado, e a lista mostra só o final ("…a1b2"), para onde ela pode ir (ou "Qualquer endereço") e quando foi usada ("Ainda não usada"). Para trocar, Substituir (em branco, mantém o valor atual).
- Excluir apaga o valor na hora; os workflows que usam a chave passam a ir pelo caminho de erro ("A chave usada não existe mais no cofre.").
- O histórico mostra o nome das chaves usadas numa chamada, nunca o valor.
Limites de IA
O cartão Limites de IA, em Variáveis e chaves, segura o gasto dos blocos Claude e ChatGPT, que é da comunidade. Só o proprietário e o administrador veem e mudam, e cada mudança fica registrada.
O que é um token. A IA lê e escreve o texto em tokens, pedaços de palavra: 1.000 tokens dão umas 750 palavras. Conta a entrada (as instruções e o prompt) e a saída (a resposta). Nada disso usa a cota de IA da Memberfy.
| Teto | Padrão | Quando passa |
|---|---|---|
| Por chamada | 4.000 tokens | É o máximo que o modelo escreve numa resposta: um bloco que pede mais fica com este número |
| Por execução | 20.000 tokens | O total de uma pessoa passando pelo workflow. Passou, o bloco segue pela saída de erro ("Teto de tokens de IA por execução atingido.") |
| Por dia | 200.000 tokens | O total da comunidade no dia, no fuso da comunidade. Passou, os blocos esperam o dia seguinte e saem quando ele começa |
Por chamada precisa ser menor ou igual a por execução, e por execução menor ou igual a por dia. O cartão mostra quanto já foi usado hoje ("Hoje: 12.400 de 200.000 tokens usados."); Salvar limites grava e Voltar ao padrão volta aos números da tabela.
Blocos de IA (Claude e ChatGPT)
Os blocos Claude e ChatGPT, na categoria IA, pedem à IA um texto ou um JSON no meio do caminho: escrever uma boas-vindas pessoal, classificar um chamado de suporte, resumir a resposta de um formulário. A chamada usa a chave de API da própria comunidade, criada na Anthropic (Claude) ou na OpenAI (ChatGPT): quem paga o uso é a comunidade, direto ao provedor.
Antes do primeiro bloco:
- Em Variáveis e chaves, aceite o aviso de dados pessoais e crie uma chave com a chave de API do provedor. Em Pode ser enviada só para, coloque
api.anthropic.com(Claude) ouapi.openai.com(ChatGPT). Uma chave sem endereço também aparece no bloco, mas restringir é mais seguro; uma chave com outros endereços, não. - Confira os Limites de IA.
O painel do bloco:
| Campo | O que é |
|---|---|
| Modelo | A família do modelo, descrita pelo uso: o mais capaz, para tarefas difíceis (mais lento e mais caro), equilíbrio entre qualidade, velocidade e custo, ou o mais rápido e econômico, para tarefas simples. A lista acompanha os modelos atuais de cada provedor |
| Chave de API | Só as chaves de Variáveis e chaves que podem ir para o provedor; Criar chave em Variáveis e chaves leva ao cofre. A chave nunca entra no prompt nem no histórico |
| Instruções do sistema (opcional) | Como o modelo se comporta em toda chamada: papel, tom, regras |
| Prompt | O pedido, com variáveis ("Escreva uma mensagem de boas-vindas para {{member.first_name}}, que acabou de entrar na comunidade."). As chaves do cofre ({{env.*}}) não entram |
| Formato da resposta | Texto ou JSON. Com JSON, um Esquema JSON opcional, e cada campo da resposta vira uma variável |
| Máximo de tokens | O tamanho máximo da resposta, de 16 a 8.000 tokens (padrão 1.024); o teto por chamada da comunidade pode baixar esse número |
| Tempo de espera | Quanto esperar a resposta, de 5 a 60 segundos (padrão 30) |
As variáveis entram no prompt como dados, nunca como ordem ao modelo, junto com o idioma da pessoa e o da comunidade. Ponha no prompt só o que a tarefa precisa.
O que os próximos blocos podem usar: {{steps.<bloco>.output}} (o texto ou o JSON), {{steps.<bloco>.output.<campo>}} (cada campo do JSON, também numa Condição "Variável"), {{steps.<bloco>.tokens}} e {{steps.<bloco>.model}}, pelo Inserir variável. A resposta fica guardada até 16 KB. Ela é um valor de fora, como a de um webhook: sai escapada onde entra e nunca vai no assunto de um e-mail.
Como o bloco se comporta:
| Resposta | O que acontece |
|---|---|
| Resposta recebida | Segue pelo caminho "ok", com a resposta nas variáveis |
| Chave ou pedido recusado, recusa do modelo, resposta vazia ou cortada pelo máximo de tokens, JSON inválido no esquema | Vai pelo caminho de erro, na hora |
| Tempo esgotado, provedor fora do ar ou limite do provedor | Tenta de novo depois de 1, 5 e 15 minutos; sem sucesso, vai pelo caminho de erro ("O provedor de IA não respondeu (3 novas tentativas).") |
| Teto por execução dos Limites de IA | Vai pelo caminho de erro |
| Teto diário dos Limites de IA | O passo espera o dia seguinte, no fuso da comunidade |
A simulação mostra o prompt preenchido sem chamar a IA, e o histórico mostra o modelo, os tokens e a duração de cada chamada, nunca a chave, o prompt nem a resposta (ver Histórico).
Enviar SMS e Enviar WhatsApp
Os blocos Enviar SMS e Enviar WhatsApp, na categoria Mensagens, mandam um aviso para o celular da pessoa da execução, com as regras de Avisos por SMS e WhatsApp: o canal ligado em E-mails e notificações, celular confirmado (ou informado pela equipe ao declarar o consentimento), consentimento de serviço daquele canal e a categoria Automações ligada em Minha Conta › Avisos.
- Texto (SMS): até 300 caracteres, com variáveis ("Oi {{member.first_name}}, seu evento começa em 1 hora."). As variáveis entram como texto simples. Ao enviar, a Memberfy põe o nome da comunidade na frente ("[Clube de Corrida] …") e o link para sair no fim.
- Partes (SMS): o painel conta as partes do texto sozinho e como sai (com [Comunidade] na frente e o link para sair). Uma parte tem 160 caracteres, ou 153 quando a mensagem se divide; um acento como ã, õ ou ç, ou um emoji, faz cada parte caber 70 (67 quando divide). As variáveis contam como digitadas.
- Modelo (WhatsApp): o WhatsApp não aceita texto livre. Escolha o Modelo (Ingresso confirmado, Pagamento recusado, Aviso da comunidade…), preencha os Campos do modelo (até 300 caracteres cada, com variáveis; o primeiro nome da pessoa e o nome da comunidade a Memberfy preenche) e, se quiser, a Página que o botão abre (um caminho da comunidade, como
/eventos; vazio, a página inicial). Para um recado que não tem modelo próprio, use Aviso da comunidade, cujo campo é o seu texto. Como chega mostra a mensagem montada. Um modelo de marketing só chega a quem aceitou novidades pelo WhatsApp ("Modelo de marketing: só chega a quem aceitou novidades pelo WhatsApp."). Não repita num workflow uma mensagem que a plataforma já manda, como o pagamento confirmado ou o lembrete do evento. - Modelos que um workflow pode usar (WhatsApp): Aviso da comunidade (também na versão serviço), Ingresso confirmado, Pagamento confirmado, Pagamento recusado, Compra não concluída, Evento amanhã e Evento começando (com as versões presenciais, que trazem o mapa), Evento ao vivo, Resposta no post, Menção, Mensagem direta, Conteúdo novo, Proposta decidida, 1:1, Feedback recebido (também na versão serviço), Pendência de RH, Lembrete de reserva, Assinatura renovando, Reembolso, Vaga na lista de espera e Certificado emitido. Ficam de fora os que nenhum gatilho consegue preencher (Visitante na recepção, Encomenda recebida, Cartão vencendo, Resposta no chamado e Cadastro aprovado): esses saem só como mensagem da plataforma.
- Modelos de marketing (WhatsApp): o WhatsApp classifica como marketing o Aviso da comunidade e o Feedback recebido (as duas versões de cada), a Compra não concluída, a Menção e o Conteúdo novo. Quem não aceitou novidades pelo WhatsApp não recebe: o passo é pulado ("sem consentimento para WhatsApp") e segue pelo caminho "ok". Para que todo mundo receba o recado, ponha depois do bloco uma condição "Variável" com
{{steps.<bloco>.result}}igual askippedlevando a um Enviar e-mail. Ver Modelos de marketing.
Como o bloco se comporta:
| Situação | O que acontece |
|---|---|
| Enviado | Segue pelo caminho "ok". O histórico mostra o texto e, no SMS, as Partes de SMS |
| A pessoa não pode receber: canal desligado na comunidade ou fora do plano, saiu da comunidade, sem celular, celular não confirmado (nem informado pela equipe ao declarar o consentimento), país não atendido, sem consentimento, parou os avisos desta comunidade ou respondeu SAIR, desligou a categoria Automações, texto vazio. No WhatsApp, também o modelo ainda não aprovado e o modelo de marketing para quem não aceitou novidades | Pulado, com o motivo ("celular não confirmado"), e segue pelo caminho "ok" |
| Horário de silêncio (21h às 8h, no fuso de quem recebe), teto diário da comunidade ou cota do mês | Aguarda a cota e sai quando ela libera, como em Quando o envio é adiado |
| A pessoa já recebeu o limite por pessoa do dia (5 por padrão, no cartão do SMS) | Fica para o dia seguinte, às 8h ("limite diário de WhatsApp por pessoa") |
| O envio foi recusado | Vai pelo caminho de erro ("o envio do SMS foi recusado"), com o Código da recusa no histórico |
| Falha passageira | Tenta de novo depois de 1, 5 e 15 minutos |
Com o envio da comunidade suspenso, os dois blocos esperam, como as outras mensagens. Nem o pulado nem o adiado contam como erro.
Lembretes que também vão por SMS
Com o SMS ligado na comunidade, três lembretes da plataforma também saem por SMS, sem workflow, para quem pode receber: o lembrete do evento, 1 hora antes; os lembretes do ciclo de PDI (enviar e aprovar o PDI); e o lembrete da 1:1. A tela de cada um avisa ("O lembrete de 1 hora antes também sai por SMS para quem consentiu."). Um lembrete que o horário de silêncio ou o teto diário atrasaria é pulado no SMS; o e-mail sai como sempre. Com o SMS desligado, nada muda.
Ações da plataforma e outros workflows
Cada ação da plataforma é um bloco da barra, com o nome da ação, na categoria do que ela toca (Pessoas, Conteúdo ou Mensagens). Ela faz pela pessoa da execução o mesmo que a equipe faz na tela; o painel do bloco pede os campos da ação (o curso, o evento, o plano ou produto e o grupo pela busca, o Campo do cadastro, o Novo papel, os Pontos e o Motivo, as datas e os textos, com variáveis) e diz o papel que ela exige ("Quem salva e liga o workflow precisa ser administrador ou acima."):
| Ação | O que faz | Papel mínimo de quem liga |
|---|---|---|
| Mudar papel | Muda o papel da pessoa, inclusive para administrador (nunca para owner, nem o papel de um owner ou o próprio) | Administrador |
| Remover do grupo e Alterar cadastro | Remove a pessoa de um grupo; grava um valor num campo do cadastro | Administrador |
| Ajustar pontos | Soma ou tira pontos do ranking, com o motivo no histórico | Administrador |
| Conceder badge e Remover badge | Concede um badge do catálogo, com o Motivo opcional (quem já tem é pulado: "a pessoa já tem o badge"), com o aviso no sino e o e-mail de Conquistas; ou retira, sem avisar (quem não tem é pulado) | Administrador |
| Dar acesso por cortesia e Encerrar cortesia | Dá um plano por cortesia até uma data de fim, ou encerra a cortesia (uma assinatura paga nunca é tocada) | Administrador |
| Dar ingresso de cortesia | Um ingresso de cortesia no evento | Administrador |
| Agendar 1:1 | Cria um 1:1 recorrente entre a pessoa e o líder direto dela, com a Frequência (semanal, quinzenal ou mensal), o Dia da semana, o Horário e a Duração (minutos). Sem líder direto, ou com um 1:1 recorrente já marcado, o passo é pulado | Administrador |
| Adicionar ação ao PDI | Inclui uma ação, com Prazo (dias), no PDI ativo da pessoa; sem PDI ativo, cria um rascunho com ela. No PDI, a ação mostra "Criado pelo workflow …" | Administrador |
| Publicar post | Publica um post (em Markdown, com variáveis) num espaço de feed ou de conteúdo, em nome de quem ligou o workflow, com a regra de quem pode criar do espaço e sem aviso por e-mail | Moderador |
| Emitir certificado | Emite um certificado de um modelo ativo para a pessoa, com o e-mail de aviso se Enviar o certificado por e-mail estiver marcado; quem já tem o certificado é pulado | Moderador |
| Reconhecer | Quem ligou o workflow publica um reconhecimento para a pessoa, com a mensagem e, se quiser, um valor da comunidade | Moderador |
| Bloquear no chat | Quem ligou o workflow bloqueia a pessoa no chat, sem aviso a ninguém; a ação não tem campos | Moderador |
| Inscrever no evento e Matricular no curso | Só eventos e cursos gratuitos | Moderador |
| Mandar aviso no app | Um aviso no sino da pessoa, com título e texto. O aviso chega também por notificação no navegador e no celular, na categoria Avisos da equipe; tocar abre o sino | Moderador |
O que mexe com dinheiro ou apaga em definitivo nunca roda num workflow.
Chamar workflow roda, para a mesma pessoa, um workflow que começa com Chamado por outro workflow. No gatilho desse workflow, Valores que este workflow recebe declara o que ele espera (nomes com letras minúsculas, números e _), usados nos blocos como {{trigger.<nome>}}; no Fim: sucesso, Valores devolvidos diz o que volta para quem chamou. No bloco Chamar workflow, escolha o Workflow chamado, preencha os Valores enviados e veja O que ele devolve, que os blocos seguintes usam como {{steps.<bloco>.output.<nome>}}. O workflow que chama espera o outro terminar e segue pelo "ok" ou pelo erro ("o workflow chamado terminou com erro"). Um workflow não chama a si mesmo nem quem o chama, e a cadeia vai até 3 workflows. Assim, uma boas-vindas comum fica num workflow só, chamado por vários.
Com que papel os passos agem
Um workflow nunca faz mais do que a pessoa que o pôs para rodar:
- Os passos agem com o papel de quem salvou, ligou, retomou ou executou o workflow. Uma ação acima do papel de quem edita fica marcada no painel ("Esta ação exige proprietário: você não consegue salvar o workflow com ela.") e o workflow não é salvo.
- O papel é lido de novo a cada passo: se a pessoa perdeu o papel, a ação é pulada ("a ação foi recusada para o papel de quem ligou"); se saiu da comunidade, o passo falha ("quem ligou o workflow saiu da comunidade").
- O administrador age como o proprietário. Ele salva, liga e executa workflows com qualquer ação da plataforma, inclusive tornar alguém administrador. Só uma ação marcada como exclusiva do proprietário ficaria acima dele (o workflow abriria só para leitura: "Este workflow tem ações que só um proprietário pode alterar. Você pode ver e simular."), e hoje nenhuma é: a titularidade da comunidade e o plano não são ações de workflow.
- O moderador e o financeiro têm limites: veem, simulam e acompanham o histórico, mas não salvam, ligam nem executam workflows, e um workflow nunca dá a eles um poder que não têm.
- Um workflow chamado por outro age com o menor papel da cadeia.
Eventos do ciclo de vida
29 gatilhos com o ciclo de vida de cada módulo, cada um no bloco da sua família e também nos webhooks.
| Família | Gatilhos |
|---|---|
| Downloads | Um arquivo é publicado, editado, muda de categoria ou é apagado; um anexo é adicionado, substituído por uma versão nova ou removido; uma categoria de downloads é criada |
| Publicações e comentários | Uma publicação é editada, muda de espaço ou é apagada; um comentário é apagado; alguém remove uma reação |
| Eventos | Um evento é criado, editado, remarcado ou apagado; a transmissão começa; a gravação é publicada |
| Cursos | Um curso é publicado ou editado; uma aula é publicada; alguém sai de um curso |
| Espaços | Um espaço é criado, editado ou apagado |
| Formulários | Um formulário é publicado, encerrado ou reaberto |
- Só itens no ar disparam: um rascunho editado ou apagado não inicia nada.
- Apagar um evento é como se cancela um evento hoje, e o gatilho diz isso: "Um evento é apagado (é assim que se cancela)".
- A pessoa da execução é quem fez a ação (
{{actor.name}}). Quando é a equipe que publica (um evento, uma aula), o gatilho serve para avisar no Slack ou reconhecer o autor; para avisar todos os membros de um conteúdo novo, use os avisos por e-mail ou um workflow Agendado ou Manual com público.
Níveis e pontos
O bloco de gatilho Níveis e pontos ("Uma pessoa sobe ou desce de nível, ou atinge um total de pontos") acompanha os níveis da comunidade:
| Gatilho | Quando dispara | Filtros |
|---|---|---|
| Subiu de nível | Na hora em que a pessoa chega a um nível mais alto, por pontos (ação, ajuste da equipe ou de workflow) ou por cumprir o requisito da semana que faltava. Pular dois níveis dispara uma vez | Nível: o nível alcançado (Qualquer nível, vazio) |
| Desceu de nível | Na segunda às 00:00, no fuso da comunidade, para quem não cumpriu os requisitos da semana anterior, e na hora em que um ajuste negativo deixa a pessoa abaixo do mínimo do nível | Nível (o nível em que a pessoa ficou) e Motivo: "Não cumpriu a atividade da semana (na segunda)" e "Perdeu pontos (ajuste da equipe ou de workflow)", as duas marcadas por padrão ("Pelo menos um motivo fica marcado.") |
| Atingiu N pontos | "Dispara quando o total passa desse número para cima. Quem desce e volta a passar dispara de novo." | Pontos (obrigatório) |
Nenhum dos três dispara num recálculo de pontos, numa importação, quando a comunidade muda os níveis ou com a gamificação desligada.
Condições. Na Condição, o grupo Engajamento tem as regras Nível ("está no nível Kernel ou acima", ou "está abaixo do nível Kernel") e Pontos ("tem pelo menos 500 pontos", ou "tem menos de 500 pontos"), lidas na hora do passo.
Exemplos: "Subiu para Kernel → conceder o badge Kernel"; "Desceu de Kernel, motivo atividade da semana → tirar do grupo Kernel"; "Atingiu 1.000 pontos → mandar uma DM de parabéns".
DM recebida
O bloco de gatilho Mensagens tem o gatilho Um membro manda uma DM para a equipe: ele dispara quando um membro manda uma mensagem a alguém da equipe. A pessoa da execução é quem mandou a DM. DM entre membros, ou de alguém da equipe, não dispara.
Filtros:
- Quem recebe: uma ou várias pessoas da equipe (obrigatório).
- Quem manda tem a tag e Quem manda está no grupo (vazio: qualquer membro).
- Só a primeira mensagem de uma conversa nova. Desmarcado, toda mensagem dispara, com a regra de Quantas vezes a pessoa entra.
Variáveis: {{dm.from.name}} e {{dm.from.email}} (quem mandou), {{dm.to.name}} (quem recebeu) e {{dm.conversation_url}} (o link da conversa).
O texto da DM ({{dm.text}}) segue a regra das mensagens: a equipe não lê a conversa dos outros. Por isso ele só fica disponível quando o workflow é de quem recebeu a mensagem:
- o filtro Quem recebe tem exatamente essa pessoa, e só ela salva e liga o workflow;
- o texto só pode ir numa DM assinada por essa pessoa, no corpo de um e-mail ou numa condição. Em qualquer outro lugar (assunto, Slack, comentário, log, DM em nome de outra pessoa), ou num workflow salvo ou ligado por outra pessoa, o bloco fica marcado com erro no desenho e o workflow não é salvo.
O evento também chega aos webhooks como message.received, sem o texto da mensagem.
Limites
- Limite de frequência, opcional, em cada workflow: no máximo N e-mails a cada tantas horas ou dias para a mesma pessoa; o que passar fica aguardando a cota.
- Limite diário da comunidade: os e-mails de workflows por dia do plano (40 no Starter, 80 no Growth, 200 no Business e 350 no Scale; ver Plano e extensões); o que passar espera o dia seguinte. Os e-mails transacionais nunca entram nesse limite.
- SMS e WhatsApp por pessoa: no máximo 5 mensagens de workflow por pessoa por dia em cada canal, por padrão (de 1 a 20, no cartão do SMS); o que passar sai no dia seguinte, às 8h.
- Mensagens: no máximo 1 mensagem de workflow por pessoa por dia; quem desligou as mensagens ou bloqueou quem assina não recebe.
- Webhook recebido: no máximo 5 execuções por pessoa por dia em cada workflow.
- Quem se descadastrou de Automações, os endereços com devolução ou denúncia e a reputação de envio da comunidade também seguram os e-mails.
- Chamar webhook: ver os limites das chamadas.
- Com o envio da comunidade suspenso, Executar agora e o Agendado não iniciam ninguém, e as mensagens, os comentários, as reações e os posts no Slack de quem já está no caminho esperam a suspensão acabar (as tags e os grupos continuam).
Quando o envio é adiado
Quando um limite que libera com o tempo segura o passo, ele fica aguardando a cota e sai assim que ela libera, em vez de ser pulado:
| Limite | Até quando espera |
|---|---|
| Limite de frequência do workflow | Até o fim da janela do limite (a janela vai até 90 dias) |
| Limite diário da comunidade | Até 7 dias |
| Reputação de envio em alerta ou pausada | Até 7 dias |
| Envio da comunidade suspenso | Até 48 horas |
| 1 mensagem de workflow por pessoa por dia | Até 7 dias |
- O histórico mostra "Aguardando cota: adiado até 28/10, 9:00 por limite de frequência do workflow".
- Quando a cota libera, os passos saem espalhados ao longo de uma hora; depois de uma suspensão, num ritmo controlado, e não todos de uma vez.
- Depois de sair, o passo segue pela saída "ok". Passou do tempo máximo, a execução segue pela saída "erro" com o motivo "esperou a cota além do limite".
- Pausar o workflow congela a espera; Retomar recomeça a contagem; Encerrar execução ou Parar cancela, e nada é enviado.
- Um evento novo da mesma pessoa durante a espera não abre outra execução ("já estava em andamento").
Impedimento permanente conta como pulado. Descadastro de Automações, e-mail com devolução ou denúncia, pessoa sem e-mail, mensagens desligadas, bloqueio de quem assina e quem assina fora das pessoas permitidas não liberam com o tempo: o passo é pulado, com o motivo, e o caminho segue pela saída "ok" ({{steps.<bloco>.result}} é skipped).
Nem o adiado nem o pulado contam como erro: não mudam o resultado da execução nem o aviso de taxa de erro.
Consentimento e quem assina
Gatilho por data e Agendado: ao ligar, a janela pede uma vez a confirmação de que essas pessoas, que já estão na comunidade, podem receber estes e-mails.
Em nome de quem
Quem pode assinar as mensagens dos workflows é uma escolha da comunidade:
- Em Administração › Configurações › E-mails e notificações, o cartão Mensagens dos workflows em nome de (o mesmo aparece no alto de Administração › Workflows) diz em nome de quem os workflows podem mandar DM, comentar e reagir: Toda a equipe (o padrão: proprietário, administradores, moderadores e financeiro) ou Só o owner. Só o proprietário e o administrador veem e mudam.
- O campo Em nome de quem de cada bloco de DM, comentário e reação lista as pessoas que a configuração permite. Ninguém precisa aceitar nem aprovar textos.
- Com Só o owner, os passos desenhados em nome de outra pessoa são pulados, com o motivo "quem assina não está entre as pessoas permitidas", e o editor marca esses blocos ("Esta pessoa não pode mais assinar: com "Só o owner", este passo é pulado até você trocar quem assina.").
- Fica o registro: cada versão guarda quem a ligou ou publicou e os textos que saem em nome de cada pessoa. Quando outra pessoa da equipe liga um workflow que fala em seu nome, você recebe um aviso no sino, que abre o workflow ("Ana ligou o workflow "Boas-vindas", que fala em seu nome. Veja os textos.").
Modelos
Modelos cria um rascunho a partir de um dos 9 modelos, com os e-mails já na biblioteca, no idioma da comunidade. Nada é enviado até você ligar.
| Família | Modelo | O que faz |
|---|---|---|
| Engajamento | Régua de boas-vindas | Três e-mails na primeira semana de quem entra |
| Engajamento | Incentivo de uso | Entrou e não começou um curso em 3 dias: um empurrãozinho |
| Engajamento | Reconquista | Sem acesso há 30 dias: um convite para voltar |
| Engajamento | Parabéns pelo curso | Um e-mail quando a pessoa conclui um curso |
| Engajamento | Primeira inscrição em evento | Boas-vindas na primeira inscrição em evento |
| Engajamento | Obrigado pela presença | Um dia depois do check-in, um obrigado |
| Pessoas (RH) | Lembrete de avaliação pendente | Avaliação não enviada há 3 dias no ciclo aberto |
| Pessoas (RH) | 1:1 sem registro | A 1:1 passou e ainda não foi registrada |
| Pessoas (RH) | Metas sem check-in | Resultado-chave sem check-in há 14 dias |
Abrir um modelo mostra os passos e os assuntos dos e-mails antes de usar ("Cria N e-mails na biblioteca").
E-mails e descadastro
Os e-mails dos workflows saem na categoria Automações de E-mails desta comunidade, ligada por padrão, com o link para desligá-la no rodapé.
Passo a passo
Um exemplo: um parabéns com o nome do curso.
- Em Administração › Workflows, clique em Novo workflow (ou em Modelos, para começar de um modelo).
- Arraste o bloco Cursos da categoria Gatilhos e, em Dispara quando, escolha Alguém conclui um curso. Escolha o curso: o campo Quantas vezes a pessoa entra some, porque cada pessoa conclui aquele curso uma vez.
- Clique no + depois do gatilho e escolha Enviar e-mail. Dê o Nome do bloco Parabéns e escolha o e-mail. Em Editar e-mail, use Inserir variável › Gatilho · Cursos › Curso para colocar
{{course.name}}no assunto. - Ligue a saída "ok" a Fim: sucesso. Se quiser, ligue a saída "erro" a uma Mandar mensagem (DM) para você, com
{{steps.<bloco>.error}}no texto, e depois a Fim: erro. - Salvar e Simular com uma pessoa, com uma aluna que concluiu o curso: a simulação mostra o assunto com o nome do curso e Terminaria em sucesso. Num passo de e-mail, Enviar teste para mim manda o e-mail só para você. Simular e me enviar os e-mails manda para você o e-mail como a aluna o receberia.
- Ligar e confirme. Na lista, acompanhe Entraram, Terminaram e Sucesso.
Pelo assistente (MCP)
O proprietário e o administrador criam, editam, ligam, pausam e retomam workflows pelo assistente, inclusive a partir dos modelos; ligar e retomar mostram antes o gatilho, os e-mails e a estimativa. A equipe consulta, simula e acompanha o histórico. Também pelo assistente: run_workflow (executar agora), stop_workflow (parar, com a contagem das execuções canceladas antes da confirmação), get_workflow_summary (a taxa de sucesso e os últimos erros), list_workflow_variables e preview_workflow_text (as variáveis de um bloco e o texto preenchido), get_workflow_settings e update_workflow_settings (em nome de quem) e o endereço do webhook de entrada.
O assistente também aprende a automatizar: o guia de workflows (get_workflow_guide e a receita Automatizar uma regra com um workflow) explica gatilhos, blocos, regras e variáveis e traz receitas prontas; suggest_workflow transforma uma regra em palavras ("quem compra o curso ganha 7 dias de acesso à mentoria") num rascunho, sem salvar nada; e, depois de enviar uma campanha, emitir certificados ou convidar pessoas, o assistente sugere o workflow que automatiza isso. Pelo assistente ainda: as chaves do cofre (list_env, set_env, delete_env, sem nunca mostrar o valor), os blocos de ações da plataforma e Chamar workflow, e tirar execuções do histórico (delete_workflow_run, clear_workflow_runs, com confirmação). Ver as receitas e Ferramentas · Comunidade.
Para a IA e as ações novas: o guia traz o bloco ai (com os modelos e os limites do bloco) e 48 receitas, entre elas DM de boas-vindas escrita por IA, Triagem de chamados de suporte com IA, Resumo de resposta de formulário com IA, Certificado no check-in e 1:1 recorrente para quem entra num time. get_ai_limits e update_ai_limits leem e mudam os Limites de IA, adjust_member_points ajusta os pontos de alguém sem workflow, e simulate_workflow com send_emails_to_me manda os e-mails da simulação só para você. Nenhuma das quatro pede confirmação.
Para o SMS e o WhatsApp: o guia descreve os blocos sendSms e sendWhatsapp (o limite, a regra das 24 horas e os motivos de pulo e de espera, lidos de list_workflow_triggers), e as receitas passam a 56, com Boas-vindas por SMS, Inscrição no evento confirmada por SMS, Evento remarcado por SMS, Pagamento em atraso por SMS, 1:1 amanhã por SMS, Inscrição no evento confirmada por WhatsApp, Pagamento em atraso por WhatsApp e Vaga da lista de espera por WhatsApp. Ver Avisos por SMS e WhatsApp. No WhatsApp, o guia monta o bloco com o modelo, os campos e a página do botão, nunca com texto livre, e as receitas usam Ingresso confirmado, Pagamento recusado e Aviso da comunidade.
Para os campos de múltipla escolha e os badges, as receitas passam a 61: Boas-vindas pelo interesse e Tag pelo interesse (com contém qualquer de na condição Campo do perfil), Badge ao concluir um curso, Grupo para quem recebe um badge e Badge no check-in do evento.
Para os níveis: o guia descreve os gatilhos Subiu de nível, Desceu de nível e Atingiu N pontos e as regras levelAtLeast e pointsAtLeast, com três receitas novas: Subiu de nível, ganha um badge, Desceu de nível, sai de um grupo e Atingiu N pontos, ganha um badge. Os níveis em si ficam em get_ranking_levels e update_ranking_levels.
Na API
As rotas ficam em /api/workflows: gatilhos, lista, criar, editar, excluir, ligar, pausar, retomar, parar, estimativa, simulação, teste, execuções, histórico por membro, modelos e executar agora (POST /api/workflows/{id}/run). Ver a Referência da API. Também POST /api/workflows/{id}/stop, GET /api/workflows/{id}/summary, GET /api/workflows/{id}/variables e POST /api/workflows/variables (as variáveis de um desenho ainda não salvo), GET e PUT /api/workflows/settings (em nome de quem), occurs e variables em cada gatilho de GET /api/workflows/triggers, activeCount e maxActive na lista, e o tipo workflows em GET /api/logs. Um desenho recusado volta com 422 e o bloco: singleTriggerOnly, pathWithoutEnd, variableUnavailable, httpTimeoutInvalid, externalInSubject, actionAboveRole e subWorkflowAboveRole (ação acima do papel de quem salva), subWorkflowCycle. Executar agora ou o endereço de webhook de um workflow com ações acima do seu papel: 403 workflows.actionsAboveRole. Também DELETE /api/workflows/runs/{runId} e POST /api/workflows/{id}/runs/clear (apagar do histórico), os blocos http, platformAction e runWorkflow, o gatilho workflow.called, platformActions e subWorkflow em GET /api/workflows/triggers, e o cofre em /api/vault (o valor de uma chave nunca volta).
Os blocos de IA são o bloco ai (provider anthropic ou openai, model, keyEnv, system, prompt, outputFormat text ou json, jsonSchema, maxOutputTokens, timeoutSeconds, next e error), com os modelos e os limites do bloco em aiProviders e aiNode de GET /api/workflows/triggers; os tetos ficam em GET e PUT /api/vault/ai-limits (proprietário e administrador). As ações novas estão em platformActions (content.post.create, certificate.issue, recognition.give, chat.block, oneOnOne.schedule, developmentPlan.action.add), com o campo opcional ownerOnly, e POST /api/gamification/points ajusta pontos fora de um workflow. POST /api/workflows/{id}/simulate aceita sendEmailsToMe: true e devolve emailsToMe; passar de 10 simulações com envio por hora: 429; conta sem e-mail: 422.
Os blocos de SMS e WhatsApp são sendSms (text, até 300 caracteres, next e error) e sendWhatsapp (template, variables, até 300 caracteres cada, link, next e error; os modelos e os campos de cada um vêm em whatsappNode.templates), descritos em smsNode e whatsappNode de GET /api/workflows/triggers. Os motivos ficam no passo: pulado (smsNoPhone, smsPhoneUnverified, smsNoConsent, smsOptedOut, smsOptedOutAll, smsCategoryOff, smsCountryUnsupported, smsChannelDisabled, smsMemberGone, smsTextEmpty e os whatsapp* equivalentes, mais whatsappNotOnPlan, whatsappTemplateNotApproved e whatsappNoConsent), adiado (smsQuietHours, smsDailyCapReached, smsMonthlyQuotaReached, smsPersonDailyCapReached e os do WhatsApp) e erro (smsSendFailed, whatsappSendFailed). O contador de partes é POST /api/sms/segments.
As ações de badge são badge.award (com badgeId e reason, que aceita variáveis) e badge.revoke, em platformActions; os gatilhos são badge.awarded (filtros badgeId e sources) e badge.revoked, com a variável {{badge.name}}. Os gatilhos de nível e pontos são member.level_changed (filtros direction, up por padrão ou down, levelId e, na descida, causes: points e activity) e member.points_changed (filtro points, obrigatório: dispara quando from < N <= to); as regras são levelAtLeast (levelId) e pointsAtLeast (points), com not. Num campo de múltipla escolha, a regra fieldEquals aceita op containsAny, containsAll, notContains e contains, com values.