Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/BunnyNabbit/voxel-telephone/llms.txt

Use this file to discover all available pages before exploring further.

The Slack integration sends server events to a Slack channel using the Slack Web API. It authenticates with a bot token and posts plain-text messages to a channel you specify.

How it works

When an event matching a configured interest fires, the integration calls Slack’s chat.postMessage API method with the message text and the target channel. The @slack/web-api package handles authentication and the HTTP request.

Create a Slack bot token

1

Create a Slack app

Go to api.slack.com/apps and click Create New App. Choose From scratch, give your app a name, and select the workspace where your Slack channel lives.
2

Add the chat:write permission

In your app’s settings, go to OAuth & PermissionsScopesBot Token Scopes. Add the chat:write scope.
3

Install the app to your workspace

Click Install to Workspace at the top of the OAuth & Permissions page. Approve the permissions. Copy the Bot User OAuth Token — it starts with xoxb-.
4

Invite the bot to your channel

In Slack, open the channel where you want events posted and type /invite @YourAppName.
5

Add the token and channel to your config

Paste the bot token and channel name or ID into the authData field in config.json (see the configuration section below).

Configuration

Add an entry to the integrations array in config.json with "class": "Slack". The authData object requires two fields:
FieldTypeDescription
authData.tokenstringThe bot user OAuth token starting with xoxb-.
authData.channelstringThe channel name (e.g. #general) or channel ID (e.g. C1234567890).
interestsarrayEvent types this integration should receive.
languagestringOptional locale for formatted messages. Defaults to "en".
{
  "integrations": [
    {
      "class": "Slack",
      "authData": {
        "token": "xoxb-your-bot-token",
        "channel": "#voxel-telephone"
      },
      "interests": [
        "gameProgression",
        "playerConnection",
        "chatMessage"
      ]
    }
  ]
}
You can use either a channel name prefixed with # or the channel’s ID. Channel IDs are more reliable if your channel is ever renamed.

Choosing interests for Slack

  • gameProgression — posts when game turns complete, useful for activity tracking.
  • playerConnection — records when players join or leave.
  • chatMessage — mirrors in-game chat to Slack, enabling a full chat bridge.
  • announcement — forwards server tips and announcements to your Slack channel.
  • startServer — posts a message when the server finishes starting up.
Keep your bot token private. Treat it like a password — it grants permission to post to any channel the bot has been invited to. Rotate the token in your Slack app settings if it is ever compromised.

Build docs developers (and LLMs) love