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

# Tasks

> A task is one unit of work you hand to an agent. This page covers the full lifecycle, subtasks, blocking, and why done is a human action.

A task is one assignment. Its status tells you whether an agent is working on it or whether it's waiting on you.

## A task gives one agent one goal

A task is one unit of work you assign to an agent. Give it a goal, not a procedure. The agent plans the work, completes it, and returns a deliverable.

Agents run on language models, so the same goal won't produce an identical result twice. When you need the same steps in the same order every time, write the procedure as a [playbook](/agents/playbooks) and point a task at it.

## Each status tells you who the task is waiting for

Tasks are listed grouped by status, so one glance tells you whether the agent is working or whether you are the thing holding it up.

<Frame caption="The task list groups by status and counts each group. In Review is the group that needs you.">
  <img src="https://mintcdn.com/writesonic/G2QZh22t9vDDBoZL/images/agents/tasks-list.webp?fit=max&auto=format&n=G2QZh22t9vDDBoZL&q=85&s=80190a54b66788353d027f1d7c5258f2" alt="The Writesonic Agents task list grouped by status, with counts for All tasks, In Review, Active and My Tasks" width="1999" height="1042" data-path="images/agents/tasks-list.webp" />
</Frame>

| Status           | What it means                                                | Who sets it |
| ---------------- | ------------------------------------------------------------ | ----------- |
| Backlog          | Parked. Nothing runs while a task sits here.                 | You         |
| Todo             | Assigned and queued. For an agent, this is the trigger.      | You         |
| In Progress      | The agent is working.                                        | The agent   |
| Pending Approval | The agent paused mid-task and needs you before it continues. | The agent   |
| In Review        | The deliverable is ready and waiting on you.                 | The agent   |
| Done             | You accepted the work.                                       | You         |
| Cancelled        | The work was stopped.                                        | You         |

There is no Blocked status. The two that need you are **Pending Approval** and **In Review**.

## Todo is the trigger, and the assignee decides who drives

Assign a task to an agent while it's in **Todo** and the agent picks it up on its own. It moves itself to In Progress and starts. There's no start button, and nothing else is required from you.

Create the task in **Backlog** instead and nothing happens until you move it to Todo. That's the difference between the two states, and it's the one worth remembering: Backlog parks work, Todo releases it.

When the agent has a deliverable, it moves the task to **In Review** itself. Everything between Todo and In Review is the agent's. Done is yours.

Assign the task to a person rather than an agent and none of that applies. A human moves their own task through the states by hand, the same as any task tracker.

<Frame caption="A task waiting on review. The banner carries the Review button, and the right rail holds the status, the assignee and every artifact the agent produced.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/task-detail.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=41fe86b4483c8e7c58ce3efa56e84dd8" alt="A Writesonic Agents task detail view showing the review banner, the brief, attached resources, subtasks and the properties rail" width="1574" height="1281" data-path="images/agents/task-detail.webp" />
</Frame>

Anything you attach to the brief sits under **Resources**, and anything the agent produces sits under **Artifacts**. The description locks while agents are working, so mid-flight direction goes in as a comment.

## Large tasks break into ordered subtasks

The agent decides when one goal is really several. It creates the subtasks itself and the activity feed records each one as it appears.

<Frame caption="Three subtasks under one parent. Each carries its own ID, priority, assignee and date, and the parent counts how many are done.">
  <img src="https://mintcdn.com/writesonic/4y2KwWngbmU7vqVE/images/agents/task-subtasks.webp?fit=max&auto=format&n=4y2KwWngbmU7vqVE&q=85&s=312ae844e497060a7cd1a5505e40c2fe" alt="A subtasks panel showing three subtasks with IDs, titles, High priority, assignee avatars and dates" width="1083" height="299" data-path="images/agents/task-subtasks.webp" />
</Frame>

Each subtask is a task in its own right, so you can open one and read its own feed. When one depends on another, they run in order. A subtask waiting on you shows as Pending Approval, and the parent waits with it, which is why a task can look stalled when it's actually waiting on a subtask.

## Done only happens after you accept the work

Agents don't close their own work. That is deliberate.

A finished deliverable stays In Review until you accept it as Done. CMS work still lands as a draft, so accepting the task doesn't publish it.

## An assigned task runs unless you stop it

There's no start button. Assigning a task is what starts it.

Cancel the task when you want the work to stop.

## What's next

<CardGroup cols={2}>
  <Card title="Approvals" href="/agents/approvals" icon="circle-check">
    Choose how much you review.
  </Card>

  <Card title="Common tasks" href="/agents/common-tasks" icon="book-open">
    See what other teams hand over.
  </Card>
</CardGroup>
