Document Internal Slack channels - #1601
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Risk MEDIUM: Documents Internal Slack channels with a substantial rewrite of existing Slack integration docs and a sidebar title update.
Reasons
- Sidebar navigation is modified in
data/sidebars/integrationsSidebar.ts(MEDIUM trigger). sending-an-internal-message.mdxis substantially rewritten with 94 additions and 86 deletions (MEDIUM trigger).- Changes span multiple integration doc areas: Slack chat pages (
content/integrations/chat/slack/) and the Slack extension page (content/integrations/extensions/slack.mdx). - No HIGH-risk triggers: no component, layout, lib, or build config changes; only MDX content and sidebar data.
- Author
@meryldakinis a known repository contributor.
Notes
- Verify the rewritten Internal Slack channel setup flow matches the current Knock dashboard UI and permissions model.
- Confirm cross-links between the overview, internal messaging, and Slack extension pages resolve correctly and do not 404.
- Review the updated Slack permissions table for accuracy, especially new scopes (
chat:write.public,channels:read,groups:read,im:read,im:write). - Check that removing the incoming-webhook/Object-based workflow docs does not leave broken references elsewhere in the docs site.
Sent by Cursor Automation: Docs PR classifier
cellomatt
left a comment
There was a problem hiding this comment.
Approving to not block shipping, but there are some things to be addressed. In particular, we should make a decision on "Internal" vs. "internal"
| Knock's Slack integration enables you to send notifications to [Slack channels](https://docs.knock.app/integrations/chat/slack/sending-a-message-to-channels) and [direct messages](https://docs.knock.app/integrations/chat/slack/sending-a-direct-message) to users via an authenticated Slack app, or via [webhooks for internal workspaces](https://docs.knock.app/integrations/chat/slack/sending-an-internal-message). You can create rich message templates using [markdown](#markdown-templates) or [Slack's block kit framework](#block-based-templates), and build integrations where customers connect your Slack app to their Slack workspaces. | ||
| Knock's Slack integration enables you to: | ||
|
|
||
| - [Send messages to your team's Slack workspace](/integrations/chat/slack/sending-an-internal-message) using a managed Internal Slack channel. |
There was a problem hiding this comment.
Per the comment in standup this morning, just want to be sure that "Internal Slack" is how we want to refer to this? I think this was the update from (Internal) but just wanted to be sure that this is the phrasing we landed on
There was a problem hiding this comment.
It looks like the changelog is using "internal Slack" (i.e. not a proper noun Internal), so maybe we can use that across the board and reference the Internal badge in particular with code syntax?
| { | ||
| slug: "/sending-an-internal-message", | ||
| title: "Sending an internal message", | ||
| title: "Messaging your Slack workspace", |
| text={ | ||
| <> | ||
| The <strong>Internal Slack channel</strong> is a managed Knock channel | ||
| backed by the Knock Slack extension. A <strong>Slack destination</strong> |
| ## Before you begin | ||
|
|
||
| Individual Objects exist within [a collection](/concepts/objects#collection-naming) and always have [a unique ID](/concepts/objects#the-object-identifier) or key within that collection. The Object itself can store any number and type of properties as key-value pairs. You can see some examples of possible Object structures in [the official documentation on setting Object data](/concepts/objects#sending-object-data-to-knock). | ||
| To create an Internal Slack channel, you need a Knock role with permission to manage both channels and extensions. After it is created, team members with permission to edit workflows can use it in workflow steps. |
There was a problem hiding this comment.
| To create an Internal Slack channel, you need a Knock role with permission to manage both channels and extensions. After it is created, team members with permission to edit workflows can use it in workflow steps. | |
| To create an Internal Slack channel, you need a Knock [role](/manage-your-account/roles-and-permissions) with permission to manage both channels and extensions. After it is created, team members with permission to edit workflows can use it in workflow steps. |
| Once you have a repository object created, you can add the channel data for Slack as a connection on the object. | ||
| <Steps titleSize="h3"> | ||
| <Step title="Choose Internal Slack"> | ||
| In the Knock dashboard, open **Settings > Channels and sources** and click |
There was a problem hiding this comment.
| In the Knock dashboard, open **Settings > Channels and sources** and click | |
| In the Knock dashboard, open <a href="https://dashboard.knock.app/~/settings/integrations/channels" target="_blank">**Settings > Channels and sources**</a> and click |
Now that we can link straight to the dashboard, nice to add
| 4. After installing, you'll be redirected to Knock to finalize the installation. | ||
| 5. Prompt the Knock agent in a direct message or tag `@Knock` in any channel. | ||
|
|
||
| Connecting the extension does not create an Internal Slack channel automatically. To use the connection for workflow messages, create an Internal Slack channel from **Settings > Channels and sources**. |
There was a problem hiding this comment.
| Connecting the extension does not create an Internal Slack channel automatically. To use the connection for workflow messages, create an Internal Slack channel from **Settings > Channels and sources**. | |
| Connecting the extension does not create an Internal Slack channel automatically. To use the connection for workflow messages, create an Internal Slack channel from <a href="https://dashboard.knock.app/~/settings/integrations/channels" target="_blank">**Settings > Channels and sources**</a>. |
|
|
||
| ### Sending workflow messages to Slack | ||
|
|
||
| After connecting the extension, you can create one managed Internal Slack channel for your Knock project. Workflow authors can use that Knock channel to select a Slack channel or person as the destination for each step, without managing a Slack app, bot token, or recipient channel data. |
There was a problem hiding this comment.
| After connecting the extension, you can create one managed Internal Slack channel for your Knock project. Workflow authors can use that Knock channel to select a Slack channel or person as the destination for each step, without managing a Slack app, bot token, or recipient channel data. | |
| After connecting the extension, you can create one managed Internal Slack channel for your Knock account. Workflow authors can use that Knock channel to select a Slack channel or person as the destination for each step, without managing a Slack app, bot token, or recipient channel data. |
| ## Disconnecting Slack | ||
|
|
||
| Users can disconnect their linked Slack account from their user settings under "Settings > Profile > Overview" at any time. Once disconnected, they will no longer be able to use the Knock Slack extension. | ||
| Users can disconnect their linked Slack account from their user settings under **Settings > Profile > Overview** at any time. Once disconnected, they will no longer be able to use the Knock Slack extension as that user. |
There was a problem hiding this comment.
| Users can disconnect their linked Slack account from their user settings under **Settings > Profile > Overview** at any time. Once disconnected, they will no longer be able to use the Knock Slack extension as that user. | |
| Users can disconnect their linked Slack account from their user settings under <a href="https://dashboard.knock.app/~/settings/profile" target="_blank">**Settings > Profile > Overview**</a> at any time. Once disconnected, they will no longer be able to use the Knock Slack extension as that user. |
| Users can disconnect their linked Slack account from their user settings under "Settings > Profile > Overview" at any time. Once disconnected, they will no longer be able to use the Knock Slack extension. | ||
| Users can disconnect their linked Slack account from their user settings under **Settings > Profile > Overview** at any time. Once disconnected, they will no longer be able to use the Knock Slack extension as that user. | ||
|
|
||
| An administrator can manage or disconnect the workspace extension from **Settings > Extensions**. Disconnecting the workspace stops agent sessions and Internal Slack delivery. Any Internal Slack channel and its workflow references are preserved so delivery can resume after the workspace is reconnected. |
There was a problem hiding this comment.
| An administrator can manage or disconnect the workspace extension from **Settings > Extensions**. Disconnecting the workspace stops agent sessions and Internal Slack delivery. Any Internal Slack channel and its workflow references are preserved so delivery can resume after the workspace is reconnected. | |
| An administrator can manage or disconnect the workspace extension from <a href="https://dashboard.knock.app/~/settings/integrations/extensions" target="_blank">**Settings > Extensions**</a>. Disconnecting the workspace stops agent sessions and Internal Slack delivery. Any Internal Slack channel and its workflow references are preserved so delivery can resume after the workspace is reconnected. |
| | `channels:read` | Lists public channels so workflow authors can choose an Internal Slack destination. | | ||
| | `channels:history` | Reads recent messages in public channel threads (via `conversations.replies`) so the agent has conversation context when a user continues a thread. Limited to the 25 most recent messages in that thread. | | ||
| | `groups:read` | Lists private channels where the Knock Slack app is a member so workflow authors can choose them as Internal Slack destinations. | | ||
| | `groups:history` | Same as `channels:history`, but for private channels and group DMs (mpim), so thread context works outside public channels. | |
There was a problem hiding this comment.
| | `groups:history` | Same as `channels:history`, but for private channels and group DMs (mpim), so thread context works outside public channels. | | |
| | `groups:history` | Same as `channels:history`, but for private channels and group DMs (multi-party instant messages), so thread context works outside public channels. | |
idk if this is just a me thing but I had to google this... I think it's clearer to either spell it out or cut it altogether.




Summary
Documents how to create and use a managed Internal Slack channel