name: slack-platform
label: Slack
kind: platform
version: 1.0.0
description: >
  Slack gateway adapter for Hermes Agent.
  Connects to Slack via slack-bolt in Socket Mode and relays messages
  between Slack channels/DMs and the Hermes agent. Supports slash
  commands, threads, mrkdwn rendering, approval blocks, free-response
  channels, mention gating, and channel skill bindings.
author: NousResearch
requires_env:
  - name: SLACK_BOT_TOKEN
    description: "Slack bot token (xoxb-...)"
    prompt: "Slack Bot Token (xoxb-...)"
    url: "https://api.slack.com/apps"
    password: true
  - name: SLACK_APP_TOKEN
    description: "Slack app-level token for Socket Mode (xapp-..., scope connections:write)"
    prompt: "Slack App Token (xapp-...)"
    url: "https://api.slack.com/apps"
    password: true
optional_env:
  - name: SLACK_ALLOWED_USERS
    description: "Comma-separated Slack member IDs allowed to talk to the bot"
    prompt: "Allowed users (comma-separated)"
    password: false
  - name: SLACK_ALLOW_ALL_USERS
    description: "Allow any Slack user to trigger the bot (dev only)"
    prompt: "Allow all users? (true/false)"
    password: false
  - name: SLACK_HOME_CHANNEL
    description: "Default channel ID for cron / notification delivery (starts with C)"
    prompt: "Home channel ID"
    password: false
  - name: SLACK_HOME_CHANNEL_NAME
    description: "Display name for the Slack home channel"
    prompt: "Home channel display name"
    password: false
