Quase todo block precisa de um valor produzido por um block anterior. Um block obtém esse valor referenciando a saída daquele block pelo nome. Esta página cobre três coisas: o que é uma saída e onde ela fica, como um block referencia uma saída e os tipos de valores que você vai encontrar nela.
Neste workflow, Classify lê a mensagem de Start, e Reply lê a classificação de Classify.
O que é uma saída
Quando um block executa, o Studio guarda o resultado dele com o nome do block pelo resto da execução. Esse resultado guardado é a saída do block, e qualquer block posterior pode lê-lo.
Uma saída normalmente é um conjunto de valores nomeados, não uma coisa única. Você lê um deles pela sua chave: <classify.content> é o valor content do block chamado classify.
Blocks diferentes produzem valores diferentes. Um Agent guarda seu content; um API guarda o data que recebeu; um block Table guarda um rowCount e as linhas que leu, acessadas com <table1.rowCount>.
A saída de um block não é a mesma coisa que a saída do workflow. Cada block tem a sua, guardada com o próprio nome. A saída do workflow é simplesmente uma delas: o que o último block produziu.
Como um block referencia uma saída
As entradas de um block são seus parâmetros: os campos que você preenche, como o modelo e o prompt de um Agent. Em qualquer parâmetro você pode inserir uma tag de conexão para trazer uma saída anterior em vez de digitar um valor fixo. O <start.input> no prompt de Classify significa "use aqui o que Start recebeu".
Um block pode referenciar qualquer saída que já exista no momento em que ele executa, ou seja, qualquer block antes dele no mesmo caminho (veja como os workflows executam). Você raramente digita uma tag à mão: onde um parâmetro aceita uma, o workflow builder lista as saídas disponíveis e você escolhe o valor que quer.
Tipos de dados
Cada valor dentro de uma saída tem um tipo, exibido ao lado dele no painel de saída. O tipo indica o que você pode fazer com o valor: indexar um array, ler um campo de um objeto, comparar um número.
| Tipo | O que é | Exemplo |
|---|---|---|
string | Texto | "Billing issue" |
number | Um valor numérico | 248 |
boolean | true ou false | true |
object | Um conjunto de campos nomeados | { category: "billing", urgency: "high" } |
array | Uma lista ordenada de valores | ["billing", "urgent"] |
null | Nenhum valor | null |
Um arquivo aparece como um object com os detalhes do arquivo, como nome e URL. Quando um valor não é do tipo que o próximo passo precisa, ajuste o formato em um block Function, que executa um trecho curto de código e guarda o resultado como saída própria.