> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Final

> Encerra uma rota do workflow com uma saída declarada para que o workflow que o invoca continue por ela

O nó **Final** encerra uma rota do workflow e a associa a uma **saída** (output) que você declara. Quando outro workflow invoca este com o nó [Workflow](/pt/guias/nodos/workflow), essa saída vira uma rota conectável no workflow pai: assim o pai sabe como o filho terminou e continua pela ramificação correspondente.

<Note>
  Um workflow não precisa de nós Final para funcionar. Se você não declarar saídas, o workflow termina como sempre e o nó Workflow que o invoca continua se comportando como um salto simples.
</Note>

## O que é uma saída

Uma saída é o contrato de término do workflow. Cada saída tem:

| Campo                | Para que serve                                                        |
| -------------------- | --------------------------------------------------------------------- |
| **Nome**             | O identificador técnico da saída (por exemplo, `pagamento_aprovado`). |
| **Nome de exibição** | O texto mostrado no nó Final e no nó Workflow do pai.                 |
| **Descrição**        | Explica quando essa saída é tomada. Aparece no painel do nó Final.    |
| **Tipo**             | **Sucesso**, **Erro** ou **Neutro**. Define a cor da rota e do nó.    |
| **Esquema**          | As variáveis que o workflow devolve ao pai por essa saída.            |

### Tipos de saída

<CardGroup cols={3}>
  <Card title="Sucesso" icon="circle-check">
    A rota terminou como você esperava.
  </Card>

  <Card title="Erro" icon="circle-xmark">
    A rota terminou em uma falha controlada.
  </Card>

  <Card title="Neutro" icon="circle-minus">
    A rota terminou em um desfecho que não é nem sucesso nem erro.
  </Card>
</CardGroup>

## Criar uma saída

<Steps>
  <Step title="Abra o gerenciador de saídas">
    No canvas do workflow, abra o menu da barra superior e escolha **Gerenciador de saídas**. Você também pode fazer isso pelo próprio nó Final: se o workflow ainda não tem saídas, o painel dele mostra o botão **Criar output**.

    Você precisa de permissão de escrita no canvas para vê-lo.
  </Step>

  <Step title="Preencha os dados gerais">
    Escreva o nome, o nome de exibição e a descrição, e escolha o tipo de saída (**Sucesso**, **Erro** ou **Neutro**).
  </Step>

  <Step title="Defina o esquema">
    Adicione um campo por dado que o workflow devolve: a **variável** é a chave que o pai vai ler, e o **nome** é o rótulo dela. Você também pode colar um JSON de exemplo e gerar o esquema a partir dele.
  </Step>

  <Step title="Salve">
    A saída fica disponível para todos os nós Final do workflow e aparece imediatamente nos nós Workflow que o referenciam.
  </Step>
</Steps>

## Usar o nó Final no canvas

<Steps>
  <Step title="Arraste o nó">
    No painel de nós, abra o grupo **Final** e arraste o nó para o canvas.
  </Step>

  <Step title="Escolha a saída">
    Clique no nó para abrir o painel e selecione uma das saídas declaradas. O nó assume a cor e o título do tipo dessa saída — **Sucesso**, **Erro** ou **Neutro** — e mostra o nome de exibição dela. Enquanto você não escolher nenhuma, ele aparece como **Final**.
  </Step>

  <Step title="Conecte a rota">
    Conecte ao nó Final cada ramificação que deva terminar com essa saída. Vários nós Final podem apontar para a mesma saída.
  </Step>
</Steps>

O nó Final também inclui configuração de **Data Loss Prevention (DLP)** para mascarar informações sensíveis nos logs que ele gera.

## Consumir as saídas no workflow pai

Quando um workflow declara saídas, o nó [Workflow](/pt/guias/nodos/workflow) que o referencia as desenha como pontos de conexão, um por saída:

* **Conecte cada saída** à ramificação correspondente no workflow pai.
* **As variáveis do esquema** ficam disponíveis no seletor de variáveis do pai como `$memory.response.<variável>`. Por exemplo, um esquema com a variável `total` é lido como `{{$memory.response.total}}`.

<Tip>
  Declare uma saída para cada desfecho que o workflow pai precisa distinguir. Se o pai só precisa saber que o filho terminou, uma única saída neutra já basta.
</Tip>

## Excluir uma saída

Antes de excluir, a plataforma verifica se algum workflow do projeto tem essa saída conectada no nó Workflow dele:

* **Se algum usar, a exclusão é bloqueada.** O erro informa quais workflows a têm conectada: desconecte a rota em cada um e tente de novo.
* **Se nenhum usar**, a saída é excluída junto com os nós Final que a tinham selecionada e as rotas que chegavam a eles.

<Note>
  A validação olha a conexão, não a referência: um nó Workflow que aponta para este workflow mas não tem essa saída conectada não bloqueia a exclusão.
</Note>

Se a exclusão falhar, os nós Final são mantidos e o workflow fica como estava.

## Testar o workflow no Tester

Quando o nó Workflow tem saídas conectadas, o workflow filho é executado **dentro** da execução do pai: o pai espera que ele termine e continua pela saída que o filho tomou. No [Tester](/pt/guias/primeiros-passos/tester) isso aparece de duas formas:

* Suas respostas são enviadas ao workflow filho enquanto ele estiver em andamento.
* O nó não mostra o botão **"Ir para o workflow"** nem o separador de início de execução, porque não se trata de uma execução à parte para visitar.

Um nó Workflow sem saídas conectadas se comporta como sempre: redireciona o fluxo e o Tester continua mostrando o botão para abrir o workflow de destino.
