Skip to main content
Contrato do JSON salvo no painel. Qualquer valor fora desta página é rejeitado ou não executa. Para combinar etapas, escrever mensagens e editar um fluxo existente, use Criar e editar e Templates. O trigger fica em trigger_event (não é um step). O template fica em action.data (não é um step).

Tipos de step

Máximo 50 steps. id é opcional; o painel preenche se faltar.

nextId e parentId

  • O tronco não usa parentId.
  • Steps condition não usam parentId.
  • Nunca aponte parentId para o step anterior.
Dois formatos aceitos:
  1. Flat (painel): branches com id e steps irmãos com o mesmo parentId.
  2. Aninhado: if_true / if_false ou branches[].steps.

Actions (type: "action")

Hooks opcionais: onNext (depois de enviar), onResponse (resposta no WhatsApp), onOpen e onClickLink (e-mail). São listas de steps extras, disparadas pelo evento correspondente — não pelo fluxo linear.

send_email (obrigatório)

  • remetente_nome (ou content.remetente_nome)
  • remetente_email (e-mail válido; ou content.remetente_email)
  • subject (mínimo 3 caracteres)
  • html ou body

send_sms

  • message obrigatória, ≤ 160 caracteres no texto salvo.

send_whatsapp

data.type (padrão text): whatsapp | text | audio | video | document | link | button-actions | button-list | button-otp | pix-button | request-payment. Áudio, vídeo ou documento podem ser enviados como texto se a mídia não puder ser entregue.

webhook

  • url HTTPS pública obrigatória. A automação faz POST JSON com o contexto do evento (loja, pedido, cliente). Não use localhost.

create_coupon

  • coupon_name obrigatório
  • discountType: CURRENCY ou PERCENT
  • amount obrigatório
  • coupon_code opcional (gerado se omitido)
Sem telefone (SMS/WhatsApp) ou sem e-mail (e-mail), a execução falha. Sem créditos da loja, a mensagem fica bloqueada e não sai.

Conditions

Operators

Não use equals, contains nem starts_with. Inválido:
Válido:
Composto: operator AND | OR e conditions[] (mínimo 1). Branches:
A primeira branch verdadeira vence.

Campos de condition

Conditions não usam o catálogo completo de metatags. Só estes campos: Valores de payment_status: paid, pending, cancelled, unknown. Pedido em processamento conta como pending. = / != / in / not-in ignoram maiúsculas.

Valor ausente

Não há comparação de datas especial. Números inválidos fazem a comparação numérica falhar. No formato aninhado, uma condition simples falsa interrompe a lista interna — não cai automaticamente em if_false. No tronco, if_true / if_false seguem o ramo correspondente. Não misture os dois formatos esperando o mesmo efeito.

Delay

O passo espera o número de minutos indicado e segue. A espera é assíncrona.

Step retry vs nova tentativa da plataforma

O step retry é do fluxo: tenta de novo os passos filhos. Falhas de envio (provedor fora, limite temporário) podem ser retentadas pela plataforma por conta própria — ver Execução.