The Roy OS Slack integration allows the meeting agent to read channel history for meeting preparation context and post meeting summaries and action items back to your team's channels. The agent acts as a Slack bot that your workspace administrators fully control.
| Capability | Description |
|---|---|
| Read channel history | Before a meeting, the agent reads recent messages from designated channels to understand ongoing discussions, prior decisions, and team context. |
| Post meeting summaries | After a meeting, the agent posts a structured summary (key decisions, discussion points) to a designated channel. |
| Post action items | Action items extracted from meetings are posted to channels with assignees and due dates. |
| OAuth Bot Scope | Why It's Needed |
|---|---|
channels:history | Read messages from public channels the bot is invited to |
groups:history | Read messages from private channels the bot is invited to |
channels:read | List which channels the bot is a member of (for the channel selector UI) |
chat:write | Post meeting summaries and action items to channels |
chat:write.public | Post to public channels the bot hasn't explicitly joined (for broadcast channels) |
You'll need Slack workspace admin access and access to your organization's Azure Key Vault.
Go to api.slack.com/apps → Create New App → From scratch. Name it "Roy OS" (or your preferred name) and select your workspace.
Navigate to OAuth & Permissions → Scopes → Bot Token Scopes. Add the five scopes listed above: channels:history, groups:history, channels:read, chat:write, chat:write.public.
Click Install to Workspace and authorize. Copy the Bot User OAuth Token (starts with xoxb-). Also note the Client ID and Client Secret from the Basic Information page.
Add three secrets to your Azure Key Vault:
| Secret Name | Value |
|---|---|
slack-client-id | Client ID from Slack app |
slack-client-secret | Client Secret from Slack app |
slack-bot-token | Bot User OAuth Token (xoxb-...) |
In each Slack channel you want Roy to read from or post to, type /invite @RoyOS (or your bot's name). The bot can only access channels it has been explicitly invited to.
Roy AI runs an integration smoke test: OAuth flow validation, token exchange, and a test API call to confirm the bot can read and write to at least one channel.
| Action | How |
|---|---|
| Add a channel | Invite the bot to a new channel with /invite @RoyOS |
| Remove a channel | Kick the bot from the channel with /remove @RoyOS. Immediate effect. |
| Pause integration | Deactivate the Slack app in api.slack.com. Bot token stops working immediately. Re-activate to resume. |
| Revoke permanently | Delete the Slack app. All tokens invalidated. Roy OS loses all Slack access. |
| Rotate credentials | Regenerate client secret in Slack app settings. Update the Key Vault secret. Roy OS picks up the new value automatically. |
No. The bot only has channels:history and groups:history scopes, which apply to channels the bot has been invited to. It has no access to direct messages.
Yes. Roy only posts to channels configured by your team. You can also remove the bot from any channel at any time to stop both reading and posting.
Channel messages read by Roy are used as context for meeting preparation and may be extracted into memory facts (decisions, commitments). Your organization's data retention policy governs how long memory facts are retained. The original messages remain in Slack under your workspace's retention policy.
Go to your Slack app settings → Basic Information → regenerate the Client Secret. Then update the slack-client-secret value in your Azure Key Vault. For the bot token, reinstall the app to your workspace to generate a fresh xoxb- token and update slack-bot-token in Key Vault. Roy OS retrieves secrets from Key Vault at runtime — no application restart needed.