Skip to content

Document Internal Slack channels - #1601

Open
meryldakin wants to merge 1 commit into
mainfrom
meryl-internal-slack-channel-docs
Open

Document Internal Slack channels#1601
meryldakin wants to merge 1 commit into
mainfrom
meryl-internal-slack-channel-docs

Conversation

@meryldakin

@meryldakin meryldakin commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Documents how to create and use a managed Internal Slack channel

@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 12, 2026 2:41pm

Request Review

@meryldakin
meryldakin marked this pull request as ready for review August 12, 2026 14:41

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.mdx is 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 @meryldakin is 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.
Open in Web View Automation 

Sent by Cursor Automation: Docs PR classifier

@cellomatt cellomatt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: "Messaging your Slack workspace",
title: "Messaging your workspace",

This might fit better in the sidebar? Some of the existing ones are cut off too but this might help at least for this one

Image

text={
<>
The <strong>Internal Slack channel</strong> is a managed Knock channel
backed by the Knock Slack extension. A <strong>Slack destination</strong>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we're missing a space or a {" "} here after "Slack destination"

Image

## 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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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**.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants