Skip to content

Lógica

Blocos de Lógica controlam o fluxo — definem variáveis, ramificam, esperam, pulam, etc.

📝
Set variable
Set variable
Lógica

O 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
  • 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 {{}}
🔀
Condição
Condition
Lógica

O 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 operatorAND ou OR entre 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
🔗
Redirecionar
Redirect
Lógica

O 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
💻
Código
Code
Lógica

O 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 contexto
  • variables — get/set de variáveis customizadas
  • fetch() — chamadas HTTP (server-side)

Gotchas:

  • Server-side roda em Node.js (sem DOM)
  • Client-side tem CORS
  • Erro de sintaxe quebra o fluxo
⏸️
Wait
Wait
Lógica

O 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.

↪️
Jump
Jump
Lógica

O 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 Test
AB test
Lógica

O 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.
📅
Schedule
Schedule
Lógica

O que faz: Adia ou agenda execução. Modos: delay, timeout, reentry.

Configurações:

  • Seconds to wait for — duração
  • Schedule type:
    • delay — adiar
    • timeout — abandonar se passar do tempo
    • reentry — salvar estado e reentrar depois
🔁
Cosmoflow Link
Cosmoflow link
Lógica

O 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

Próximos passos

Cosmobots — plataforma de atendimento conversacional