FlowsGuia

Passos prontos: e-mail, HTTP, Transformar, IA e Arquivos

Alguns passos são tão comuns que escrever um script para eles é desperdício: enviar um e-mail, chamar uma API, filtrar uma lista. O flow já traz esses passos prontos. Você configura cada um no painel lateral, liga os valores como as entradas de qualquer outro passo, e ele roda dentro do próprio worker — com acesso à rede e com credenciais que nunca passam pelo seu código.

O que você vai aprender
  • Enviar um template publicado do Email Studio para uma lista de destinatários
  • Chamar uma API com Requisição HTTP, com ou sem uma conexão API (HTTP)
  • Filtrar, ordenar, resumir ou combinar uma lista com Transformar
  • Classificar ou resumir texto com o passo de IA, recebendo campos com nome
  • Ler um arquivo CSV, Excel ou JSON em linhas, e gravar linhas num arquivo

Passos sem código

Abra o + entre dois passos (ou arraste da paleta). Além das linguagens de script e dos nós de controle, o menu traz Enviar e-mail e um grupo Apps e dados com Requisição HTTP e Transformar. Um passo pronto entra na hora; todo o resto — conexão, endereço, regras — é escolhido no painel lateral.

Passos prontos em sequência: uma Requisição HTTP busca os dados, Transformar remodela e um e-mail sai no fim.

Eles diferem de um passo de script em dois pontos importantes. Rodam no processo do worker, não no sandbox de scripts, então o passo HTTP alcança a internet enquanto seus scripts não alcançam. E pegam os segredos de uma conexão ou de uma variável secreta, que a execução registra como ••• — uma senha nunca fica no flow em texto aberto. O resto é igual: as entradas usam os quatro modos de vínculo (bindings), a saída alimenta os passos seguintes, e eles aceitam as configurações de execução (novas tentativas, tempo limite, pular, cache…).

Enviar e-mail

O passo Enviar e-mail envia um template do Email Studio por uma das conexões de e-mail do projeto.

  1. Escolha a conexão e o template

    Conexão vem como Conexão padrão, o remetente padrão do projeto. Em Template, escolha um; o passo sempre envia a versão publicada do template, e avisa quando ele tem mudanças não publicadas.

  2. Ligue os destinatários

    Destinatários recebe um endereço, vários separados por vírgula, ou uma lista de um passo anterior — por exemplo o email de cada linha dentro de um loop.

  3. Preencha os valores do template

    Valores do template lista cada valor que o template usa, cada um uma linha de vínculo. Uma lista ligada continua lista, então o template pode percorrê-la. Assunto é opcional: vazio usa o assunto do próprio template, e pode usar os valores dele, como {{name}}.

  4. Anexe arquivos e veja a prévia

    Adicionar anexo liga um arquivo produzido por um passo anterior — até 10 MB no total. Ver e-mail monta a mensagem como será enviada; valores que só existem na execução são indicados, não inventados.

Saída esperadaSucessoA saída do passo; a mensagem enviada também aparece no histórico do Email Studio
{
  "ok": true,
  "historyId": "7c1e…",
  "to": [
    "ana@example.com"
  ],
  "subject": "Your weekly report"
}

Requisição HTTP

Requisição HTTP chama qualquer API e entrega a resposta ao passo seguinte. Em Conexão, escolha uma conexão API (HTTP) ou deixe Sem conexão. Com conexão o endereço pode ser relativo — o painel mostra Relativo a https://api.example.com — e o login é acrescentado para você.

  • Requisição: o método (GET, POST, PUT, PATCH, DELETE ou HEAD) e o endereço. Query e Headers são linhas de nome/valor; cada valor é uma linha de vínculo.
  • Body: Nenhum, JSON, Formulário, Texto ou Arquivo (um arquivo de um passo anterior).
  • Resposta: Ler a resposta como Automático, JSON, Texto ou Arquivo; Falhar o passo quando a resposta for um erro (4xx/5xx) vem ligado.
  • Paginação: desligada, Próxima URL na resposta, Header Link ou Número da página, com Os itens estão em e No máximo esta quantidade de páginas. Os itens de todas as páginas viram uma única lista.

A saída é {status, headers, body}; com paginação, body é a lista unida e pages conta as páginas lidas. Um passo seguinte liga output.body.items, output.status e assim por diante.

Saída esperadaSucessoA saída de um passo Requisição HTTP
{
  "status": 200,
  "headers": {
    "content-type": "application/json"
  },
  "body": {
    "items": [
      {
        "sku": "A-1",
        "stock": 4
      }
    ]
  }
}

Importar um comando cURL

Importar cURL recebe um comando copiado da documentação de uma API ou da aba de rede do navegador e preenche o método, o endereço, a query, os headers e o body. Um token ou senha encontrado aparece em Segredos encontrados e é guardado como variável secreta do projeto (Guardar como define o nome), então nunca fica no flow em texto aberto. Digitar algo com cara de segredo num header mostra a mesma oferta: Guardar como variável.

