# Artifacts

import Screenshot from "@docs/Screenshot.astro"
import SurfaceTabs from "@docs/SurfaceTabs.astro"
import AskRen from "@docs/AskRen.astro"

An artifact is a web page Ren builds and hosts at a shareable URL, like a dashboard, report, or small tool.

Ask Ren for a website or page to create an artifact. In the API and CLI, an artifact is an `artifact`.

## Where artifacts live

An artifact belongs to a [space](/docs/concepts/spaces/), not to one project. Any project in that space can build or update it, and every member of the space sees it in the app.

Open **Artifacts** in the sidebar to see the artifacts from every space you belong to. Select a card to open the artifact.

<Screenshot shot="artifacts/grid" alt="The Artifacts page with several artifact cards and one card's menu open" />

## Create or update an artifact

Ren builds the page on the space's machine and publishes it.

<SurfaceTabs>
<Fragment slot="app">

1. Open **Artifacts** and select **Create artifact**.
2. Finish the prompt that opens in a new chat, like `Create an artifact for our weekly signups`, and send it.
3. When Ren replies with the link, open it.

To change an artifact, ask Ren in a chat in the same space.

</Fragment>
<Fragment slot="ask-ren">

<AskRen prompt="Build a dashboard of this month's orders by region from the orders database." />

To change it later, ask Ren again, for example `Add a chart of returns to the orders dashboard.`

</Fragment>
</SurfaceTabs>

## Keep an artifact up to date

An artifact can read current data whenever someone opens it, without rebuilding the page. Use a [schedule](/docs/concepts/schedules/) when Ren needs to update that data periodically:

```text
Every weekday at 8am, refresh the orders dashboard with yesterday's orders.
```

Ren creates the schedule in the project. Each run starts a new chat that updates the artifact's data, often from a [database](/docs/concepts/storage/#databases) in the same space. Open **Scheduled** to see the schedule.

## Share an artifact

Anyone with the link can open an artifact without signing in. Space membership controls who sees it in the app and who can request changes. Share the link only with people who should see it.

<SurfaceTabs>
<Fragment slot="app">

1. Open **Artifacts**.
2. Open the artifact's menu and select **Copy link**.

<Screenshot shot="artifacts/share" frame="detail" alt="An artifact card's menu with Open, Copy link, and Archive" />

</Fragment>
<Fragment slot="ask-ren">

<AskRen prompt="Give me the link to the orders dashboard." />

</Fragment>
<Fragment slot="cli">

```sh
ren artifacts get <space-id> <artifact-id>
```

The `url` field is the link.

</Fragment>
</SurfaceTabs>

## Archive an artifact

Archiving takes an artifact down. Its link stops working right away, and it leaves the **Artifacts** page. Ren keeps a backup copy. Artifact links can't change, and a new artifact with the same name gets a different link.

<SurfaceTabs>
<Fragment slot="app">

1. Open **Artifacts**.
2. Open the artifact's menu, select **Archive**, and confirm.

</Fragment>
<Fragment slot="ask-ren">

<AskRen prompt="Archive the old Q2 dashboard." />

</Fragment>
</SurfaceTabs>

## FAQ

<details>
<summary>Can I download an artifact?</summary>

There's no download button. Ask Ren for the files you need, like a PDF or CSV of the data, and it can save them to a [file store](/docs/concepts/storage/).

</details>