Skip to main content
A deliverable is a file an agent produces for you, such as a report, a CSV, or a patch. Agents already know where to save deliverables, so you only need to ask for a named file. At the end of each turn, the files in the deliverables folder are kept with the session, before any grading, so the grader and later sessions can use them. The TypeScript samples assume the rl client from Client setup.

Before you begin

  • To start sessions, you need the Developer or Admin role in the organization. See Organizations and roles.
  • Every session runs in an environment’s sandbox. See Environments.

Where work happens

Anything outside the deliverables folder stays in the sandbox and isn’t kept when the sandbox is deleted.

Tools you’ll see in transcripts

Agents use these tools on their own. You can also name them in prompts. write_artifact takes text. For a binary deliverable, such as a PDF or a spreadsheet, the agent creates the file with a command and saves it anywhere under /workspace/.managed-agents/outputs. Files placed there by any tool are kept the same way.

Ask for a deliverable

Name the file and its format in the task, and name it again in the rubric so grading checks it. This session asks for a CSV and a short summary, and is graded on both.
  1. In the sidebar, click Sessions, then click Launch session.
  2. Choose the Agent and Environment.
  3. Under Task, select Grade this session against a rubric.
  4. In Rubric, list the checks, including the file names.
  5. In Opening message, describe the task and name the deliverables.
  6. Click Launch session.
The API answers 202 Accepted:
In the transcript, the agent’s write_artifact call answers with the path and “it is captured as a session output when this turn ends”.

Prompt patterns that work

Keep scratch work out of the deliverables folder. Everything in it is kept, so intermediate files there clutter the result and count toward the per-turn limits.

What gets kept

  • When. At the end of each turn, once the agent stops and nothing is queued, the deliverables folder is checked and every new or changed file is kept. This happens before the outcome is graded, so the grader sees the same files.
  • Changes. A file saved again under the same path replaces the earlier version. A file that hasn’t changed isn’t kept twice.
  • Children. Subagents and teammates share the root’s sandbox, so their deliverables count as the root session’s deliverables.
  • Problems are reported, not fatal. A file that can’t be kept adds a session_status event with event_status warning, the code session_output_degraded, and a message naming the file. The session keeps running. A file refused once is not reported again until it changes.
  • Earlier versions survive a bad rewrite. If a kept file is later emptied, grows past the size limit, or becomes unreadable, the earlier kept version stays.

Limits

Files that wait for a later turn are kept only if the session has one, so keep a session’s deliverables under the per-turn limits. A session also has an overall image budget, shared by every tool that returns images, of 500 images and 100 MiB. See Limits.

Show images inline

Ask the agent to share a chart or screenshot: “Plot weekly signups and share the chart.” The agent saves the image under /workspace and calls share_file. In the console, the transcript row for a shared image shows a thumbnail. Click it to open the image at full size, with its caption and path, and page through every image in the session. Through the API, a shared image is an artifact event. List events with image_urls=signed to add a short-lived url to each image block.
  1. In the sidebar, click Sessions, then open the session.
  2. Find the share_file row in the transcript and click the thumbnail.
An artifact event carries the caption and the image:
A signed url is omitted when none can be issued for that read. The image is always available through the authenticated session image endpoint, GET /managed-agents/v1/sessions/{session_id}/images, with the image block’s uri as the uri query parameter.

Download deliverables

Every kept deliverable is a file in your organization’s library with source: "session_output", listed under the root session, including deliverables that subagents and teammates saved.
Open the session and choose the Files tab in the side panel. Each output shows its path under the deliverables folder. Click it to preview it, or download it. Files in the sidebar lists outputs from every session under Session outputs.
Each file’s metadata.path is its path under the deliverables folder, such as reports/q3.md, and filename is its last part. getFileContent returns the bytes with the file’s media type. Saving to the same path again replaces the earlier version at the end of the turn. See Download session deliverables.

Other ways to use results

What can go wrong

Next steps

Outcomes

Grade deliverables against a rubric.

Referenced sessions

Read an earlier session’s deliverables from a new one.

Teams

Have several agents produce parts of one deliverable.

Research team tutorial

A team session that ends in a graded report.