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
Abra o seletor de ferramentas digitando @ ou /
Selecione +Criar bloco de código
2. Escreva e teste seu código
O editor de blocos de código será aberto
Clique em Testar código para executar sua lógica, isso abre o painel de teste
Campos de entrada aparecem para quaisquer atributos que você tenha referenciado
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
Volte para o editor de procedimentos
Abra o seletor de ferramentas digitando @ ou /
Selecione Executar código — isso lista todos os blocos de código disponíveis
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.







