Slack
Slack integration uses the Events API with webhooks for inbound messages and the Web API for sending.
- Create a Slack App at api.slack.com/apps
- Under OAuth & Permissions, add these bot token scopes:
chat:write— Send messagesfiles:read— Read file attachmentsfiles:write— Upload files
- Install the app to your workspace and copy the Bot User OAuth Token
- Under Event Subscriptions, enable events and set the request URL to your KinBot webhook endpoint
- Subscribe to bot events:
message.channels,message.groups,message.im - Copy the Signing Secret from Basic Information
- In KinBot, add a Slack channel with both the bot token and signing secret
Configuration
Section titled “Configuration”| Field | Required | Description |
|---|---|---|
| Bot Token | ✅ | Bot User OAuth Token (stored encrypted) |
| Signing Secret | ✅ | For webhook request verification (stored encrypted) |
| Allowed Channel IDs | ❌ | Restrict to specific Slack channels |
How It Works
Section titled “How It Works”- Inbound: Slack sends events to KinBot’s webhook endpoint. The adapter verifies the request signature (v0), handles URL verification challenges, and routes messages to the Kin.
- Outbound: Messages are sent via
chat.postMessage. Long messages (>4,000 chars) are split automatically. Files are uploaded viafiles.upload.
Features
Section titled “Features”- Text messages with Slack mrkdwn formatting
- File attachments (inbound and outbound)
- Reply threading via
thread_ts - Request signature verification for security
- Automatic message chunking
- Channel and DM support
Requirements
Section titled “Requirements”- Your KinBot instance must be publicly reachable for Slack event webhooks
- Configure
PUBLIC_URLin your KinBot environment