Visão geral
Uma automação no Vistum é um fluxo construído visualmente no editor (Automações). Todo fluxo começa por um gatilho (entrada) e segue por uma sequência de nós que enviam mensagens, ramificam o caminho, esperam, executam ações ou chamam serviços externos. Esta página é a referência técnica de cada gatilho e nó, das variáveis disponíveis e dos limites e proteções aplicados em cada execução.A ação Enviar Webhook (
webhook_out) tem documentação dedicada — payload padrão, variáveis, proteção SSRF e timeout. Veja Enviar webhook por automação.Gatilhos (entrada do fluxo)
O gatilho define quando a automação entra em execução para um contato. Todo fluxo tem exatamente um gatilho.Gatilho de Webhook recebido
O gatilho Webhook recebido expõe uma URL de entrada com token único por automação. Sistemas externos chamam essa URL para iniciar o fluxo, e os dados enviados ficam acessíveis como variáveiswebhook.<campo> (veja Variáveis).
Nós do fluxo
Mensagem
Envia uma mensagem de texto via WhatsApp para o contato. Suporta variáveis no corpo (ex.:{{name}}, {{phone}}), substituídas pelos valores do contexto no momento do disparo.
Condição
Bifurca o fluxo em dois caminhos (sim / não) com base em um único critério:Campo personalizado não está disponível na Condição. Se você precisa ramificar por um campo personalizado do contato (
cf:<id>), use o nó Dividir / Switch com o assunto “Campo do contato” — ele é o único que aceita campos personalizados, além dos mesmos fixos (name, email, phone, notes).Aguardar
Pausa o fluxo por uma duração configurada em minutos, horas ou dias. Quando o tempo expira, a execução continua para o próximo nó.Ação
Executa uma ação sobre o contato, a conversa ou o pipeline:Template Meta
Envia um template oficial do WhatsApp Business (aprovado pela Meta). É o nó usado para alcançar o contato fora da janela de 24h, em que mensagens de texto livre não são permitidas pela política do WhatsApp.Vistum IA
Gera uma resposta com IA (GPT-4o) a partir do prompt configurado no nó. O nó consome créditos de IA do workspace por execução — bloqueado antes mesmo de chamar a IA em planos sem IA habilitada ou sem créditos. A saída fica disponível na variável de saída ({{aiResult}} por padrão) para os nós seguintes do fluxo.
O modelo não é selecionável na interface hoje — todo nó de IA novo usa o modelo padrão configurado no builder, sem opção de troca por automação.
Operação
Executa uma operação de dados no CRM:HTTP
Chama uma API externa (GET ou POST). O nó expõe uma variável de saída (outputVar) com o resultado da resposta, que pode ser referenciada nos nós seguintes (ex.: ler um campo retornado pela API para usar em uma condição ou mensagem). Campos escalares do JSON de resposta também ficam disponíveis individualmente como <outputVar>_<campo>.
O nó HTTP tem timeout de 5 segundos e lê no máximo 2000 bytes da resposta. Para o nó HTTP e a ação Enviar Webhook, todas as chamadas de saída passam por proteção SSRF: o host é resolvido por DNS e endereços de redes privadas/internas são bloqueados. O timeout da ação Enviar Webhook é de 10 segundos, sem retry.
Dividir / Switch
Roteia o fluxo em múltiplas saídas (mais de duas), com base em um assunto configurável: tag, variável do fluxo, resposta capturada (nó Perguntar), etapa do pipeline, origem do contato ou campo do contato — este último aceita tanto os campos fixos (name, email, phone, notes) quanto um campo personalizado via cf:<id>. Toda saída sem correspondência cai no ramo default.
Divisão aleatória / A-B
Distribui a execução entre variantes ponderadas (A/B/C), de forma determinística por execução — o mesmo contato sempre cai na mesma variante dentro de uma execução já em andamento.Perguntar
Envia uma pergunta ao contato e pausa o fluxo aguardando a resposta (por texto ou botão), com timeout configurável. Se o contato não responder a tempo, o fluxo segue pelo ramo timeout.Variáveis
As variáveis seguem o padrão{{...}} e são substituídas pelos valores do contexto no momento da execução. Não há notação com ponto ({{contact.name}} não funciona — fica literal na saída): use sempre a chave plana.
Dados do contato (chaves planas)
Dados de um gatilho “Webhook recebido”
Todo campo escalar (string, número ou booleano) do corpo recebido vira uma variável com o prefixowebhook.:
{{webhook.<nomeDoCampo>}} automaticamente (não só os campos citados acima).
Dados do gatilho “Contato atualizado”
Saída de nós (HTTP / IA)
Resultados produzidos por nós anteriores do fluxo, acessados pela variável de saída definida em cada nó:{{<outputVar>}}— corpo bruto da resposta de um nó HTTP (truncado em 2000 caracteres){{<outputVar>_<campo>}}— campos escalares individuais do JSON de resposta de um nó HTTP{{aiResult}}(ou o nome definido no nó) — texto gerado por um nó Vistum IA
Limites e proteções
Cada automação aplica proteções para evitar loops, disparos duplicados e abuso:Logs e histórico
Cada execução gera um registro em AutomationLog, com status:
Os registros podem ser consultados e filtrados na rota /historico.