Skip to content

Slack Connection

The Slack connection enables your Horizon agents to communicate through Slack — sending messages, responding to user commands, posting updates to channels, and reacting to events in real time.

Before connecting Slack to Horizon, ensure you have:

  • A Slack workspace where you have admin privileges, or the ability to approve app installations.
  • The Slack workspace must be on a plan that supports third-party app installations (any paid plan or the free plan with app slots available).
  1. Navigate to Workspace > Connections and click + Add Connection.
  2. Select Slack from the integration list.
  3. Click Add to Slack. You will be redirected to Slack’s authorization page.
  4. Select the workspace you want to connect if you belong to multiple workspaces.
  5. Review the permissions Horizon is requesting and select the channel the bot should be added to by default.
  6. Click Allow to complete the installation.
  7. You will be redirected back to Horizon with the status set to Connected.

When you authorize the Slack connection, Horizon creates a bot user in your Slack workspace. This bot:

  • Appears in your workspace’s app list under the name Horizon.
  • Can be invited to any public or private channel.
  • Responds to direct messages and slash commands.
  • Posts agent-generated messages and notifications.

To add the Horizon bot to additional channels, use the /invite @Horizon command in any channel or invite it from the channel’s integration settings.

Horizon requests the following Slack OAuth scopes:

  • chat:write — send messages as the Horizon bot.
  • channels:read — list public channels for configuration.
  • channels:history — read message history in channels the bot is a member of.
  • groups:read / groups:history — same access for private channels.
  • im:read / im:write / im:history — direct message access.
  • users:read — look up user profiles by ID or email.
  • commands — register and respond to slash commands.
  • reactions:write — add emoji reactions to messages.

With the Slack connection, agents can:

  • Send messages — post messages to channels or direct messages to users.
  • Respond to mentions — automatically reply when a user mentions the Horizon bot.
  • Process slash commands — respond to custom slash commands configured for your workspace.
  • Post rich content — send messages with attachments, buttons, and formatted blocks.
  • Monitor channels — listen for keywords or events in channels the bot has been invited to.
  • Send notifications — deliver alerts from other integrations (e.g., “New Salesforce lead assigned to you”).

Horizon uses Slack’s Events API to receive real-time notifications. When a relevant event occurs (e.g., a message is posted in a monitored channel), Horizon routes it to the appropriate agent based on your configuration.

You can configure which events trigger agent responses from the connection settings:

  • Message events — new messages, message edits, message deletions.
  • Channel events — member joined, channel created, channel archived.
  • Reaction events — emoji reactions added or removed.

After connecting, configure these options from the connection detail panel:

  • Default channel — the channel where agents post messages when no specific channel is specified.
  • Notification channel — a dedicated channel for system alerts and connection health updates.
  • Event filters — choose which Slack events are forwarded to Horizon agents.
IssueResolution
Bot does not respond in a channelEnsure the Horizon bot has been invited to the channel.
Messages not appearingVerify the chat:write scope is granted and the bot is not restricted by Slack admin policies.
Slash commands not workingCheck that the commands are registered in Slack’s app configuration.
Connection shows ExpiredRe-authorize the Slack connection from the connections page.

To remove the Slack connection, click Remove Connection in Horizon. To also remove the app from your Slack workspace, go to Slack > Settings > Manage Apps and remove Horizon.