---
title: "Connect feedback stack"
description: "Connect the feedback tools that the team already uses to Deck as native integrations, and confirm that their data arrives."
url: "/docs/agents/workflows/connect-feedback-stack"
---

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 `active` in 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](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 its `org_id` on every later call.

## 2. Read the current state

Make these two calls in parallel:

* `explore_integrations` with no parameters: read `counts`, and for each integration `state`, `flowing`, `connect_locked`, `lock_message` and `deck_url`.
* `explore_workspace` with `view: "settings"`: read `viewer_role`. Only an `admin` can 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](/docs/agents/workflows/import-linear-roadmap) and [Import Jira epics](/docs/agents/workflows/import-jira-epics). |
| Survey tools, for example Typeform or Qualtrics             | [Migrate surveys](/docs/agents/workflows/migrate-surveys)                                                                                                                                                                             |
| Interview recordings or transcripts                         | [Import interviews](/docs/agents/workflows/import-interviews)                                                                                                                                                                         |
| Feedback inside the product                                 | The Deck feedback widget. See [Install a feedback widget](/docs/agents/workflows/install-feedback-widget).                                                                                                                            |
| Another tool                                                | The [Public API](/docs/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_locked` is true: give the user `lock_message`. An admin also gets `upgrade_url`. Skip this tool and continue with the next one.
* `state` is `not_connected` or `needs_attention`: give the user the `deck_url` and the docs page (`docs_url`). When the result has `connection_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_integrations` with `integration_type: "SLACK"` and `view: "slack_channels"`. For each channel where `bot_in_channel` is false, tell the user to run `/invite Deck` in that channel. An admin adds channels in Settings → Integrations → Slack. Never say that a channel was added until `already_synced` is true.
* Notion: a connection only gives Deck access. The user imports pages in Manage → Notion. See [Notion](/docs/integrations/notion).
* Gong: an admin sets the sync rules in Settings → Integrations → Gong. See [Gong](/docs/integrations/gong).

## 6. Confirm that data flows

1. Call `explore_integrations` with the `integration_type`. Read `state`, `flowing`, `last_sync_at` and `synced_item_count`.
2. Call `list_sources` with `source` set to the integration, for example `slack`, `intercom`, `zendesk`, `gong`, `posthog` or `notion`. Read `processing_summary`.
3. When `active_count` is more than 0 or `sync_in_progress` is true, wait about 10 seconds and call `list_sources` again. Stop after 5 checks and tell the user that the sync continues in the background.
4. For Intercom and Zendesk, call `list_sources` with `source` and `synthesized: false` to see tickets that synced but that Deck did not process yet.
5. Call `read_transcript` on 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_integrations` returns `active` for 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 `active` with `flowing` true, or has a blocker and a next step.
* The user has the report with the `deck_url` of each integration.

---

[View full sitemap](/docs/sitemap)
