Uma conexão liga um block ao próximo e define a ordem em que eles executam. Como os blocks passam dados cobre o conceito: quando um block executa, sua saída fica guardada com o nome do block, e qualquer block posterior a lê por referência. Esta página é a referência da sintaxe de tags de conexão e dos formatos de saída que você vai acessar.
Sintaxe das tags
Uma tag de conexão referencia um valor da saída de um block anterior:
<blockName.path.to.data>blockNameé o nome do block de origem. Os nomes de blocks são normalizados antes da comparação: ficam em minúsculas e os espaços são removidos.<My Agent.content>e<myagent.content>resolvem para o mesmo block.path.to.dataé o caminho até o valor dentro da saída desse block. O caminho do campo diferencia maiúsculas de minúsculas.
A mesma sintaxe de sinais de maior e menor também lê variáveis do workflow (<variable.name>) e o contexto de loop ou parallel (<loop.index>); uma tag de conexão é especificamente o caso de saída de block.
Você raramente digita uma tag à mão. Em qualquer campo de entrada, digite < para abrir um dropdown com os valores disponíveis de blocks anteriores e escolha um, ou arraste um valor de um block conectado direto para o campo.
Campos aninhados e arrays
Encadeie a notação de ponto para entrar em objetos e use índices entre colchetes para arrays. Os dois se combinam em um único caminho:
<agent1.tokens.total>
<api1.data.results[0].id>
<api2.data.users[0].name>O resolvedor percorre o caminho em tempo de execução e substitui o valor. Vários níveis de indexação, como items[0][1], também funcionam.
Usando tags em texto e em código
As tags são resolvidas em tempo de execução e podem ficar em qualquer lugar de um campo, misturadas com texto estático:
// In text
"The user's name is <userBlock.name>"
// In JSON
{
"userName": "<userBlock.name>",
"orderTotal": <apiBlock.data.total>
}
// In a Function block
const greeting = `Hello, ${"<userBlock.name>"}!`
const total = <apiBlock.data.total> * 1.1Os valores são formatados conforme o contexto. Em um block Function, um valor resolvido se torna um literal de código: strings ficam entre aspas, objetos viram JSON e null continua null, prontos para uso em JavaScript ou Python. Nos outros blocks, objetos são convertidos em JSON e primitivos se tornam strings simples.
Em um contexto numérico, confirme que o valor referenciado é realmente um número. Uma tag que resolve para texto não vai se comportar como número.
Quando um block referenciado não executou no caminho atual — por exemplo, um block em uma ramificação não escolhida — sua tag resolve para um valor vazio. Na maioria dos blocks isso é uma string vazia; em blocks Function, é null.
Saídas de blocks comuns
O caminho de uma tag depende do que o block de origem produziu. Estes são os formatos padrão dos blocks que você vai referenciar com mais frequência. O painel de saída mostra a estrutura real de qualquer block.
{
"content": "The generated text response",
"model": "claude-sonnet-4-6",
"tokens": { "input": 120, "output": 85, "total": 205 },
"toolCalls": []
}content é a resposta principal. tokens é um objeto com as contagens de uso. toolCalls lista as ferramentas que o agente chamou, com suas entradas e resultados. Com um formato de resposta configurado, os campos do seu schema aparecem como saídas próprias.
{
"data": "Response body",
"status": 200,
"headers": { "content-type": "application/json" }
}data é o corpo da resposta e pode ser de qualquer tipo. status é o código de status HTTP. headers guarda os headers da resposta.
{
"result": "Function return value",
"stdout": "Console output"
}result é o que a sua função retornou e pode ser de qualquer tipo. stdout captura tudo o que o código registrou no log.
{
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedOption": "condition-1"
}conditionResult é o resultado booleano. selectedPath descreve o próximo block. selectedOption é o ID da condição que combinou.
{
"content": "Routing decision",
"model": "claude-sonnet-4-6",
"tokens": { "input": 120, "output": 85, "total": 205 },
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Customer Service Agent"
}
}content é o texto da decisão de roteamento. selectedPath descreve o block de destino escolhido.
{
"content": "Evaluation summary",
"model": "claude-sonnet-4-6",
"tokens": { "input": 120, "output": 85, "total": 205 },
"metric1": 8.5,
"metric2": 7.2
}content resume a avaliação. Cada métrica que você definiu aparece como um campo próprio, com uma nota numérica.
O result de um Function, o data de um API e um Agent com formato de resposta retornam o que o seu código, o serviço remoto ou o seu schema produziu, então consulte o painel de saída durante o desenvolvimento para confirmar o caminho que você está referenciando.