---
title: "Prioritize the backlog"
description: "Pick the top opportunities from the Deck backlog and give a reason for each pick, with Deck's evidence."
url: "/docs/agents/workflows/prioritize-backlog"
---

This page is an agent-readable workflow for Deck. Humans can follow along. Coding agents should treat the steps as the source of truth.

# Prioritize the backlog — agent workflow

* **Use it when:** the user asks "what should we build next?", "rank the backlog" or "pick the top 3 opportunities for next quarter".
* **Outcome:** the user has a short ranked list of opportunities. Each pick has Deck's numbers, a reason, its risks and a Deck link. Items that are already in progress or have thin evidence are listed apart.
* **Needs:** Deck MCP. The backlog fills after Deck's background analysis runs on customer feedback. The optional write tools work for every member with MCP access.

## 1. Probe Deck MCP

Call `get_user_context`. This must be a real tool call.

* 401 Unauthorized: tell the user to connect Deck MCP in this client (Settings → Connections). Stop.
* No Deck tools: fetch and follow [https://docs.getdeck.io/docs/agents/getting-started/prompts/ai-pm.md](https://docs.getdeck.io/docs/agents/getting-started/prompts/ai-pm.md). Stop this workflow until the tools work.

## 2. Get the decision frame

Ask the user, in one message:

* How many picks? The default is 3.
* Which customers? All customers, or one segment.
* Which backlog tab? Problems and requests, usability issues, bugs and errors, or all.
* Is there a goal or a limit, for example "retention this quarter" or "no large rebuilds"?

Do not wait for every answer. Use the defaults for the questions the user skips. When the user names a segment, call `explore_segments` to get its ID.

## 3. Read the backlog

Call `explore_opportunity_backlog`. By default it shows what the Deck Backlog page shows: items with at least 3 pieces of evidence, in rank order. Add `category` (`problems_and_requests`, `usability_issues` or `bugs_and_errors`) when the user picked a tab.

* Read the impact score, sentiment and trend of each item, the counts per tab and the number of items hidden below `min_evidence`.
* When the list is empty or short, call it again with `min_evidence: 0`. Tell the user that these extra items have thin evidence.
* When the backlog is empty, Deck has not analyzed enough feedback yet. Tell the user to add feedback in the Deck web app or connect an integration. See [Opportunity Backlog](/docs/features/opportunity-backlog). Stop.

## 4. Open the candidates

Take the top 8 to 10 items in Deck's rank order. Call `explore_opportunity_backlog` with each `opportunity_id`. Make these calls at the same time.

From each result, read:

* `brief`: Deck's impact score out of 10, sentiment, trend, confidence, evidence counts and risk signals.
* The segments of the opportunity.
* The linked initiatives and linked Projects.
* `first_party_matching` for items from Competitors. While Deck agents still match feedback, the evidence count can grow. Say so.

## 5. Check the work in progress

Each linked Project in the step 4 result shows its status. An opportunity with a Project that is in progress or completed is not a new pick. List it under "Already in progress". Call `explore_build_projects` only when the user asks for the Project detail.

## 6. Read the evidence of the finalists

For the 3 to 5 strongest candidates, find 2 evidence rows with `source_type` `INSIGHT`. Call `explore_insights` with `insight_id` set to the `source_id` of each row. Make these calls at the same time. Use the quotes to write the reason in the customer's words.

## 7. Rank and give the reasons

Start from Deck's rank. Move an item up or down only for the user's goal, the segment fit or the work in progress. When you change Deck's order, say why in one sentence.

Show a table with these columns: pick, Deck rank, impact score, evidence count, trend, confidence, reason, risk and link. Below the table, list:

* **Already in progress:** items with a linked Project that is in progress or completed.
* **Thin evidence:** items that you found only with `min_evidence: 0`.
* **Not in the segment:** items without the user's segment, when the user picked one.

## 8. Act on the picks (optional)

Offer next steps. Show the plan and get a yes before each write.

* Scope a pick to a segment: `set_opportunity_segments`. It replaces the earlier segments.
* Link a pick to an initiative that exists: `link_opportunity_initiative`.
* Start an initiative from a pick: `create_initiative_from_opportunity`.
* Remove a stale item: `archive_opportunity`. This is a sensitive write. MCP cannot restore it. Get an explicit yes for each item, every time.

To plan delivery, fetch and follow [https://docs.getdeck.io/docs/agents/workflows/opportunity-to-delivery.md](https://docs.getdeck.io/docs/agents/workflows/opportunity-to-delivery.md). To group picks under one goal, fetch and follow [https://docs.getdeck.io/docs/agents/workflows/plan-initiative.md](https://docs.getdeck.io/docs/agents/workflows/plan-initiative.md).

## Rules

* Quote Deck's numbers. Do not compute your own.
* Do not make your own weighted score, such as RICE. If the user asks for one, use only Deck's inputs and label the result as yours.
* Show the plan and get a yes before you call write tools.
* After each write, check for a top-level `error` key. When `idempotency.replayed` is `true`, Deck did not run the write again. See [Write responses and retries](/docs/integrations/mcp#write-responses-and-retries).
* Deck tools do not create Linear or Jira items.
* If the user has more than one Deck organization, call `select_organization` first and pass `org_id` on every call.

## Done when

* The user has the number of picks they asked for. Each pick has Deck's numbers, a reason, a risk and a Deck link.
* Items that are in progress, have thin evidence or are outside the segment are listed apart.
* Each write that the user approved returned success, and you showed its result.

---

[View full sitemap](/docs/sitemap)
