Passar para o conteúdo principal

Ferramenta de bloco de código em procedimentos

Como usar blocos de código em Fin Procedures para executar lógica determinística e repetível, incluindo quando usá-los, como configurá-los e bibliotecas Python disponíveis.

Blocos de código permitem executar lógica Python diretamente dentro de um Fin Procedure, oferecendo resultados consistentes e exatos para tarefas onde um LLM pode ser imprevisível.

Quando usar blocos de código

Use blocos de código para lógica determinística e repetível — especialmente onde Fin pode ser inconsistente:

  • Cálculos de data e hora — dias úteis, conversões de fuso horário, verificações de prazo

  • Operações matemáticas — valores de reembolso, percentuais, conversões de moeda

  • Manipulação de strings — formatação de IDs, extração de substrings, correspondência regex

  • Transformação de dados — reformatação de respostas de conectores, filtragem ou mapeamento de listas

  • Lógica condicional complexa — verificações de elegibilidade com múltiplos critérios

Dica: Use blocos de código quando a saída deve ser exata e repetível — não quando se beneficia de interpretação.

Quando não usar blocos de código

Evite blocos de código para tarefas que Fin lida bem naturalmente, como:

  • Interpretar a intenção do usuário

  • Gerar respostas conversacionais


Como usar blocos de código

1. Crie um bloco de código

  1. Abra o seletor de ferramentas digitando @ ou /

  2. Selecione +Criar bloco de código

2. Escreva e teste seu código

  1. O editor de blocos de código será aberto

  2. Clique em Testar código para executar sua lógica, isso abre o painel de teste

  3. Campos de entrada aparecem para quaisquer atributos que você tenha referenciado

  4. Execute testes e veja resultados em formato JSON ou lista

3. Entenda os atributos

Atributos são criados a partir da resposta retornada. Por exemplo, o código a seguir:

return {
  "result": {
    "nested_result": "This is nested"
  },
  "date": "05-04-2025"
}

Cria os seguintes atributos:

  • Um atributo raiz (a resposta completa)

  • Atributos aninhados: result, result.nested_result e date

Nota: O atributo raiz é sempre criado e sempre conterá a resposta completa retornada, não precisa ser JSON.

4. Use o bloco de código em um procedimento

  1. Volte para o editor de procedimentos

  2. Abra o seletor de ferramentas digitando @ ou /

  3. Selecione Executar código — isso lista todos os blocos de código disponíveis

  4. Escolha seu bloco de código

Uma vez selecionado, você pode usar os atributos ao longo do procedimento e continuar normalmente.


Bibliotecas disponíveis

Estes módulos da biblioteca padrão Python são permitidos e pré-importados. Você pode usá-los diretamente sem uma declaração de importação, embora adicionar imports seja recomendado para clareza.

Módulo

Uso para

Exemplo

math

Funções matemáticas

math.floor(3.7), math.ceil(2.1)

decimal

Aritmética decimal precisa

Decimal("19.99") * Decimal("0.15")

re

Expressões regulares

re.match(r"\d{4}", order_id)

datetime

Datas, horas, durações

datetime.date.today(), timedelta(days=5)

json

Codificação/decodificação JSON

json.loads(raw_string)

random

Geração de números aleatórios

random.randint(1, 100)

zoneinfo

Manipulação de fuso horário

ZoneInfo("America/New_York")

time

Funções relacionadas ao tempo

time.time()

Nota: Apenas importações de nível superior são permitidas. Evite importações de submódulos — por exemplo, from json import loads não é suportado.

Respondeu à sua pergunta?