# Desk states and actions

## Overview

Desk is the work queue for triage and follow-up. Use it to move support threads
through the Desk lifecycle and choose the next action for each thread.

A support thread is a customer conversation that you triage, answer, pause,
complete, or reopen. A queue groups threads by work state, ownership, or triage
status.

An internal note is a message for your team attached to a support thread.

The lifecycle states are `Needs first response`, `Needs next response`,
`Investigating`, `Waiting for customer`, `Paused for later`, and `Done`.

| If you need to… | Go to |
|---|---|
| Choose the queue that contains the work | [Find and open the work](#find-and-open-the-work) |
| Understand the current state and available controls | [Understand the thread state and available actions](#understand-the-thread-state-and-available-actions) |
| Reply, add an internal note, or change the state | [Change state and respond](#change-state-and-respond) |
| Handle triage, snoozing, duplicates, or shortcuts | [Handle state and thread variations](#handle-state-and-thread-variations) |
| Review the Desk surface and its queues | [Desk overview](doc:desk-overview) |
| Work through a Desk item | [Work from Desk](doc:work-from-desk) |

## Prerequisites — what must be in place for this to go smoothly

Before changing a Desk thread, select the project whose support threads you need
to work on. A thread selection later gives you the detail, composer, state controls,
and context tabs for that thread.

Collect the reply or **Internal note** text you want to enter before you start. If the
thread is a `Question`, the documentation assistant can ask the customer's
question automatically. If the thread has no reporter email, the page displays
this warning when you are not writing an **Internal note**:

`No email on file — the customer can only see this on their tracking page.`

The available action depends on the thread state. A paused thread has `Wake now`,
and a done thread has `Reopen`. Select the project before finding the thread you
want to change.

## Find and open the work

A Desk queue is a group of support threads selected by work state, ownership, or
triage status. Use the queue that matches the work you want to handle.

**Prerequisites**

- You have selected a project.
- You know whether you need a triage, response, ownership, or completion queue.

**Steps**

1. Open **Desk**.
2. Select the queue that matches your work:

   | If you need to… | Select |
   |---|---|
   | Work on new, unowned items | **Triage** |
   | Work on threads assigned to you | **Your threads** |
   | Work on items without an assignee | **Unassigned** |
   | Find threads awaiting a first reply | **Needs first response** |
   | Find threads awaiting the next reply | **Needs next response** |
   | Find active investigation work | **Investigating** |
   | Find threads waiting for the customer | **Waiting for customer** |
   | Find threads paused for later | **Paused for later** |
   | Find threads completed today | **Done today** |

3. Select the thread row you want to handle.
4. Open the selected thread's detail.

If the selected queue has no available thread, the page shows `Nothing here` and
`New threads land in Triage and Needs first response.`

**Result:** The thread detail is open, with its current state, conversation, and
available actions on screen. You can now identify the state and choose an action.

## Understand the thread state and available actions

The open thread's detail surface combines the conversation, reply composer, state
bar, and context tabs. Use it to identify the current state before changing it.

The composer includes these fields and actions:

| Area | What you use it for |
|---|---|
| Reply body | Enter a customer reply in Markdown. |
| Internal note body | Enter a note for your team when internal-note mode is active. |
| Duplicate ticket number | Enter the positive ticket number of the canonical thread. |
| Copilot question | Ask the documentation assistant a question. |
| **Internal note** | Switch between a customer reply and an internal note. |
| **Preview** | Preview the Markdown draft; select **Write** to return to editing. |
| **Send** | Send the reply. |
| **Send & done** | Send the reply and mark the thread done. |
| **Attach** | Attachment control; it is disabled. |

The context tabs are **Docs Copilot**, **Customer**, and **Activity**. Docs Copilot
is the documentation assistant, Customer provides customer context, and Activity
provides the thread's activity history.

The state bar presents `Investigating`, `Waiting for customer`, `Paused`, and
`Done` as state choices. A paused thread also presents **Wake now**; a done thread
also presents **Reopen**. A thread in `Needs first response` or `Needs next
response` displays its derived state as a non-clickable current label.

## Change state and respond

Changing a state tells the Desk how the thread is being handled. Replying records
the customer-facing response; an internal note records information for your team.

**Prerequisites**

- You have opened the thread you want to handle.
- You have the reply or internal note text ready.
- For a duplicate action, you have the positive ticket number of the canonical thread.

**Steps**

1. Select the state action that matches the work:

   | If you need to… | Select |
   |---|---|
   | Take the thread for yourself | Press `A`. |
   | Investigate the thread | **Investigating** |
   | Wait for the customer | **Waiting for customer** |
   | Pause the thread | **Paused** |
   | Complete the thread | **Done** |
   | Wake a paused thread | **Wake now** |
   | Reopen a completed thread | **Reopen** |
2. Choose what you need to write:

   | If you need to… | Use |
   |---|---|
   | Send a customer-facing response | **Reply body** |
   | Record information for your team | **Internal note** |

3. Enter the text in the selected field.
4. Select **Preview** when you need to check the rendered Markdown.
5. Select **Write** to return from the preview to the composer.
6. Select the send action that matches the result you need:

   | If you need to… | Select |
   |---|---|
   | Send the reply and keep the thread open | **Send** |
   | Send the reply and mark the thread done | **Send & done** |

7. If a knowledge-gap card offers **Draft with AI**, select it to start a document
   draft for that gap.
8. When the Copilot answer is ready, select **Add to composer** to place it in the
   reply draft.

**Result:** The selected reply, note, state action, or document draft is shown in
the corresponding Desk surface. Use the variation that matches the thread's state
or triage route when a special path is needed.

## Handle state and thread variations

Triage is the starting view for fresh, unowned work. Paused and done threads use
different follow-up actions, and a duplicate thread requires a canonical ticket
number before it can be merged.

**Prerequisites**

- You have opened the relevant thread.
- For a triage action, the thread is in `Triage`.
- For a wake action, the thread is paused.
- For a reopen action, the thread is done.

**Steps**

1. Choose the applicable route:

   | If you need to… | Action |
   |---|---|
   | Accept triage work and assign it to yourself | Press `1` or `A`. |
   | Mark the thread as a duplicate | Press `2`. |
   | Decline triage work | Press `3`. |
   | Snooze triage or thread work | Press `H` or `Z`. |
   | Complete thread work | Press `E` or select **Done**. |
   | Focus the composer | Press `R`. |
   | Toggle an internal note | Press `N` or select **Internal note**. |
   | Focus Docs Copilot | Press `D`. |
   | Send a reply | Press `⌘⏎` or select **Send**. |
   | Send a reply and complete the thread | Press `⌘⇧⏎` or select **Send & done**. |
   | Open the shortcut map | Press `?`. |

 2. If you are snoozing the thread, choose when to resume it:

    | If you need to… | Select |
    |---|---|
    | Resume the thread in one hour | **1 hour** |
    | Resume the thread tomorrow morning | **Tomorrow 9:00** |
    | Resume the thread next week | **Next week** |

 3. For a duplicate, enter the canonical ticket number in the duplicate ticket
   number field.
4. Choose what to do with the dialog:

   | If you need to… | Select |
   |---|---|
   | Merge the thread into the canonical ticket | **Merge into ticket** |
   | Leave the duplicate dialog without merging | **Cancel** |

5. If the thread has no reporter email, select **Internal note** when the message
   must not be customer-facing.

When the knowledge-gap condition applies, the card appears in `Triage` or `Needs
first response` after the first three thread rows. Select **Draft with AI** on the
card to start the document draft.

**Result:** The selected variation is handled with its matching state action,
snooze choice, duplicate dialog, knowledge-gap action, or shortcut. The thread is
ready for the recovery guidance or next-queue guidance below.

## When an action does not complete

The Desk provides messages for empty states, missing customer contact information,
Copilot failures, preview failures, and duplicate handling.

| What you see | What to do |
|---|---|
| `No project selected` | Select a project from the switcher before opening Desk work. |
| `No thread open` | Select and open a thread from a queue. |
| `Nothing here` | Select another queue, or wait for new work in `Triage` and `Needs first response`. |
| `New threads land in Triage and Needs first response.` | Look in **Triage** or **Needs first response** for new threads. |
| `No email on file — the customer can only see this on their tracking page.` | Select **Internal note** when the customer must not receive the response. |
| `Copilot needs the docs index — generate docs first.` | Generate the documentation index before using Copilot. |
| `Couldn’t load this page preview.` | Return to the answer or draft and continue without the page preview. |
| `Mark #ATL-<ticket number> as duplicate` | Enter the canonical ticket number in the duplicate ticket number field, then select **Merge into ticket**. |
| `Closes this thread with a pointer into the canonical one — the full thread stays readable.` | Confirm that the canonical ticket number is correct before merging. |

## Know what happens next

A changed thread remains in a queue only while it matches that queue's state or
ownership rule. Accepting, declining, or snoozing fresh triage work removes it from
the triage view; a state change can move it to another queue.

After completing an action, continue in [Work from Desk](doc:work-from-desk) for
the broader triage procedure. Use [Desk overview](doc:desk-overview) when you need
the work-hub orientation again.

**Result:** The thread is in the queue that matches its resulting state or
ownership, and you know which Desk page to use for the next task.
