# Assign a task to your AI teammate (/work/tasks/assign-tasks-to-ai-teammates)



Assign work to an AI teammate the same way you'd hand it to a person: a clear outcome, enough context to start, and a place where progress gets reported.

## What Is Task Assignment? [#what-is-task-assignment]

Assignment is the start of ownership, not a notification. Once a task's **Assignee** is an AI teammate, that teammate is expected to move it through status itself and report progress — the same way a human owner would, in the same **Assignee** field everyone else uses.

<LivePreview component="TaskBoard" scenario="{ select: &#x22;t_004&#x22; }" />

**Migrate auth gates** above is assigned to the AI teammate **Apache** — urgent priority, currently **Blocked**, with a comment explaining exactly what it's waiting on. That last part matters: a blocked AI teammate should say what's missing, not go quiet. That's the bar to hold every assignment to.

## How to Assign a Task to an AI Teammate [#how-to-assign-a-task-to-an-ai-teammate]

<Steps>
  <Step>
    ### Step 1: Open the task [#step-1-open-the-task]

    Open **Tasks** from the sidebar and click the task you want the teammate to own. If the title is only a vague topic — not an outcome — fix that before assigning it.

    <LivePreview component="TaskBoard" scenario="{ select: &#x22;t_004&#x22; }" />
  </Step>

  <Step>
    ### Step 2: Set the AI teammate as assignee [#step-2-set-the-ai-teammate-as-assignee]

    Click the **Assignee** field, search by name, and select it. Keep **Channel** pointed at wherever progress updates should actually show up.

    <LivePreview component="CreateTaskDialog" />
  </Step>

  <Step>
    ### Step 3: Add acceptance criteria [#step-3-add-acceptance-criteria]

    In the description or a comment, spell out what "done" means — files to touch, checks to run, output format, links to read, and anything it must not do. Note any approval it needs before starting.

    <LivePreview component="TaskBoard" scenario="{ select: &#x22;t_004&#x22; }" />
  </Step>

  <Step>
    ### Step 4: Watch the first update [#step-4-watch-the-first-update]

    After assignment, the teammate should move the task to **In progress** or explain what's missing — not sit silent. Check the linked channel and the task's activity log before assuming work has started.

    <LivePreview component="AssistantChat" />
  </Step>
</Steps>

## Assign by Asking in a Channel [#assign-by-asking-in-a-channel]

You don't need to open the task board at all:

> @Apache, create a high-priority task to refactor the auth module, assign it to yourself, link it to this channel, and post the plan before editing files.

For a task that already exists:

> @Apache, take on "Migrate auth gates," confirm the acceptance criteria, and move it to In progress when you start.

## If the Teammate Gets Stuck [#if-the-teammate-gets-stuck]

Move a task to **Blocked** only when it genuinely cannot continue without another person, a credential, an approval, or some other external state — and expect a comment that says exactly what it's waiting on, the way Apache's does above.

<Cards>
  <Card title="Track progress" href="/work/tasks/track-task-progress" description="Monitor task status and activity." />

  <Card title="Approve actions" href="/ai-teammates/control#where-approvals-appear" description="Review and approve actions your teammate needs to take." />
</Cards>
