feat: integration tools visibility, channel connected status, and connect CTA fixes#674
Open
feat: integration tools visibility, channel connected status, and connect CTA fixes#674
Conversation
…nect CTA fixes - Show MCP tools grid on every integration detail page (no account required) - Show Connected badge for messaging channels and AI providers on Connect page - Fix Slack CTA from "View Docs" to "Connect" linking to /home/integration/slack - Guard conversation list against undefined when API returns 500 Closes #567, #581 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses issues #567 and #581 — improving integration discoverability and connection status visibility across the UI.
What was done and why
1. MCP Tools grid on integration detail pages (#567)
Users opening an integration page (e.g.
/home/integration/slack) had no visibility into what the integration could actually do. Added a "Tools (N)" grid below the Connected Accounts section that lists every available MCP tool with its name and description.Key decision: tools are loaded via
IntegrationRunner.getTools()which only needs the integration definition (not a connected account), so the grid shows for all integrations whether connected or not — giving users a reason to connect in the first place.2. Connected status badges on Connect page (#581, part 1)
The Connect page (
/home/agent/connect) showed channels and AI providers with no indication of which ones were already set up. Added green "Connected" badges:connectedChannelsloader dataMCPSessionrecords — thesourcefield matches the?source=param each tool uses when connectingAlso suppressed the "Available" badge when a channel is already connected to avoid redundant status labels.
3. Slack "View Docs" → "Connect" CTA (#581, part 2)
The Slack card on the Connect page showed a "View Docs" button that opened external docs in a new tab. Users had no direct path to actually connect Slack from this page. Changed it to a "Connect" button that navigates to
/home/integration/slack— the actual integration setup page.4. Conversation list crash guard (bug fix)
Fixed a crash in
ConversationListwherefetcher.data.conversationscould beundefinedwhen the conversations API returns a 500, causing the entire page to error out. Added a?? []guard so the app degrades gracefully.Files changed
apps/webapp/app/routes/home.integration.$slug.tsx— loader fetches tools viaIntegrationRunner.getTools; component renders Tools gridapps/webapp/app/routes/home.agent.connect.tsx— Connected badges for channels and providers; Slack CTA fix; active MCP session lookup in loaderapps/webapp/app/components/conversation/conversation-list.tsx— null guard on conversations arrayTest plan
/home/integration/slack🤖 Generated with Claude Code