# Creating and Running a Task --- ## Create one Open **Tasks** and click **Create Task**. Give it a **title**, then write the **description** — this is the brief the agent works from, so it's worth spending a minute on. Pick the **repositories** it should work in and the **branch** each should start from, and choose the **agent** and **model**. Click **Create**. It starts as soon as a slot is free. Tick **After the PR is merged, deploy to production** to have Deployment.io deploy the change to production once you merge it. See [Deploy After Merge](/docs/tasks/deploy-after-merge/). ### Writing a good description This is the single biggest lever on whether you get back something you can merge. The agent can read your code, but it can't read your mind. Say what should change, where, and what "done" looks like. Mention constraints it should respect and anything you explicitly don't want touched. A specific brief is usually the difference between one round of review and three. If you'd rather work it out interactively, start an [Assistant session](/docs/assistant/what-is-a-session/) and convert it — you'll get a far better brief than you'd write cold. ## Start one from your backlog Tasks converted from a session wait in **Backlog** until you're ready. Press **Start**, confirm the model, and it joins the queue. ## Watch it work The board groups Tasks by where they've got to; switch to **List** if you prefer a table. For what the columns and tags mean, see [The Board](/docs/tasks/the-board/). Click any Task to open it. Inside you'll see how far along it is, each repository with a link to its pull request once opened, and the full agent log if you want to see its reasoning. Repositories showing **No changes** are ones the agent decided didn't need touching. ## Stop, re-run, delete **Stop** halts a Task that's running or waiting. Anything already pushed by an earlier attempt stays — nothing is undone. **Re-run** gives it another go, and lets you tell the agent what to do differently first. That feedback is the useful part: _"you missed the error case in handler.go"_ gets you much further than re-running blind. New work goes onto the same branch, so an open pull request just picks it up. **Delete** removes the Task and stops any work in progress. Branches and pull requests already pushed to your repository are untouched. --- Source: https://deployment.io/docs/tasks/creating-and-running-a-task/