Slack Integration

Receive notifications in Slack when approval events occur in your project.

Overview

The Slack integration sends notifications to one or more channels of your choice. You can configure multiple channels per project, each with different notification settings.

Available notification events:

  • Approval created - A new approval request is generated
  • Approval executed - Someone clicks an approval link
  • Approval expired - An approval link expires (triggered on access attempt)
  • Approval invalidated - An approval is manually invalidated
  • PIN failed - Someone entered an incorrect PIN
  • Token locked - Token locked after too many failed PIN attempts

Note: Expired, PIN Failed, and Locked notifications are only triggered when someone attempts to use the token. There is no background process monitoring token expiration.

Step 1: Create a Slack App

  1. Go to api.slack.com/apps
  2. Click "Create New App"
  3. Choose "From scratch"
  4. Enter an app name (e.g., "Ottr Notifications") and select your workspace
  5. Click "Create App"

Tip: You can customize your app's icon and description later from the "Basic Information" page.

Step 2: Enable Incoming Webhooks

  1. In your app's settings, click "Incoming Webhooks" in the left sidebar
  2. Toggle "Activate Incoming Webhooks" to On
  3. Click "Add New Webhook to Workspace" at the bottom of the page
  4. Select the channel where you want to receive notifications
  5. Click "Allow"

Note: You'll need to have permission to add apps to the workspace and channel you select.

Step 3: Copy Your Webhook URL

  1. After adding the webhook, you'll see a new entry in the "Webhook URLs for Your Workspace" section
  2. Click "Copy" next to your webhook URL

Your webhook URL will look like this:

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Keep this URL secret! Anyone with this URL can post messages to your Slack channel. Ottr encrypts your webhook URL at rest.

Step 4: Configure in Ottr

  1. Go to your Ottr Dashboard
  2. Select the project you want to integrate with Slack
  3. Click "Integrations" in the sidebar
  4. Click "Add Channel" to add a new Slack channel
  5. Enter a name for this channel configuration (e.g., "ops-alerts")
  6. Paste your webhook URL in the "Webhook URL" field
  7. Select which events you want to be notified about for this channel
  8. Click "Save"
  9. Click "Test" to verify the webhook is working

Tip: You can add multiple channels with different notification settings. For example, send creation/execution events to #deployments and PIN failures to #security-alerts.

Success! You should see a test message in your Slack channel if everything is configured correctly.

Notification Examples

Here's what notifications look like in Slack:

Approval Created

🔔 New approval request in My Project

Key: myapp/deploy

Info: Deploy to production?

Expires: 2025-01-01T12:30:00Z

View Approval

Approval Executed

Approval executed in My Project

Key: myapp/deploy

Action: approve

Approval Expired

Approval expired in My Project

Key: myapp/deploy

Approval Invalidated

Approval invalidated in My Project

Key: myapp/deploy

PIN Failed

🔐 PIN verification failed in My Project

Key: myapp/deploy

Attempts: 3 of 5

Token Locked

🔒 Approval locked in My Project

Key: myapp/deploy

Reason: Too many failed PIN attempts

Troubleshooting

Test message not arriving

  • Verify the webhook URL starts with https://hooks.slack.com/
  • Check that your Slack app is still installed in the workspace
  • Make sure the channel still exists and the app has access to it

Notifications stopped working

  • Webhook URLs can be revoked if someone removes the app from Slack
  • Try generating a new webhook URL in your Slack app settings
  • Update the URL in your Ottr dashboard

Wrong channel receiving notifications

  • Each webhook URL is tied to a specific Slack channel
  • Check which channel configuration is enabled in the Integrations page
  • You can have multiple channels - enable/disable them individually
  • To send to a different channel, create a new webhook URL and add a new channel in Ottr

Some events not triggering notifications

  • Check that the specific event type is enabled for your channel
  • Remember: expired/PIN failed/locked events only trigger on access attempts
  • Ensure the channel is enabled (not just configured)