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.
Prerequisites
Section titled “Prerequisites”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).
Setting Up the Connection
Section titled “Setting Up the Connection”- Navigate to Workspace > Connections and click + Add Connection.
- Select Slack from the integration list.
- Click Add to Slack. You will be redirected to Slack’s authorization page.
- Select the workspace you want to connect if you belong to multiple workspaces.
- Review the permissions Horizon is requesting and select the channel the bot should be added to by default.
- Click Allow to complete the installation.
- You will be redirected back to Horizon with the status set to Connected.
Bot User Setup
Section titled “Bot User Setup”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.
Permissions and Scopes
Section titled “Permissions and Scopes”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.
What Agents Can Do
Section titled “What Agents Can Do”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”).
Event Handling
Section titled “Event Handling”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.
Connection Settings
Section titled “Connection Settings”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.
Troubleshooting
Section titled “Troubleshooting”| Issue | Resolution |
|---|---|
| Bot does not respond in a channel | Ensure the Horizon bot has been invited to the channel. |
| Messages not appearing | Verify the chat:write scope is granted and the bot is not restricted by Slack admin policies. |
| Slash commands not working | Check that the commands are registered in Slack’s app configuration. |
| Connection shows Expired | Re-authorize the Slack connection from the connections page. |
Disconnecting
Section titled “Disconnecting”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.