Deck Docs
AgentsWorkflows

Plan an initiative

Group related backlog opportunities into one Deck initiative with a goal, evidence and written sections.

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

Plan an initiative — agent workflow

  • Use it when: the user says "group these opportunities", "plan an initiative for onboarding" or "what should our next big bet be?"
  • Outcome: one initiative has a title, a goal, 2 to 6 linked opportunities, evidence from each of them, an overview and an outcomes section. Projects that already exist for those opportunities sit under the initiative.
  • Needs: Deck MCP. Any member with MCP access can use the Build write tools. A segment focus needs segments to be on.

1. Probe Deck MCP

Call get_user_context. This must be a real tool call.

2. Find the candidates

Make these calls at the same time:

  • explore_opportunity_backlog with limit: 25. Add category when the user names a type of problem. The list is in Deck's rank order.
  • list_initiatives with query set to the topic of the user. An initiative for the topic can exist already.

If an initiative for the topic exists, show it and ask: "Add to this initiative, or create a new one?"

Pick 2 to 6 opportunities that share one customer problem or one outcome. Open each one with explore_opportunity_backlog and its opportunity_id. Make these calls at the same time. Read brief, evidence, segment_ids, linked_initiatives and linked_projects.

Leave out an opportunity when its evidence does not match the shared problem. Say why.

3. Draft the plan

Show the user this draft:

  • Title: the shared outcome, for example "Faster first report for new admins".
  • Goal: one sentence with the change that the team wants. The user sets any target number.
  • Anchor: the opportunity with the best Deck rank. The initiative is created from it.
  • Opportunities: each one with Deck's impact score, evidence count and one reason to include it.
  • Segments: the segment IDs that most of the opportunities share, or none.
  • Projects: each Project in linked_projects. Warn that a move replaces the current parent initiative of that Project.

Get a yes before step 4.

4. Create the initiative

If the user picked an initiative that exists, use its initiative_id and go to step 5.

Else call create_initiative_from_opportunity with the anchor opportunity_id, title, goal and description. Deck creates the initiative with its overview, evidence and outcomes sections and links it to the anchor.

In a client that shows Deck views, you can call create_from_insights instead, with action: "create_initiative", title, goal and insight_ids. This call saves nothing. The user must click Create in Deck's review. After the click, find the initiative with list_initiatives and query set to the title. Then link the anchor with link_opportunity_initiative.

Make these calls at the same time:

  • link_opportunity_initiative with each other opportunity_id and the initiative_id. Other links of the opportunity stay.
  • add_initiative_insights with the initiative_id and up to 100 insight IDs from the evidence of the other opportunities. Use the source_id of each evidence row with source_type: "INSIGHT".
  • set_project_initiative with each approved project_id and the initiative_id.
  • set_initiative_segments with the approved segment_ids, only when the draft has segments. It replaces the current segment set.

6. Write the sections

Call explore_build_initiatives with the initiative_id. Read the current sections. update_initiative_section replaces the whole section, so keep what the user wrote before. Send content_jsonb in the format that explore_build_initiatives returns for sections.

  • update_initiative_section with section_key: "overview": the shared problem in the customers' words, why it matters now, and the linked opportunities.
  • update_initiative_section with section_key: "outcomes": the goal, and what must change in the feedback when the work ships.

To change the goal later, use update_initiative_goal.

7. Set the status

Call update_initiative_status with status: "exploring", or the status that the user picks. Never set archived unless the user asks for it.

8. Confirm

Make these calls at the same time:

  • explore_build_initiatives with the initiative_id. Report the title, the goal, the evidence, the Project status counts and the deck_url.
  • explore_opportunity_backlog with each linked opportunity_id. Check that linked_initiatives lists the initiative.

For each opportunity that has no Project yet, offer the Opportunity to delivery workflow.

Rules

  • Group by the customer problem, not by the team or the code area.
  • Keep 2 to 6 opportunities in one initiative. Propose a second initiative for more.
  • Use only IDs that Deck returned. Never invent IDs.
  • Quote Deck's numbers. Do not compute your own. Do not invent a target number for the goal.
  • Show the plan and get a yes before you call write tools.
  • Never ask for a dk_ API key.

Done when

  • explore_build_initiatives shows the initiative with a goal, evidence, an overview and an outcomes section.
  • Each approved opportunity lists the initiative in linked_initiatives.
  • Each approved Project sits under the initiative.

See also: Initiatives, Opportunity Backlog and Segments.