Connect feedback stack
Connect the feedback tools that the team already uses to Deck as native integrations, and confirm that their data arrives.
This page is an agent-readable workflow for Deck. Humans can follow along. Coding agents should treat the steps as the source of truth.
Connect feedback stack — agent workflow
- Use it when: the user says "connect our Slack and Intercom to Deck", "hook up our feedback tools" or "why does no data come in from Zendesk?"
- Outcome: each feedback tool of the team is
activein Deck with data flowing, or has a clear blocker and one next step. - Needs: Deck MCP. An organization admin connects integrations in Settings → Integrations. Plan limits apply: the Free plan allows 1 integration (Linear and Jira do not use it), Starter allows 5. Intercom and Zendesk need Starter or higher. CRM integrations need Business or higher.
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 use, and pass itsorg_idon every later call.
2. Read the current state
Make these two calls in parallel:
explore_integrationswith no parameters: readcounts, and for each integrationstate,flowing,connect_locked,lock_messageanddeck_url.explore_workspacewithview: "settings": readviewer_role. Only anadmincan connect an integration.
3. Map the team's tools
Ask the user which tools hold customer feedback. Then match each tool to a Deck path:
| Team tool | Deck path |
|---|---|
| Slack, Intercom, Zendesk, Gong, PostHog, Notion, Confluence | Native integration (integration_type SLACK, INTERCOM, ZENDESK, GONG, POSTHOG, NOTION or CONFLUENCE) |
| Salesforce, HubSpot, Attio | Native CRM integration (SALESFORCE, HUBSPOT or ATTIO). It adds customer data for segments. |
| Linear, Jira | Native integration (LINEAR or JIRA) for roadmap work, not for customer feedback. See Import the Linear roadmap and Import Jira epics. |
| Survey tools, for example Typeform or Qualtrics | Migrate surveys |
| Interview recordings or transcripts | Import interviews |
| Feedback inside the product | The Deck feedback widget. See Install a feedback widget. |
| Another tool | The Public API. The user creates the key in Deck. Never ask for it. |
Show the list to the user. Start with the tool that holds the most feedback.
4. Get the connection steps
For each native integration on the list, call explore_integrations with its integration_type.
connect_lockedis true: give the userlock_message. An admin also getsupgrade_url. Skip this tool and continue with the next one.stateisnot_connectedorneeds_attention: give the user thedeck_urland the docs page (docs_url). When the result hasconnection_instructions, give those steps too.- The user is a member: write one short request that the user can send to an organization admin. List each integration with its
deck_url.
Connect one integration at a time. Wait until the user says that it is connected.
5. Finish Slack and Notion setup
- Slack: call
explore_integrationswithintegration_type: "SLACK"andview: "slack_channels". For each channel wherebot_in_channelis false, tell the user to run/invite Deckin that channel. An admin adds channels in Settings → Integrations → Slack. Never say that a channel was added untilalready_syncedis true. - Notion: a connection only gives Deck access. The user imports pages in Manage → Notion. See Notion.
- Gong: an admin sets the sync rules in Settings → Integrations → Gong. See Gong.
6. Confirm that data flows
- Call
explore_integrationswith theintegration_type. Readstate,flowing,last_sync_atandsynced_item_count. - Call
list_sourceswithsourceset to the integration, for exampleslack,intercom,zendesk,gong,posthogornotion. Readprocessing_summary. - When
active_countis more than 0 orsync_in_progressis true, wait about 10 seconds and calllist_sourcesagain. Stop after 5 checks and tell the user that the sync continues in the background. - For Intercom and Zendesk, call
list_sourceswithsourceandsynthesized: falseto see tickets that synced but that Deck did not process yet. - Call
read_transcripton one new source to show the user what Deck extracted.
7. Report
Give one row for each tool: Deck state, data flowing (yes or no), Deck's synced item count, the blocker and the next step. Add the deck_url of each integration.
Rules
- No MCP tool connects an integration, adds a Slack channel or imports Notion pages. The user does it in the Deck web app.
- Only organization admins manage integrations. A member asks an admin.
- Never ask for OAuth tokens, passwords or a
dk_API key. - Do not say that a tool is connected until
explore_integrationsreturnsactivefor it. - Quote Deck's numbers. Do not compute your own.
- This workflow only reads. Do not call write tools.
Done when
- Each tool on the user's list is
activewithflowingtrue, or has a blocker and a next step. - The user has the report with the
deck_urlof each integration.