Slack

Post messages from your agents to a Slack channel, or set up bidirectional chat with a Slack app.

Quick setup โ€” Incoming webhooks (one-way)

Simplest. Your agent posts to Slack; users don't reply through OpenVesper.

  1. Go to api.slack.com/messaging/webhooks
  2. Create a new app, enable incoming webhooks, install in your workspace
  3. Copy the webhook URL
  4. Set the env var:
echo "SLACK_WEBHOOK_URL=https://hooks.slack.com/services/..." >> ~/.openvesper/.env

That's it. Test:

node apps/cli/dist/index.js -q "Use slack_send to post 'hello from openvesper' to my channel"

Full setup โ€” Slack app (bidirectional)

If you want team members to message the agent and get replies:

  1. Create a Slack app at api.slack.com/apps
  2. Enable these scopes under "OAuth & Permissions":
    • chat:write โ€” post messages
    • app_mentions:read โ€” see when someone @-mentions the bot
    • im:history, im:read, im:write โ€” DM support
  3. Install the app to your workspace
  4. Copy the bot token (starts with xoxb-)
  5. Enable Event Subscriptions, set your webhook URL to where you're running OpenVesper
echo "SLACK_BOT_TOKEN=xoxb-..." >> ~/.openvesper/.env
echo "SLACK_SIGNING_SECRET=..." >> ~/.openvesper/.env

Tools the plugin exposes

  • slack_send โ€” Post message to a channel
  • slack_send_dm โ€” Direct message to a user
  • slack_thread_reply โ€” Reply in a thread
  • slack_get_channel_history โ€” Read recent messages
  • slack_search โ€” Search workspace messages

Security notes

  • Slack tokens are sensitive โ€” store in ~/.openvesper/.env (perm 0600)
  • Verify webhook signatures using SLACK_SIGNING_SECRET
  • The Slack plugin uses permission: "external" for sends and permission: "mutation" for cross-channel actions

What's next?