Skip to main content

Overview

The Slack integration sends real-time error alerts directly to your team’s Slack channels. Stay informed about critical issues without constantly monitoring your dashboard. With Slack connected, you can:
  • Receive notifications when new errors occur
  • Get alerts for error spikes or critical issues
  • Configure which channel receives notifications
  • Customize notification thresholds and filters
  • Enable workspace-wide search and indexing of Slack messages
The Slack integration uses OAuth 2.0 to securely connect your workspace. Access tokens are encrypted and stored securely.

What You Get

Real-Time Alerts

Instant notifications when errors occur in your applications

Rich Error Details

See error type, message, affected users, and a link to the full detail page

Channel Selection

Choose which channel receives notifications

Workspace Search

Enable indexing of Slack messages for workspace-wide search

Setup Process

1

Navigate to Integrations

Go to Settings → Integrations in your Proliferate dashboard.
2

Install Slack App

Click Install on the Slack integration card. You’ll be redirected to Slack for authorization.
3

Authorize Workspace

On the Slack authorization page:
  • Select the workspace you want to connect
  • Review the requested permissions
  • Click Allow to grant access
You must be a workspace admin or have permission to install apps in your Slack workspace.
4

Select Default Channel

After authorization, you’ll be redirected back to Proliferate:
  • Navigate to the Slack integration settings
  • Choose a default channel for error notifications
  • The bot will automatically join the selected channel
The Proliferate bot can post to any public channel, even if it’s not a member. For private channels, you’ll need to invite the bot manually.
5

Test the Connection

Send a test message to verify everything is working:
  • Click Send Test Message in the integration settings
  • Check your selected channel for the test notification

Configuring Notifications

Selecting a Notification Channel

To set or change the default notification channel:
  1. Go to Settings → Integrations
  2. Click on the Slack integration card (if connected)
  3. Select a channel from the dropdown
  4. Click Save
The bot will automatically join the channel if needed.

Notification Settings

Configure when and how you receive notifications:
Choose which error levels trigger notifications:
  • Fatal: Critical errors that crash the application
  • Error: Standard errors
  • Warning: Non-critical warnings
  • Info: Informational messages
Control how often you’re notified about the same issue:
  • First occurrence only: Notify only when an issue first appears
  • Every occurrence: Notify for each error event (can be noisy)
  • Threshold-based: Notify when error count exceeds a threshold
  • Rate-based: Notify when error rate spikes
Set up filters to only receive notifications for specific errors:
  • Filter by environment (production, staging, etc.)
  • Filter by release version
  • Filter by affected user count
  • Custom tag filters

Notification Format

Slack notifications include:
🔴 New Error in Production

TypeError: Cannot read property 'user' of undefined

Project: My App
Environment: production
Affected Users: 12
First Seen: 2 minutes ago

[View Full Details →]
The notification includes:
  • Error severity icon
  • Error type and message
  • Project and environment information
  • User impact metrics
  • Link to the error detail page

Workspace Search & Indexing

Enable Slack message indexing to search your workspace directly from Proliferate:
  1. During installation, grant the additional permissions for message history
  2. The indexing connector will be automatically created
  3. Messages are indexed on a regular schedule
  4. Search across all accessible channels from your Proliferate dashboard
Indexing respects Slack’s privacy settings. Only messages in channels where the bot is a member will be indexed.

Permissions for Indexing

The Slack App requests these additional permissions for indexing:
  • channels:history - Read public channel messages
  • groups:history - Read private channel messages (for channels the bot is invited to)
  • im:history - Read direct messages
  • users:read.email - Match Slack users to Proliferate users for access control

API Endpoints

The Slack integration provides these endpoints:
EndpointMethodDescription
/api/v1/integrations/slack/installGETStart Slack OAuth flow
/api/v1/integrations/slack/callbackGETHandle OAuth callback
/api/v1/integrations/slack/channelsGETList available channels
/api/v1/integrations/slack/channels/selectPOSTSet default notification channel
/api/v1/integrations/slack/testPOSTSend a test message
/api/v1/integrations/slack/disconnectDELETERemove Slack connection
/api/v1/integrations/slack/webhookPOSTReceive Slack events

Testing Your Connection

After installation, verify your Slack integration:
  1. Send a Test Message:
    • Go to Settings → Integrations
    • Find the Slack integration
    • Click Send Test Message
    • Check your selected channel
  2. Trigger a Test Error:
    • Generate an error in your application
    • Wait a few seconds
    • Check your notification channel for the alert

Troubleshooting

Checklist:
  • Is a default channel selected?
  • Has the bot been kicked from the channel?
  • Are your notification filters too restrictive?
  • Check that errors match your severity filter settings
For private channels:
  • Type /invite @Proliferate in the channel
  • The bot needs to be explicitly invited to private channels
For public channels:
  • The bot should be able to post automatically
  • Ensure the bot hasn’t been removed from the workspace
Common issues:
  • The bot must be a member of channels to index them
  • Indexing runs on a schedule (not real-time)
  • Check that you granted history permissions during installation
  • Private channels require the bot to be invited
If installation fails:
  • Verify you have permission to install apps
  • Check that your workspace allows custom app installations
  • Try disconnecting and reconnecting
  • Clear your browser cache and try again

Managing the Integration

Updating Channel Selection

To change which channel receives notifications:
  1. Go to Settings → Integrations
  2. Click on the connected Slack integration
  3. Select a new channel from the dropdown
  4. Click Save
Changes take effect immediately for new notifications.

Managing Bot Permissions

To modify what the bot can access:
  1. Go to your Slack workspace settings
  2. Navigate to Apps → Proliferate
  3. Update permissions or channel access
  4. Changes sync automatically

Disconnecting Slack

To remove the integration:
1

Disconnect in Proliferate

  • Go to Settings → Integrations
  • Click the disconnect icon on the Slack card
  • Confirm the disconnection
2

Uninstall from Slack (Optional)

  • Go to Slack workspace settings
  • Navigate to Apps → Proliferate
  • Click Remove App
Disconnecting Slack will stop all error notifications to your channels. Existing messages will remain in Slack.

Best Practices

1

Use a Dedicated Channel

Create a dedicated channel like #errors or #app-monitoring for notifications. This keeps alerts organized and doesn’t clutter other channels.
2

Set Appropriate Filters

Use severity and environment filters to reduce noise. For example, only notify for errors in production.
3

Configure Thresholds

Use threshold-based notifications to avoid spam during error spikes. Get notified when an issue crosses a threshold, not for every occurrence.
4

Invite Bot to Relevant Channels

For indexing to work effectively, invite the bot to channels where you discuss technical issues or share knowledge.
5

Review Permissions Regularly

Audit which channels the bot has access to and adjust as your team’s needs change.

Required Scopes

The Slack integration requests these OAuth scopes:
ScopePurpose
channels:readList public channels
channels:joinJoin public channels for posting
channels:historyRead public channel messages (for indexing)
groups:readList private channels
groups:historyRead private channel messages (for indexing)
chat:writePost messages to channels
chat:write.publicPost to channels without being a member
team:readGet workspace information
users:readGet user information
users:read.emailGet user emails (for ACL matching)
All scopes are necessary for the full feature set. If you deny certain permissions, some features may not work as expected.