Artifacts
Artifacts turn the work produced by Xpert Agents and plugins into durable results that people can open, revisit, download, and share. An Artifact is a persistent product object with a stable identity. Its content is stored as immutable versions in Workspace Files, while access is provided through separately managed Artifact Links. A report can therefore gain a new version without changing its identity, and a shared link can either follow the latest version or remain pinned to one version.When to use an Artifact
Use an Artifact when chat text is not the best medium for the result, or when the result needs to live beyond one Agent run. Typical examples include:- interactive HTML reports and dashboards;
- presentations generated by Presentation Studio;
- static site snapshots produced by Sites;
- PDF reports, PPTX decks, images, CSV files, and other downloadable outputs;
- visual comparisons, annotated reviews, timelines, and checklists;
- a result that a plugin will update by publishing additional versions.
What an Artifact is not
An Artifact is a published result, not a full hosted application runtime.- It does not expose a plugin’s backend or credentials to viewers.
- It is not a replacement for a database-backed, multi-route application.
- It does not make the shared content collaboratively editable.
- Interactive HTML can run client-side interactions allowed by its security profile, but it should not depend on external services or platform APIs at view time.
- Version updates are durable, but an already open viewer currently needs to refresh to resolve a newer
latestversion.
Core model
Content bytes remain in Workspace Files. The Artifacts service stores portable file references and product metadata, rather than local filesystem paths or copied credentials.
Create an Artifact
Artifacts are normally created by an Xpert Agentic App or plugin after it has produced a useful result. The product flow is:- Generate or export the content.
- Write the content to Workspace Files.
- Create or locate the stable Artifact container using the plugin’s business resource identity.
- Add an immutable Artifact Version that references the Workspace Files object.
- Optionally create a preview or sharing link.
Update an Artifact
Publishing updated content creates a new Artifact Version. Existing versions are not overwritten. Each Artifact has acurrentVersionId. A new version becomes current by default, although a plugin can create a version without changing the current pointer. This supports review and staged publication workflows.
Artifact Links have two version modes:
Changing content never silently rewrites an old version. To show updated content through a fixed-version link, explicitly retarget the link or create a new link.
Preview an Artifact
Use a signed preview link for temporary review before publishing. Signed previews:- use the
signed_previewaccess mode; - include an opaque token in the
xpert_artifact_previewquery parameter; - expire after 15 minutes by default;
- can be given a shorter or longer TTL within the platform limit;
- must not be persisted as a durable public URL.
Share an Artifact
Sharing is an explicit access decision applied to an Artifact Link. The underlying chat, Agent run, plugin state, tenant identifiers, and Workspace Files location are not included in the public URL. The canonical public route is:publicUrl returned by the platform and must not construct a URL from the browser’s current location.
Access modes
The link also controls whether content opens inline or as an attachment and whether the dedicated download route is enabled.
Revoke, archive, and delete
- Revoke a link when the Artifact should remain available internally but a particular access path must stop working. Revocation takes effect immediately.
- Archive an Artifact when it should no longer be active but should remain in platform history and audit records.
- Delete an Artifact to mark the Artifact as deleted and revoke all of its links. Plugins that own the underlying Workspace Files object should separately apply their file-retention or deletion policy.
Supported content
Artifacts describe the product kind independently from the MIME type. Supported kinds includehtml, markdown, pdf, pptx, image, file, site, and presentation.
Expected presentation behavior:
The platform validates the declared MIME type and the referenced Workspace Files object. A supplied size or SHA-256 value must match the stored content.
HTML security profiles
HTML Artifacts are served withnosniff, no-referrer, no-store, a safe content disposition, and a Content Security Policy. Forms cannot submit, the document cannot set a base URL, and the Artifact cannot be embedded by another page.
Artifacts must not contain platform tokens, tenant or organization identifiers, Workspace Files paths, signed URLs, or other credentials. User-controlled HTML, SVG, URLs, and media should be validated by the producing plugin before publication.
Use Artifacts from a plugin
Plugins use theplatform.artifacts runtime capability from @xpert-ai/plugin-sdk. Workspace Files remains the content storage capability; Artifacts manages identity, versions, access, safety policy, and audit.
Plugin responsibilities
- Use a stable
pluginName + resourceType + resourceIdfor the Artifact container. - Store bytes through Workspace Files and persist only portable references.
- Create a new version instead of replacing published bytes.
- Ask for explicit confirmation before creating a public link.
- Return and copy the platform-provided
publicUrl. - Revoke links before deleting plugin-owned exported files.
- Keep large file bodies, HTML, tokens, and private identifiers out of tool results and logs.
Current release boundaries
The current platform capability provides the Artifact data model, immutable versions, Workspace Files-backed content, scoped and public links, signed previews, access counters, and audit records. Product surfaces such as a platform-wide Artifact gallery, automatic in-page live updates, organization retention controls, and a compliance administration UI can be added on top of the same model; do not assume those surfaces are available unless your Xpert deployment exposes them.Related resources
- Plugin development
- Remote components and Agentic Apps
- Claude Code Artifacts, the product concept used as a reference for this Xpert capability