Flow Builder
Quando o comportamento que você quer não cabe em prompt + KB, você desenha um flow — um fluxograma visual onde cada nó é uma ação ou decisão.
Quando usar Flow Builder
Fluxos sequenciais com vários passos — ex.: agendar visita técnica (perguntar endereço → confirmar → buscar slots → confirmar slot)
Decisões baseadas em dados — ex.: se cliente está atrasado, oferecer parcelamento
Side effects complexos — ex.: abrir chamado E enviar e-mail E criar evento no calendário
A/B test de fluxos — comparar duas versões
Não use pra coisas simples — vá de prompt + KB primeiro.
A tela /ia/flows
Lista de flows do tenant com:
- Nome
- Status (
draft,published,archived) - Última edição
- Ações: Editar, Duplicar, Compare, Rollback, Excluir
Wizard de criação (2 passos)
Passo 1 — Identidade.
- Nome do flow
- Descrição
- Tipo (atendimento, outbound, agendamento, etc.)
Passo 2 — Template ou em branco.
- Em branco
- Template (vários prontos: agendar visita, segunda via, escalonar, NPS, etc.)
Após criar → vai pro canvas.
Anatomia do canvas
┌────────────────────────────────────────────────────┐
│ TOPBAR (publish, version, compare, test) │
├────────────────────────────────────────────────────┤
│ ┌──────┐ │
│ │ │ │
│ │ PAL- │ │
│ │ ETTE │ CANVAS │
│ │ │ (drag-drop) │
│ │ │ │
│ └──────┘ │
├────────────────────────────────────────────────────┤
│ INSPECTOR (config do node selecionado) │
└────────────────────────────────────────────────────┘Topbar
- Nome do flow + status (draft / published)
- Save (auto)
- Test (panel lateral pra rodar inputs)
- Compare (diff side-by-side com versão publicada)
- Publish (promove draft → produção)
- Rollback (volta pra versão anterior)
Palette
21 kinds de nodes, organizados em 8 categorias:
| Categoria | Nodes |
|---|---|
| Fluxo | Start, End, Branch, Switch, Subflow |
| Conversa | Pergunta, Resposta, Confirmação |
| Voz | Discar, Transferir, DTMF |
| Inteligência | LLM, Classify, Extract |
| Cliente | Buscar assinante, Atualizar dado |
| Ações | Webhook, HTTP Tool, MCP |
| Dados | Set variable, Calc |
| Outros | Wait, Log, Notify |
Cada node tem flags:
isAdvanced— só aparece em modo avançadoisVoiceOnly— só em flows de voz
Inspector
Quando você clica num node, o inspector abre com:
- Config específica do tipo (texto, condição, URL, etc.)
- Input/output schema (variáveis que ele lê/grava)
- Validação inline
Versionamento
| Estado | Significa |
|---|---|
draft | Versão em edição (você está mexendo) |
published | Versão em produção atendendo clientes |
archived | Versões anteriores, preservadas |
Workflow
- Editor sempre opera na draft
- Publish promove draft → published, arquiva a anterior
- Rollback cria nova draft com o conteúdo de uma archived
Compare
Diff side-by-side entre 2 versões (ex.: draft vs published) mostrando:
- Nodes adicionados (verde)
- Nodes removidos (vermelho)
- Nodes alterados (âmbar)
- Conexões mudadas
Test panel
À direita do canvas você abre o Test Panel:
- Define inputs (variáveis simulando cliente)
- Run — flow executa em sandbox
- Vê o caminho percorrido (highlighted no canvas)
- Inspeciona variáveis em cada step
Útil pra validar antes de publicar.
Subflows (re-uso)
Subflow é um flow embutido em outro. Permite reutilizar lógica:
Flow: Atendimento principal
├── Subflow: Identificar cliente
├── Subflow: Verificar status
└── Subflow: Resolver problemaEdita uma vez, reflete em todos os lugares.
Boas práticas
Começa simples — flow de 5 nodes é melhor que de 50
Test antes de publish — sempre
Use Subflows pra blocos repetidos
Documenta com nodes de Log explicativos
Compara antes de rollback — entende o que vai mudar
Não publique sem testar
Não crie flows redundantes — antes, refaz a KB
Limites
- Nodes por flow: até 200
- Profundidade de subflow: até 5 níveis
- Webhooks externos: timeout 30s