shadcn.io is not affiliated with official shadcn/ui
Slack Detail Integration Block for React
An integration detail section for a spend tool connecting to Slack: a header with the mark pair and Add to Slack, then what it does, the Slack scopes it reads and writes, three steps to install and the listing's facts.
Installation
Overview
An integration detail section for React with Base UI, written for Pursefinch, a fictional spend tool for teams, and its Slack app. A start-aligned header names both ("Pursefinch for Slack") with one sentence. Behind a split divider that runs from the top rule to the block's foot sit the mark pair (Pursefinch's own tile and Slack's neutral lettermark tile, joined by a connector), the Add to Slack Shine Button and a View docs link. Under a band rule, the start column says what the app does (an approvals channel, a slash command, decisions in threads, alerts by direct message) and what it can read and write: every Slack scope it asks for in code, marked Read or Write by an icon and a word, with the reason beside it. The end column gives the three install steps on a numbered rail and the listing's facts: who built it, its category, its price and the day it was last updated. The block ends on content, so no rule closes it. On a phone the parts stack in reading order. The page's rails and top rule come from the Guides spine, so it lines up with its neighbours in a stack. It's built from Guides, Badge, Button and Shine Button, with CSS transitions for the entrance and your theme's tokens for every colour. Slack is named in text only: no Slack logo, colour or wordmark ships with the block. The product, its scopes and its facts are example data.
FAQ
Can I show Slack's logo?
The block names Slack in text, the way any integration page says what it works with ("Pursefinch for Slack", "Add to Slack"), and ships no Slack logo, colour or wordmark. Slack's tile is a neutral lettermark, Sl in a muted square, sitting in an icon slot that a code comment marks: drop in the official logo only if you have the rights to use it, under the owner's brand guidelines, and never redraw it. The pair is hidden from assistive technology because the heading already names both products.
Where should Add to Slack go?
Both buttons are links (href="#"). Point Add to Slack at your Slack app's install address, the OAuth page that asks the workspace to approve your scopes, and View docs at your setup guide. Nothing connects, signs in or sends anything from the block itself. Add to Slack is a Shine Button, the block's one primary action; View docs is an outline button.
Both buttons render the link they're given with render, with nativeButton={false}.
How do I change the permissions?
Edit PERMISSIONS at the top of the file. Each entry is a Slack scope (shown in code, left to right in any layout), its access (READ or WRITE, each an icon and a word, never a colour) and a short purpose. List exactly the scopes your app requests, reads first, so the page and the approval screen agree. The "3 read, 2 write" count beside the heading is worked out from the same list.
How do I use it for another service or product?
The product is PRODUCT and the service is SERVICE, a name and a two-letter mark for its lettermark tile. The letters are typed, not worked out from the name, so services that share a first letter stay apart (Slack Sl, Stripe St, Shopify Sh). MarkTile draws either side: filled for your product, with your logo as its child, and neutral for the service; it comes in a large size for the header and a small one for rows and cards. Then rewrite CAPABILITIES, STEPS and FACTS in that service's own terms.
How is the date kept from going stale?
The last update is a fixed day, UPDATED = "2026-09-30", never computed from today. A small helper spells it out as "Sep 30, 2026" the same way on the server and in every browser, and the time element keeps the machine-readable day. The other facts (built by, category, pricing) are a typed list, FACTS, read as a description list.
How does it fit on a phone, in right-to-left layouts and with reduced motion?
Below lg the divider gives way to rules between the parts, which stack in reading order: the header, the mark pair and buttons, what it does, the permissions, then the steps and the facts. In a right-to-left layout the columns and the step rail flip, while scopes, channels and commands keep their left-to-right order. The header and the buttons fade up once on load with CSS transitions; with reduced motion they simply appear. The block has no state.
Related
- Pro
Invite the App Setup Integration
Choose and verifyAn integration setup section for a spend approvals tool connecting to Slack: three steps (add the app under its five scopes, invite it with a copyable command, check that it joined) beside a drawn member list with a radar pulse that settles to Joined.
- Pro
Message Layouts Grid Integration
Cards and previewsAn integration grid section for a spend approvals tool posting to Slack: a list of six message layouts beside a framed preview that draws the chosen one as a greyscale message, with a drawn app tile, text, facts and action chips.
- Pro
Approvals by State Tabs Integration
Grouped and triagedAn integration list section for a spend approvals tool posting to Slack: underline tabs with counts (Waiting, Approved, Expired) over rail-to-rail request rows, with a channel in code, a state line, a reminder count and a Nudge button on waiting rows.
- Pro
Time to Approve Histogram Integration
Bars and columnsAn integration stats section for a spend approvals tool posting to Slack: a reverse split with a framed histogram of how long approvals took, a solid hairline at the median, and a list of figures worked out from the six bucket counts.
- Pro
Integration Logo Mark Grid Features
App screensA tabbed integration directory for an integration hub: twelve tiles with abstract monograms, each with a connect switch, three category tabs and a live count of what is connected.
- Pro
Depth Table Integrations About
Security and platformAn integration depth table for a data-sync service: seven systems in plain type with direction, sync frequency, sign-in method and a state dot, in a framed, scrolling table.