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

# Artifacts: Upload and Share Agent Work Evidence in Subtext

> Subtext Artifacts let your agent upload screenshots and documents to cloud storage and retrieve shareable signed URLs for team review.

<Warning>
  These are **Verify beta features**, available to the closed beta cohort only. They may change or move out of the core MCP without notice.
</Warning>

Artifacts are cloud-stored evidence files — screenshots, documents, diffs, or any base64-encoded content — that your agent uploads during verification work and shares with your team. When your agent verifies a UI change, fixes a bug, or completes an inspection run, it can capture the proof and hand off a link without any manual file transfers or screen sharing.

## What Artifacts Are

An artifact is a file your agent uploads to Subtext's cloud storage. After upload, Subtext returns a time-limited signed URL that anyone with the link can open in a browser. Typical artifact payloads include:

* **Screenshots** captured via `live-view-screenshot` during a live browser session
* **Before/after image pairs** that document a visual regression fix
* **Log exports** or JSON blobs saved from a network inspection run
* **PDF or HTML documents** generated as part of an automated report

Artifacts integrate naturally with [Proof Docs](./proof-docs): use `doc-attach` to embed an artifact URL inside a permanent evidence record, or share the URL directly in a pull request comment or ticket.

## Use Cases

<CardGroup cols={2}>
  <Card title="Bug Fix Evidence" icon="bug">
    Attach a before screenshot showing the broken state and an after screenshot showing the fix. Paste the signed URLs into the PR description so reviewers see exactly what changed.
  </Card>

  <Card title="Audit Trail" icon="shield-check">
    Upload exported logs or inspection results as artifacts and link them from a Proof Doc, creating a permanent, reviewable audit trail for compliance or QA sign-off.
  </Card>

  <Card title="Visual Regression Comparison" icon="images">
    Upload the expected and actual screenshots from a failing visual test, then share both URLs in the failing-test comment for fast triage.
  </Card>

  <Card title="Ticket Attachments" icon="ticket">
    When filing an issue, have your agent upload a screenshot of the error state and include the signed URL as an inline image in the ticket body.
  </Card>
</CardGroup>

## Tools

### `artifact-upload`

Upload base64-encoded content to cloud storage and receive a shareable signed URL.

**When to use it:** Any time your agent produces a file — a screenshot, a generated document, an exported log — that needs to be shared with a human or stored alongside a task record.

**What it returns:** A signed URL that any team member can open without authentication. The URL is time-limited; see [`artifact-url`](#artifact-url) below for refreshing it.

***

### `artifact-url`

Generate a fresh signed URL for an existing artifact by its artifact ID.

**When to use it:** When a previously shared URL has expired and a reviewer needs renewed access to the artifact — for example, when re-opening an old Proof Doc weeks later.

<Note>
  Signed URLs are time-limited by design. Store the **artifact ID** (returned by `artifact-upload`) in your Proof Doc or ticket, not just the URL. Use `artifact-url` any time you need to regenerate a fresh link from that ID.
</Note>

## Typical Workflow

<Steps>
  <Step title="Capture the evidence">
    Use `live-view-screenshot` during your live browser session to take a PNG screenshot of the relevant UI state.
  </Step>

  <Step title="Upload the artifact">
    Pass the base64 screenshot to `artifact-upload`. Subtext stores it and returns a signed URL and an artifact ID.
  </Step>

  <Step title="Share the URL">
    Paste the signed URL into a PR description, ticket comment, or Slack message. Anyone with the link can view the screenshot immediately.
  </Step>

  <Step title="Attach to a Proof Doc (optional)">
    Use `doc-attach` to embed the artifact into a named section of a [Proof Doc](./proof-docs), creating a permanent evidence record that references the artifact by ID.
  </Step>

  <Step title="Refresh if expired">
    If the URL expires before review is complete, call `artifact-url` with the artifact ID to get a new signed link.
  </Step>
</Steps>
