Lógica
Blocos de Lógica controlam o fluxo — definem variáveis, ramificam, esperam, pulam, etc.
Set variableO que faz: Atribui ou modifica uma variável.
Configurações:
- Variable ID — qual variável setar
- Type — modo:
- Custom expression — expressão JS (
preco * quantidade) - Today, Now, Yesterday, Tomorrow — atalhos de data
- Random ID — UUID novo
- Phone number, Contact name — dados do cliente
- Empty — limpa
- Append value(s) — adiciona em lista
- Map item with same index — cruza listas
- Custom expression — expressão JS (
- Is code — tratar como JS (acesso a
contact,conversation, etc.) - Is executed on client — rodar no browser ao invés do servidor
Gotchas:
- Em modo
Custom expression, use{{var}}pra referenciar variáveis no string - Em modo
Is code, é JS puro — sem{{}}
ConditionO que faz: Ramifica o fluxo baseado em condições. Cada item (branch) é uma combinação de comparações com AND/OR.
Configurações por branch:
- Logical operator —
ANDouORentre as comparações - Comparisons — lista de:
- Variable ID
- Operador:
Equal,Not equal,Contains,Starts with,Ends with,Greater than,Less than,Is set,Is empty,Matches regex... - Value (string ou variável)
Visual no canvas: o bloco tem múltiplas saídas — uma por branch + uma "default" se nenhuma case.
Gotchas:
- AND/OR funcionam dentro do branch, não entre branches
- Branches são avaliadas na ordem — primeiro match vence
RedirectO que faz: Manda o cliente pra uma URL externa. Termina o fluxo (a menos que você abra em nova aba).
Configurações:
- URL — destino
- Is new tab — abrir em aba nova ao invés de redirecionar
Gotchas:
- Em WhatsApp/Telegram não redireciona — só envia o link
- Em Web Widget redireciona o navegador todo
CodeO que faz: Roda JavaScript arbitrário. Pode ler/escrever variáveis, chamar APIs.
Configurações:
- Name — label do bloco
- Content — código JS
- Is executed on client — rodar no browser (CORS aplica)
- Should execute in parent context — acessar variáveis do fluxo pai
API disponível:
contact,conversation,inbox— objetos do contextovariables— get/set de variáveis customizadasfetch()— chamadas HTTP (server-side)
Gotchas:
- Server-side roda em Node.js (sem DOM)
- Client-side tem CORS
- Erro de sintaxe quebra o fluxo
WaitO que faz: Pausa o fluxo por X segundos antes de continuar.
Configurações:
- Seconds to wait for — duração (pode ser variável)
- Should pause — pausar de fato vs só atrasar
Use cases: simular "digitação", esperar resposta de um sistema externo, dar tempo pro cliente ler.
JumpO que faz: Pula incondicionalmente pra outro bloco do fluxo.
Configurações:
- Group ID — qual grupo
- Block ID — qual bloco específico
Gotchas:
- Pode criar loops infinitos — cuidado
- Pular pra trás re-executa blocos
AB testO que faz: Divide aleatoriamente entre dois caminhos com porcentagem configurável.
Configurações:
- A percent — % que vai pro caminho A (ex: 50)
Gotchas:
- Aleatório por usuário, não consistente entre visitas — se quiser persistir, salve numa variável.
ScheduleO que faz: Adia ou agenda execução. Modos: delay, timeout, reentry.
Configurações:
- Seconds to wait for — duração
- Schedule type:
delay— adiartimeout— abandonar se passar do temporeentry— salvar estado e reentrar depois
Cosmoflow linkO que faz: Chama um sub-fluxo. Veja Conectar fluxos para a explicação completa.
Configurações:
- Cosmoflow ID — qual sub-fluxo
- Group ID (opcional) — entrar num bloco específico
- Merge results — variáveis do sub voltam pro pai