Competitor finding to backlog
Turn a competitor finding into an opportunity on the Deck backlog, or add it as evidence to an opportunity that exists.
This page is an agent-readable workflow for Deck. Humans can follow along. Coding agents should treat the steps as the source of truth.
Competitor finding to backlog — agent workflow
- Use it when: the user says "add this competitor weakness to our backlog", "promote this teaser" or "attach these competitor reviews to our export opportunity".
- Outcome: the Deck backlog has one opportunity with the competitor evidence attached. Deck can also match the user's own customer feedback to it. Or an opportunity that exists gets more competitor evidence.
- Needs: Deck MCP, Competitors on for the workspace and a published competitor report. Any member with MCP access can use the write tools in this workflow.
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. Stop this workflow until the tools work.
2. Find the finding
When the user came from the competitor gaps workflow, use the IDs from that workflow and go to step 3. Otherwise, find the finding with explore_competitors:
- A subtheme: call it with
view: "subthemes"andgroup(strengths,weaknesses,otherorall). Then call it with thesubtheme_idto read its quotes and competitor mix. - An opportunity teaser: call it with
view: "teasers". Then call it with the teaser ID asopportunity_idto read its insights. - Chosen competitor insights: call it with
view: "insights"andlimit: 100. Addsubtheme_idorcompetitor_idas filters. Page withcursor.
feature_unavailable means that Competitors is off. An organization admin turns it on in Settings → Competitors. Stop.
Show the finding to the user and confirm that it is the right one.
3. Check for an opportunity that exists
Make these calls at the same time:
search_deckwith a keyword from the finding andtypesset toopportunity.explore_opportunity_backlogwithmin_evidence: 0.
When a related opportunity exists, ask: "Add this evidence to the opportunity that exists, or create a new one?" Promoting the same subtheme or teaser again returns the opportunity that exists. It does not make a copy.
4. Prepare the write
New opportunity. Prepare the inputs for create_opportunity_from_competitor_finding:
source_type:subtheme,opportunity_teaserorinsights.source_id: the subtheme or teaser ID. Use it withsubthemeandopportunity_teaser.insight_ids: 1-100 competitor insight IDs. Use it withinsights.title: 1-255 characters. Name the customer problem, not the competitor.include_first_party_feedback:truelets Deck agents match the user's own customer feedback to the new opportunity. Recommendtruewhen the competitor gaps workflow found first-party evidence.
Opportunity that exists. Prepare the inputs for add_competitor_insights_to_opportunity: the opportunity_id and 1-100 competitor insight IDs. This tool takes only competitor insight IDs. For the user's own insights, themes or subthemes, use add_opportunity_evidence.
5. Show the plan and get a yes
Show the tool, the finding, the title and the matching choice. Wait for a clear yes. Do not call a write tool before the yes.
6. Write
Call the tool from step 4.
- Check the result for a top-level
errorkey. Show the message to the user. - An identical call in the same organization within 24 hours returns the first result. It does not run again.
- After
add_competitor_insights_to_opportunity, Deck does not match first-party feedback again. Duplicate insight IDs are ignored. MCP cannot remove competitor insights from an opportunity.
7. Check the result
Call explore_opportunity_backlog with the opportunity_id. The default backlog list hides items with fewer than 3 pieces of evidence, so always read the item by its ID.
- Check that the evidence lists the competitor insights.
- Read
first_party_matching. While Deck agents still match feedback, tell the user that more evidence can arrive. The Deck page shows "Agents at work" until the match finishes. - Give the user the
deck_url.
8. Next steps (optional)
Offer these steps. Get a yes before each write.
- Scope the opportunity to a segment:
set_opportunity_segments. It replaces the earlier segments. - Link it to an initiative that exists:
link_opportunity_initiative. - Start an initiative from it:
create_initiative_from_opportunity. - Plan delivery: fetch and follow https://docs.getdeck.io/docs/agents/workflows/opportunity-to-delivery.md.
Rules
- Show the plan and get a yes before you call write tools.
- Use competitor insight IDs only with
add_competitor_insights_to_opportunityand theinsightssource type. Use first-party insight IDs only withadd_opportunity_evidence. - Do not start new research in this workflow.
start_competitor_researchandadd_competitorspend credits and send email. They need an explicit yes every time. - Quote Deck's numbers. Do not compute your own.
- If the user has more than one Deck organization, call
select_organizationfirst and passorg_idon every call.
Done when
explore_opportunity_backlogwith theopportunity_idshows the opportunity with the competitor evidence.- The user has the
deck_urland the status of first-party matching. - No write ran without a yes.
See also: Competitors, Opportunity Backlog and Write responses and retries.