> For the complete documentation index, see [llms.txt](https://academy.shade.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.shade.inc/guides/review-and-client-delivery/the-client-review-loop.md).

# The client review loop

Share a cut, collect frame-accurate feedback, upload the next version, and get sign-off without leaving Shade.

**Outcome:** a repeatable review cycle. The client gets a link, leaves timestamped comments without creating an account, your team resolves them, you upload v2 on top of v1, and the client compares the two and approves.

**Who it's for:** editors, producers, and agencies who review work with clients or stakeholders outside the workspace.

**Time:** about 15 minutes to set up the first time. After that, each cycle takes a few minutes.

## Before you start

* Put the cut in its own review folder, for example `Projects/ACME/Review`.
* Optional: add a **Status** single-select field (In review, Changes requested, Approved) to the drive's metadata, so the client can approve with a click. See [Metadata and Custom Fields](https://academy.shade.inc/ai-tools/custom-and-automated-metadata).

## The loop

```mermaid
flowchart LR
  Share["Share a review link"] --> Comment["Client comments"]
  Comment --> Resolve["Team resolves comments"]
  Resolve --> Version["Upload v2 onto v1"]
  Version --> Compare["Client compares versions"]
  Compare -->|"more changes"| Comment
  Compare -->|"approved"| Deliver["Deliver finals"]
```

## Steps

{% stepper %}
{% step %}

### Share the cut with the Reviewer template

Right-click the file (or the review folder) and click **Share**. Choose the **Reviewer** link template. It lets recipients view, download, comment, view asset details, and see earlier versions.

Under **Security**, consider adding:

* **Link Expiration**, so old cuts don't stay available forever
* **Password**, for unreleased work
* **Watermarking**, so leaked frames can be traced

Copy the link and send it. Anyone with a published link that allows comments can leave feedback without creating a Shade account. See [Published Links](https://academy.shade.inc/sharing-and-collaboration/published-links).

{% hint style="info" %}
If you also want the client to set **Status**, use a custom link and turn on **Edit asset metadata**, with only **Status** visible.
{% endhint %}
{% endstep %}

{% step %}

### Tell the client how to leave useful feedback

Send two lines with the link:

* "Pause where you want a change and type your note. It's pinned to that exact frame."
* "To comment on a stretch of time, Shift-click the playhead and drag the handles."

Clients can also draw on the frame, attach reference images, and reply in threads. See [Commenting on Assets](https://academy.shade.inc/sharing-and-collaboration/commenting-on-assets).
{% endstep %}

{% step %}

### Work through the notes internally

Use **Internal** comments for team discussion the client shouldn't see, and @mention the editor who owns each fix. When a note is addressed, mark it complete with the check icon. Filter by **Unresolved** to see what's left.

Editing in Resolve? From the comments panel menu, choose **Export to Resolve (EDL)** to bring the notes in as timeline markers. Comments can also be exported as CSV or TXT.
{% endstep %}

{% step %}

### Upload v2 on top of v1

Drag the new export onto the old file, or right-click the old file and choose **Upload New Version**. This stacks the versions, so the existing link and its comment history stay in one place, and the client sees the latest version by default. See [Version Control and Stacking](https://academy.shade.inc/assets/version-control-and-stacking).
{% endstep %}

{% step %}

### Let the client compare and approve

The Reviewer template includes **View Stack Versions**, so the client can open v1 next to v2 and check that each note was addressed. Then they set **Status** to **Approved** or leave a final comment.

Before you send v2, right-click the stack and choose **Compare Versions** to check the changes yourself side by side, stacked, or with a swipe.
{% endstep %}
{% endstepper %}

## Variations

* **Get notified instantly:** connect Slack in **Settings > General** under **Slack Integration**, then choose a channel for this drive in the drive's **Slack Notifications** settings.
* **Automate the hand-off:** when **Status** becomes **Approved**, trigger an automation that emails the client a download link for the finals. See [Tell a client their files are ready](/guides/automations/tell-a-client-their-files-are-ready.md).
* **Review a selection, not a folder:** put the cuts in a collection and share the collection instead. See [Deliver final files to a client](/guides/review-and-client-delivery/deliver-final-files-to-a-client.md).

## Related guides

* [Deliver final files to a client](/guides/review-and-client-delivery/deliver-final-files-to-a-client.md)
* [Work with freelancers](/guides/review-and-client-delivery/work-with-freelancers.md)
* [Tell a client their files are ready](/guides/automations/tell-a-client-their-files-are-ready.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://academy.shade.inc/guides/review-and-client-delivery/the-client-review-loop.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
