Tayon Help

Faça contas, formate valores e leia JSON em um fluxo

As fórmulas FLOW para contas, formatação de números e datas e textos, todos os formatos que elas aceitam, e as duas formas de tirar um valor de uma resposta em JSON.

As fórmulas deixam um fluxo calcular coisas na hora. Uma tela de orçamento pode multiplicar um preço mensal por doze, mostrar um número do jeito que o seu país escreve ou mostrar uma data de um agendamento. Escreva-as direto em qualquer texto que aceite variáveis.

As variáveis são preenchidas primeiro e as fórmulas são calculadas por último, então uma fórmula pode usar qualquer variável. Quando uma fórmula está dentro de outra, a de dentro vem primeiro:

Seu total anual é R$ FLOW.FORMATNUMBER(FLOW.CALCULATE($MONTHLY * 12, 2), DECIMALNOUS)

#FLOW.CALCULATE

FLOW.CALCULATE(expressão, casas decimais) faz uma conta.

Entrada Resultado
FLOW.CALCULATE(19.90 * 3, 2) 59.70
FLOW.CALCULATE($PRICE * $QTY + 15, 2) O preço vezes a quantidade, mais 15
FLOW.CALCULATE(10 / 4) 2
FLOW.CALCULATE(10 / 4, 0) 3
  • Ela entende +, -, * e /. Multiplicação e divisão vêm antes de soma e subtração.
  • Os decimais são escritos com ponto, como 19.90.
  • Sem parênteses e sem números negativos. Qualquer outra coisa, inclusive uma letra perdida, dá 0.
  • Casas decimais arredonda o resultado. Sem esse valor, as casas decimais são cortadas, então 2.5 vira 2.

#FLOW.FORMATNUMBER

FLOW.FORMATNUMBER(número, formato) escreve um número do jeito que os seus leitores esperam. Para 1234.567:

Formato Resultado
DECIMALUS 1,234.57
DECIMALNOUS 1.234,57
DECIMALUSNOTHOUSANDS 1234.57
DECIMALNOUSNOTHOUSANDS 1234,57
NUMBERUS 1,235
NUMBERNOUS 1.235
INTEGER 1235
  • Sem formato, ou com um formato que não está na lista, você recebe DECIMALUS.
  • Não existe formato de moeda. Digite o símbolo você mesmo: R$ FLOW.FORMATNUMBER($TOTAL, DECIMALNOUS).
  • O Tayon lê o primeiro número do valor e ignora os outros caracteres. Um valor sem nenhum número dá 0.

#FLOW.FORMATDATE

FLOW.FORMATDATE(data, formato, us) reescreve uma data e hora.

A entrada precisa ser uma data seguida de uma hora, como 25/12/2026 15:30 ou 12/25/2026 3:30pm.

  • A data pode usar / ou -. Sem o ano, vale o ano atual.
  • A hora pode ser 15, 15:30, 3pm ou 3:30pm. A hora é obrigatória. Uma data sozinha não é entendida.
  • us diz como ler a data: TRUE (o padrão) para mês primeiro, FALSE para dia primeiro. Para datas no formato brasileiro, use FALSE.
  • Datas escritas com o ano primeiro, como 2026-12-25, não são entendidas.

Para FLOW.FORMATDATE(12/25/2026 3:30pm, formato):

Formato Resultado
TIMESTAMP (o padrão) 2026-12-25T15:30:00
SQLDATETIME 2026-12-25 15:30:00
SQLDATE 2026-12-25
SQLTIME 15:30:00
DATEUS 12/25/2026
DATENOUS 25/12/2026
DAY / MONTH / YEAR 25 / 12 / 2026
HOUR / MINUTE 15 / 30

Uma entrada com o dia primeiro precisa do terceiro valor: FLOW.FORMATDATE(25/12/2026 15:30, DATENOUS, FALSE) dá 25/12/2026.

Quando a entrada não pode ser lida, a fórmula mostra Invalid date format seguido da entrada. Um formato escrito errado mostra Invalid output format.

#FLOW.SUBSTRING e FLOW.REPLACE

Fórmula O que faz Exemplo
FLOW.SUBSTRING(texto, início, fim) Pega parte de um texto. A contagem começa em 0, e o caractere na posição fim não entra. Sem fim, vai até o final. FLOW.SUBSTRING(ABCDEF, 0, 3) dá ABC
FLOW.REPLACE(texto, procurar, substituir) Troca cada procurar por substituir. FLOW.REPLACE($PHONE, -, .) transforma 555-0100 em 555.0100

FLOW.REPLACE precisa dos três valores. Ela não consegue trocar um texto por nada.

#Ler um valor de uma resposta em JSON

Quando uma Chamada API/Webhook com Tipo de Retorno em Resposta JSON guarda a resposta sob um identificador, você pode mostrar valores isolados dela. Imagine que a resposta guardada como CUSTOMER seja:

{"name": "Maya", "address": {"city": "Lisboa"}, "orders": [{"id": "A1"}, {"id": "B2"}]}

Há duas formas de chegar lá dentro.

#Colchetes depois do identificador

Coloque o caminho em um único par de colchetes, com : entre os passos.

Você escreve Você recebe
$CUSTOMER[name] Maya
$CUSTOMER[address:city] Lisboa
$CUSTOMER[orders:0:id] A1. As posições em uma lista começam em 0.

Quando a resposta inteira é uma lista, acrescente a posição depois do caminho, contando a partir de 1: $RESULTS[name][2] é o nome do segundo item. A posição pode ser uma variável: $RESULTS[name][$CHOICE].

#A fórmula JSON()

JSON() coloca cada passo nos seus próprios colchetes, e as posições começam em 0.

Você escreve Você recebe
JSON($CUSTOMER[address][city]) Lisboa
JSON($CUSTOMER[orders][1][id]) B2

JSON() também funciona no lado esquerdo de uma condição de divisão, como em JSON($CUSTOMER[address][city]) = Lisboa.

#Quando o valor não aparece

  • Os nomes precisam conferir exatamente, inclusive maiúsculas: [City] não encontra city.
  • Um caminho que não leva a lugar nenhum não mostra nada na forma com colchetes, e mostra null em JSON().
  • As duas formas só funcionam quando a resposta guardada é um objeto JSON, ou uma lista de objetos.
  • Use uma forma por campo. Quando um texto contém JSON(, a forma com colchetes no mesmo texto não é preenchida.

Atualizado: