Slack Bot
AIephant OpenCore Bot lets approved Slack users ask questions through the OpenCore Slack listener. The Slack app, its tokens, channel membership, and reply policy remain administrator-managed boundaries.
This capability works only when the deployment runs the Slack bot listener and an Administrator can access the Slack Bots settings. Creating a record in OpenCore does not create a Slack app or start a listener that the deployment has disabled.
Availability and prerequisites
Create the Slack app from a manifest
The OpenCore form accepts tokens; it does not generate a Slack app manifest. In Slack, create an app from an app manifest, review the requested scopes, and install it in the approved workspace. The following template matches the current listener’s Socket Mode events and API calls; administrators must review it against current Slack requirements and remove optional capabilities they do not use.
The optional slash command and User Token scopes are included for the corresponding listener and enhanced private-channel search paths. If your deployment does not use them, remove them only after testing the resulting workflow.
Create an app-level token with the Socket Mode connection scope in Slack, then reinstall the app whenever Slack says changed scopes or events require it. Invite AIephant OpenCore Bot to each private or public channel it should receive; scopes do not grant channel membership.
Add the tokens in OpenCore
Open Admin Panel → Slack Bots → New Slack Bot and use the exact visible name AIephant OpenCore Bot. The backend validates each supplied token with Slack before saving it.
Store tokens only in the password fields and your approved secret-management process. Do not paste them into manifests, chat, tickets, logs, screenshots, or source control.
Channel and reply boundaries
Disabling the default configuration removes DM replies and leaves only explicitly configured channels. A question-mark filter, tag-only mode, response validity check, selected knowledge source, and per-channel disabled state can further suppress a reply.
Knowledge and privacy
Public channel replies use public knowledge within the selected scope. Document sets or search Agents that contain auto-synced permission-aware connectors are not selectable for ordinary channel-visible replies because the answer could expose private content.
Private ephemeral replies can use content already authorized for the requesting user when the selected search path supports it. Slack users can still copy or share a reply, so an ephemeral response is not a substitute for source authorization or company sharing policy.
Updates, enablement, and removal
Changing the Bot or App token causes the listener reconciliation loop to close the existing socket client and reconnect with the new token pair. Renaming the local record does not rename the Slack app; update the Slack app display name separately and keep both names as AIephant OpenCore Bot.
Turning Enabled off causes incoming requests for that bot record to be ignored. Turning it on resumes processing when the listener next reads the record. Deletion does not guarantee socket cleanup: reconciliation closes all clients only when the tenant has no bot records. If another bot remains, the deleted bot’s stale socket is not explicitly removed. Disable the bot before removal, revoke all Slack-side tokens associated with the record—the Bot, App, and any configured User token—and restart the listener when guaranteed in-memory cleanup is required; token rotation remains the safe path for a bot that will stay configured.
Verify
- Confirm Socket Mode is enabled, the app is installed, and the listener establishes a connection without logging token values.
- Mention AIephant OpenCore Bot in an approved channel and confirm one threaded reply.
- Send a DM and verify it follows the default configuration; disable the default configuration and confirm the DM becomes silent.
- Test an unconfigured channel, configured channel, non-member, allowlisted member, bot-authored message, and private reply.
- Rotate the App and Bot tokens, update them in OpenCore, and confirm the listener reconnects before revoking the old tokens.
Troubleshooting
Related pages
- Enterprise Integrations explains the conditional integration boundary.
- Slack connector covers Slack content indexing, which is separate from the interactive bot.
- Manage Agents explains the Agents selectable by a channel configuration.
- Usage, Identity & Security covers identity and secret-handling controls.