Transformar

Transformar remodela uma lista sem código. Ligue Entrada a uma lista (o retorno de um script, o body de um HTTP, as linhas de um passo SQL) e escolha o que Fazer:

FazerO que você define
FiltrarManter os itens que atendem a todas / qualquer uma das condições: regras como é igual a, é pelo menos, contém, está vazio — ou Escrever uma expressão, em que item é cada elemento.
OrdenarOrdenar por um ou mais campos, A→Z ou Z→A. Valores vazios ficam por último.
LimitarManter os primeiros N, opcionalmente depois de pular M.
Remover duplicadosDuplicados por uma lista de campos; o primeiro é mantido.
Definir camposDefinir, renomear, remover ou manter só alguns campos de cada item.
ResumirAgrupar por um campo (ou nenhum) e calcular contagem, soma, média, menor, maior ou uma lista.
CombinarCombinar com uma segunda lista: só os que combinam, todos os itens desta lista, ou uma lista depois da outra.

Um campo que o item não tem conta como vazio, nunca como erro. Uma entrada que não é lista faz o passo falhar com transform_not_a_list. A aba Prévia roda o passo com a última entrada real, como uma execução fará, e mostra Manteve 2 de 3; antes da primeira execução você pode colar uma lista de exemplo.

Passo de IA

O Passo de IA faz uma pergunta a uma das conexões de IA do projeto e entrega a resposta. Escolha a Conexão de IA e um Modelo (Padrão da conexão usa o que a conexão roda), escreva as Instruções e ligue o Prompt — {{ nome }} no texto é preenchido com os outros vínculos do passo.

Resposta é Texto (saída {text, usage}) ou JSON com campos que você declara — nome, tipo, obrigatório. O passo confere a resposta: um campo obrigatório que falta ou um tipo errado faz o passo falhar com ai_answer_invalid. Os campos declarados podem ser ligados pelos passos seguintes antes da primeira execução, então uma condição já pode decidir por output.urgency.

Saída esperadaSucessoUm passo de IA com dois campos declarados
{
  "category": "billing",
  "urgency": "high",
  "usage": {
    "model": "gpt-4o-mini",
    "tokensIn": 212,
    "tokensOut": 14
  }
}

Arquivo

Arquivo transforma um arquivo em linhas, ou linhas num arquivo. Ler um arquivo liga um arquivo de um passo anterior (uma resposta HTTP lida como arquivo, um download do Google Drive) e lê CSV, Excel (XLSX) ou JSON — Automático pelo nome e pelo conteúdo. As opções de CSV definem o separador, a codificação (UTF-8 ou Latin-1) e se a primeira linha é o cabeçalho; um arquivo Excel lê a primeira aba, a menos que você escolha outra.

Saída esperadaSucessoLeitura: linhas, contagem, colunas (e as abas de um arquivo Excel)
{
  "rows": [
    {
      "order": 1041,
      "date": "2026-10-01",
      "total": 89.9
    }
  ],
  "count": 1,
  "columns": [
    "order",
    "date",
    "total"
  ],
  "sheets": [
    "Orders"
  ]
}

Gravar um arquivo liga Linhas a uma lista e grava CSV, XLSX ou JSON com o Nome do arquivo que você der. A saída é um arquivo com link de download, que um passo Enviar e-mail pode anexar e o Google Drive pode enviar.

Testando um passo

Requisição HTTP, IA, Arquivo, Google Sheets e Google Drive têm uma aba Rodar teste. Na Requisição HTTP, ela roda a requisição agora, sozinha, com as constantes e os Valores para este teste que você digita (ou os valores da última execução), e mostra a Resposta. O caminho é o mesmo do worker numa execução real, então o que você vê é o que o flow vai receber.

Limites e códigos de erro

  • Uma resposta com status 400 ou mais faz o passo falhar com http_status_error (status e o começo do body registrados), a menos que a opção esteja desligada; o Retry-After de um 429 é respeitado pela nova tentativa do passo.
  • Uma requisição tem 60 segundos por padrão (o tempo limite do passo substitui esse valor), segue no máximo 5 redirecionamentos e lê no máximo 50 MB (http_response_too_large). Uma falha de rede é http_request_failed.
  • Endereços privados e internos são recusados em cada salto (host_not_allowed); uma resposta acima de 5 MB fica guardada como arquivo que o passo seguinte pode ler. A paginação lê no máximo 100 páginas.
  • Um passo de e-mail cujo template nunca foi publicado falha com template_not_published; os anexos têm limite de 10 MB no total.
  • Um passo Arquivo lê no máximo 50 MB (file_too_large); um arquivo que não dá para ler no formato escolhido falha com file_parse_failed, e um nome de aba que não está na pasta de trabalho com file_sheet_not_found. Uma falha do provedor de IA é ai_step_failed.
  • Uma configuração que não dá para usar (endereço vazio, endereço relativo sem conexão) falha com invalid_node_config, indicando o passo e o campo.