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

# Reviewing and approving agent work

> Use Needs Review and Approvals to check what agents produce and sign off before work is final.

Erstan keeps you in the loop on the work your agents do. Finished output lands in **Needs Review** for a person to confirm, and any action an agent wants to take mid-run pauses in **Approvals** until you say go. This page covers both, and how they relate.

<Note>
  **Two different gates.** *Needs Review* is about a **completed result** waiting for a human to confirm it. *Approvals* are **mid-run** requests an agent raises before a sensitive step (often a write to NetSuite). A single task can pass through both.
</Note>

## Where review work shows up

You can find work waiting on you in three places.

<CardGroup cols={3}>
  <Card title="Home" icon="house" href="/get-started/tour">
    The Home launchpad has a **Pending your review** panel that lists tasks waiting on you and links straight into them.
  </Card>

  <Card title="Tasks tabs" icon="list-checks" href="/tasks/overview">
    The **Review** tab shows tasks in *Needs Review*; the **Approvals** tab shows mid-run approval requests. **Inbox** rolls up what needs your attention.
  </Card>

  <Card title="Team Overview" icon="users" href="/teams/overview">
    Each team's Overview dashboard has its own **Pending Review** panel scoped to that team's work.
  </Card>
</CardGroup>

The two queues map to distinct states:

| Queue         | What it holds                                                                        | Typical action                                   |
| ------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------ |
| **Review**    | Tasks in **Needs Review** — the agent finished and is waiting for human confirmation | Read the output, then mark complete or send back |
| **Approvals** | A mid-run approval an agent raised before a sensitive or write action                | **Run action** or **Don't run**                  |

## Reviewing a completed task

When a task requires human confirmation, the agent sends its finished work to **Needs Review** instead of marking it done. The task waits there until a person approves it.

<Frame caption="A task detail view">
  <img src="https://mintcdn.com/erstan/VvzUuagDdyVkLVu5/images/task-detail-conversation.png?fit=max&auto=format&n=VvzUuagDdyVkLVu5&q=85&s=61ed88d8b24d8b84cb202bbd10c05ffb" alt="An open task showing the agent conversation and the properties rail with priority, due date, labels, assignee, and reviewer" width="2880" height="1800" data-path="images/task-detail-conversation.png" />
</Frame>

<Steps>
  <Step title="Open the Review tab or Inbox">
    Go to **Tasks** and open **Review** (or **Inbox**) to see everything sitting in *Needs Review*. You can also click a task from the Home **Pending your review** panel.
  </Step>

  <Step title="Read the agent's output">
    Open the task. The conversation panel shows the agent's result and outcome, with any documents, files, or SuiteQL output it produced. Open artifacts in the Canvas to inspect them in full.
  </Step>

  <Step title="Reply, approve, or send back">
    Reply or comment to the agent to ask for changes or more detail — it picks up the thread and reworks the task. If the result looks right, move on to completing it.
  </Step>

  <Step title="Mark the task Complete">
    Use the task's status control to move it to **Complete**. Sending it back instead returns it to the agent for another pass.
  </Step>
</Steps>

Tasks flow **Queued → In Progress → Needs Review → Complete**. A task that needs human confirmation will not reach *Complete* on its own — it stays in *Needs Review* until you sign off.

<Tip>
  Open a task to converse with the agent the same way you would in chat: rich-text composer, `@`-mentions of people or agents, comments, and attachments. This is the fastest way to request a revision without starting over.
</Tip>

## Approving an action mid-run

While a run is in progress, an agent may need to take an action that writes to NetSuite or another connected system. Instead of acting on its own, it raises an **approval** and pauses.

The task remains **In Progress** while this mid-run decision is pending. It moves to **Needs Review** only after the agent has finished and the completed result requires human confirmation.

If the agent is waiting for information rather than permission, it posts an input request as a task comment; reply in the task to continue. Approval waits do not create a reply-to-approve comment—the authenticated approval card is the only decision control.

The approval card shows the action name and an expandable **Before / After** change preview. You can:

* Click **Run action** (or **Run actions**) to approve and let the run continue.
* Click **Don't run** to reject the action.

Use these authenticated card controls for the decision. Conversation replies are feedback only and do not approve or reject the pending action.

The card still names the assigned approver for accountability, but a task must not stay stuck because that person is unavailable: any teammate with normal access to the task can approve or reject it. Erstan records who actually made the decision. This collaborative authority applies only to task-linked approvals; approvals in a direct or private conversation remain restricted to their assigned approver.

Mid-run approvals appear on the **Approvals** tab and as approval cards inside the task's run or conversation panel. For the full mechanics of approval cards in chat — including the change preview, auto-approve, and the informational "Queued — {integration}" card — see [Approving and rejecting AI actions](/chat/approvals).

<Warning>
  Approving a write action lets the agent change real records in NetSuite (and other connected systems). Read the Before / After preview before you click **Run action**. **Auto-approve writes** skips this prompt entirely — turn it on only when you trust the agent and the scope of the run.
</Warning>

## Who reviews: reviewer vs assignee

Every task can carry an **Assignee** and a **Reviewer** in its properties rail (both default to *Unassigned*).

<AccordionGroup>
  <Accordion title="Assignee" icon="user">
    The person responsible for the task — usually who the work is for or who drives it forward.
  </Accordion>

  <Accordion title="Reviewer" icon="user-check">
    The person who confirms the agent's output before the task is final. When a task is in *Needs Review*, it surfaces to its reviewer's queues.
  </Accordion>
</AccordionGroup>

You set both from the task's **Properties** rail, alongside priority, due date, and labels. The properties rail also has a **Require human confirmation before completion** toggle that controls whether this task must pass through *Needs Review*.

## Setting the default for new tasks

Whether agents stop for review by default is a **team setting**. In **Team Settings → Task defaults**, choose the completion policy:

* **Human confirms** — agents send finished work to *Needs Review* for a person to approve.
* **Agent can complete** — agents may mark their own work done without a review step.

<Note>
  The team default applies to **new** tasks only — changing it does not move tasks that already exist. You can still override confirmation on any individual task with the **Require human confirmation** toggle in its properties rail.
</Note>

Owners and admins manage this in [Team Settings](/teams/managing).

## How this ties to write approvals

Needs Review and mid-run Approvals work together with the [NetSuite write policy](/connectors/netsuite-manage). Each NetSuite tool has a policy of **Allow**, **Require approval**, or **Deny** — *Require approval* is what produces the mid-run approval card before a write. Layer human confirmation on top, and you get two checkpoints: the agent asks before it writes, and a reviewer confirms the finished task. Because NetSuite uses [per-user authorization](/connectors/netsuite-authorize), the write continues under the run's established NetSuite user and role; a teammate approving the card does not switch the run to that teammate's credentials.

## Next steps

<CardGroup cols={2}>
  <Card title="Approving and rejecting AI actions" icon="shield-check" href="/chat/approvals">
    The full approval-card flow, change previews, and auto-approve.
  </Card>

  <Card title="Working with tasks" icon="list-checks" href="/tasks/working-with-tasks">
    Filter, open, and set properties and sub-tasks on tasks.
  </Card>

  <Card title="Managing a team" icon="users" href="/teams/managing">
    Set the team's completion policy and reviewer defaults.
  </Card>

  <Card title="Security & write safety" icon="lock" href="/security/overview">
    How write policy, approvals, and per-user authorization keep you in control.
  </Card>
</CardGroup>
