Deck Docs
AgentsWorkflows

Workspace audit

Audit what Deck knows about your product, which sources and integrations feed it, how many credits are left, and where the gaps are.

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

Workspace audit — agent workflow

  • Use it when: the user asks "what does Deck know about us?", "audit my Deck workspace" or "is Deck set up correctly?", or before a planning cycle.
  • Outcome: the user has a short audit with Deck's numbers for sources, integrations, credits and coverage, and a ranked list of gaps. Each gap has one next step. Nothing changes in Deck.
  • Needs: Deck MCP. Any role with MCP access can run it. NPS and subthemes need the Starter plan or higher. Only organization admins can change settings, integrations and billing.

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.
  • More than one Deck organization: call select_organization, ask which one to audit, and pass its org_id on every later call.

2. Read the snapshot

Make these calls in parallel. They do not depend on each other.

  • get_overview: read the data counts, the top themes, the insights of the last 7 days and the segments. On the Starter plan or higher, also read nps_headline.
  • explore_workspace with view: "settings": read viewer_role and which features are on (NPS, segments, Competitors). A member cannot change these settings.
  • explore_workspace with view: "credits": read the plan, warning_level and blocked_items.
  • explore_integrations with no parameters: read counts and the state, flowing and lock_message of each integration.

3. Check the sources

  1. Call list_sources with no filters. Read total and processing_summary: active_count, credit_blocked_count and failed_count. The type breakdown in the message counts only the returned page, not the organization. For the count of each source type, call list_sources once for each content_type (USER_INTERVIEW, SALES_CALL, CUSTOMER_SERVICE_TICKET, SURVEY, WIDGET_FEEDBACK, CHAT_MESSAGE, EMAIL_RESPONSE, ANALYTICS and OTHER) with limit: 1, at the same time, and read total.
  2. When failed_count is more than 0, call list_sources with statuses: ["FAILED"]. Then pass up to 50 of those IDs as feedback_ids to get the reason for each failure.
  3. Call list_sources with import_source set to CSV, then with NOTION. Read status, total_rows and failed_rows of each upload.
  4. For each integration that explore_integrations marks needs_attention, call explore_integrations with its integration_type. Record the guidance.
  5. When Slack is active, call explore_integrations with integration_type: "SLACK" and view: "slack_channels". Record counts.needs_invite.

4. Check the coverage

Make these calls in parallel:

  • explore_themes with sort: "insight_count": the largest themes.
  • explore_themes with include_empty: true, sort: "insight_count" and direction: "asc": the themes with no insights come first.
  • explore_subthemes with the theme_id of each of the top 3 themes and segment_scope: "all_customers" (Starter plan or higher): read theme_summary.uncategorized_insight_count, the number of insights that are not in a subtheme yet. On the Free plan, record "needs Starter" and continue.
  • explore_segments: the segments and their insight counts. When segments are off, record that.
  • explore_opportunity_backlog: the items and the number of items that are hidden below min_evidence.
  • explore_nps (Starter plan or higher): the NPS summary, when NPS is on.
  • list_widgets: the active in-app feedback widgets and their feedback counts.
  • explore_competitors with no parameters: the tracked competitors, or suggested_competitors. Never add competitor names of your own.

5. Find the gaps

Mark each item that applies. Keep Deck's wording and numbers.

GapSignal in the resultsNext step
Few or no sourcesLow data counts in get_overview, or a low total in list_sourcesConnect feedback stack, Migrate surveys or Import interviews
One source type onlyOnly one content_type call in step 3 has a total above 0Add a second channel, for example support tickets or interviews
Broken integrationneeds_attention, or active and not flowingAn admin reconnects it in Settings → Integrations
Failed or waiting workfailed_count, credit_blocked_count or failed_rows above 0Credits readiness check, or fix the failure reason
Low creditswarning_level is exhausted, items_waiting or criticalCredits readiness check
Slack channels not syncedneeds_invite above 0Run /invite Deck in those channels. An admin adds them in Settings → Integrations → Slack
No in-app feedbacklist_widgets shows no active widgetInstall a feedback widget
Empty themesThemes from the include_empty call with 0 insightsReview the theme taxonomy
Thin backlogMost items are hidden below min_evidenceBring in more feedback first
Features offSegments, NPS or Competitors offAn admin turns them on. See Segments, NPS and Competitors

6. Write the audit

Write five short sections: Sources, Integrations, Credits, Coverage and Gaps. Put the most important gap first. Add the deck_url of each item, so the user can open it in Deck. When the user is a member, write each admin task as a request that the user can send to an organization admin.

Rules

  • This workflow only reads. Do not call write tools.
  • Quote Deck's numbers. Do not compute your own.
  • Do not compute percentages, totals or trends from the counts. Quote the values that Deck returns.
  • When a tool returns feature_unavailable, record the plan limit and continue. Do not stop the audit.
  • No MCP tool imports feedback or connects an integration. Do not say that the agent can do it.
  • Never ask for a dk_ API key, a password or a token.

Done when

  • The user has the five sections, and each number comes from a tool result in this session.
  • Each gap has one next step with a link or a Deck setting.
  • No write tool was called.