Um arquivo gerado é um artefato que uma execução de workflow cria: um relatório, um CSV, um clip de áudio renderizado. Começa como um valor que um bloco produz e vira um arquivo do workspace quando um bloco File o grava no store de Files. Depois de salvo, tem um nome, um tamanho e uma URL, e qualquer execução posterior pode lê-lo de volta.
Como um pipeline de build que produz artefatos e os guarda em um repositório de artefatos, um workflow produz artefatos de arquivo que caem no store de Files do seu workspace, indexados por ID e compartilhados entre todos os workflows.
O que produz conteúdo de arquivo
A maioria dos arquivos gerados começa como a saída de um bloco anterior. Dois padrões são comuns.
Um bloco retorna conteúdo de texto que você quer guardar. Um Agent escreve uma análise ou resumo; um Function monta um CSV ou formata um relatório. Esse texto faz parte da saída do bloco, lido por referência como <agent.content> ou <function.result>. Para virar arquivo, você passa esse valor para um bloco File configurado em Write.
Um bloco retorna um objeto de arquivo diretamente. O text-to-speech do ElevenLabs retorna um audioFile; um gerador de imagem retorna uma imagem gerada; a operação Read do próprio bloco File retorna arquivos parseados. Esses já são objetos UserFile (um objeto com id, name, url, size e type), então aparecem no painel de saída como arquivos sem passo de Write. Você pode passar um para um bloco downstream, ou gravar o conteúdo no store de Files para persistir.
A saída de um bloco é lembrada sob o nome do bloco pelo resto da execução, e um bloco posterior a lê pela key, como <elevenlabs.audioFile> ou <agent.content>. Produzir conteúdo e salvá-lo são dois passos separados: o bloco que produz segura o valor, o bloco File o persiste.
Salvando conteúdo com o bloco File
A operação Write do bloco File cria um novo arquivo no workspace. Ela pede dois campos obrigatórios: um fileName (como report.md) e a string content a armazenar. Retorna os detalhes do arquivo salvo.
Para salvar a análise de um Agent, conecte o Agent a um bloco File, defina a operação como Write e referencie a saída do Agent: fileName = research_summary.md, content = <agent.content>. Quando o workflow roda, o bloco File grava o arquivo e produz:
id: o ID canônico do arquivo, usado para buscá-lo depois.name: o nome final do arquivo após qualquer deduplicação (veja abaixo).size: a contagem de bytes.url: uma URL absoluta para baixar ou pré-visualizar o arquivo.
O content type é detectado pela extensão do arquivo: .csv vira text/csv, .pdf vira application/pdf, .md vira text/markdown. Para definir você mesmo, preencha contentType no modo avançado.
Se um arquivo com o mesmo nome já existir no workspace, Write não o sobrescreve. Em vez disso, anexa um sufixo numérico: um segundo data.csv é salvo como data (1).csv, um terceiro como data (2).csv. Para acrescentar a um arquivo existente em vez de criar um novo, use a operação Append, que grava conteúdo no fim de um arquivo nomeado.
Para onde o arquivo vai
Um arquivo salvo cai no store de Files do workspace, o mesmo lugar onde uploads ficam. Aparece no painel Files na barra lateral com nome, tamanho, ícone de tipo e data de modificação, agrupado por categoria: document, image, audio, video ou code. Dali você pode pré-visualizar, renomear, mover para uma pasta ou baixar pela URL.
Arquivos são escopados ao workspace, não a um único workflow. Um arquivo escrito por um workflow é visível para todos os outros workflows no mesmo workspace. Qualquer execução posterior pode lê-lo de volta com a operação Read ou Get do bloco File, ou selecionando-o em um file picker.
Durante uma execução, o arquivo também aparece no painel de saída como a saída do bloco File, mostrado como um objeto estruturado com id, name, url e size. O painel de saída mostra uma execução conforme acontece, enquanto o store de Files é onde o arquivo fica depois.
Retornando um arquivo gerado de um deployment
Quando um workflow é publicado como API, um arquivo gerado pode fazer parte da resposta. Referencie o arquivo em um bloco Response, ou inclua seu ID no objeto que você retorna. O caller usa a url ou o id para buscar o arquivo no store do workspace. O arquivo em si fica no store de Files, e a resposta carrega um ponteiro para ele, não os bytes.