Skip to main content

Slack Bridge Setup

Receive website chat messages directly in Slack using threads.

┌─────────────────────────────────────────────────────────────────┐
│ HOW IT WORKS │
│ │
│ Website Visitor Your Slack Workspace │
│ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ Widget │ │ #support │ │
│ │ "Hi, I need │ ──────► │ ├── 🧵 New visitor (Paris) │ │
│ │ help with..." │ │ │ └── "Hi, I need help.." │ │
│ └─────────────────┘ │ │ │ │
│ │ │ You reply in thread: │ │
│ ┌─────────────────┐ │ │ └── "Sure, how can..." │ │
│ │ "Sure! How can │ ◄────── │ │ │ │
│ │ I help?" │ │ └── 🧵 Another visitor │ │
│ └─────────────────┘ └─────────────────────────────┘ │
│ │
│ Each visitor = Separate thread (organized in your channel) │
│ │
└─────────────────────────────────────────────────────────────────┘

Prerequisites

  • Slack workspace where you have admin permissions
  • Ability to install apps to your workspace

Step 1: Create a Slack App

┌─────────────────────────────────────────────────────────────────┐
│ Step 1: Create App │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Go to api.slack.com/apps │
│ │
│ 2. Click "Create New App" │
│ └── Choose "From scratch" │
│ └── App Name: "PocketPing" (or your brand) │
│ └── Select your workspace │
│ └── Click "Create App" │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Your app is created! │ │
│ │ │ │
│ │ App ID: A0123456789 │ │
│ │ (You'll configure permissions next) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Step 2: Configure Bot Permissions

Add the necessary OAuth scopes.

┌─────────────────────────────────────────────────────────────────┐
│ Step 2: Add Bot Scopes │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Go to "OAuth & Permissions" in the sidebar │
│ │
│ 2. Scroll to "Bot Token Scopes" │
│ └── Click "Add an OAuth Scope" │
│ └── Add these scopes: │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Bot Token Scopes │ │
│ ├─────────────────────────────────────────────┤ │
│ │ ✅ channels:history (read messages) │ │
│ │ ✅ channels:read (list channels) │ │
│ │ ✅ channels:join (auto-join channels) │ │
│ │ ✅ groups:history (private channels) │ │
│ │ ✅ groups:read (list private) │ │
│ │ ✅ chat:write (post messages) │ │
│ │ ✅ users:read (user info) │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ 3. Click "Install to Workspace" at the top │
│ └── Review permissions → Allow │
│ │
│ 4. Copy the "Bot User OAuth Token" │
│ └── Starts with: xoxb- │
│ └── Save this! You'll need it later. │
│ │
└─────────────────────────────────────────────────────────────────┘

Step 3: Enable Events

Subscribe to message events to receive operator replies.

┌─────────────────────────────────────────────────────────────────┐
│ Step 3: Enable Event Subscriptions │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Go to "Event Subscriptions" in the sidebar │
│ │
│ 2. Toggle "Enable Events" ON │
│ │
│ 3. Set the Request URL: │
│ └── https://app.pocketping.io/api/webhooks/slack │
│ └── Wait for "Verified ✓" │
│ │
│ 4. Click "Subscribe to bot events" │
│ └── Add these events: │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Bot Events │ │
│ ├─────────────────────────────────────────────┤ │
│ │ ✅ message.channels (public channels) │ │
│ │ ✅ message.groups (private channels) │ │
│ └─────────────────────────────────────────────┘ │
│ │
│ 5. Click "Save Changes" │
│ │
└─────────────────────────────────────────────────────────────────┘
Self-Hosted Users

If you're self-hosting, use your own URL instead: https://your-domain.com/api/webhooks/slack


Step 4: Get Channel ID

Find the ID of your support channel.

┌─────────────────────────────────────────────────────────────────┐
│ Step 4: Get Channel ID │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Open Slack │
│ │
│ 2. Go to your support channel (e.g., #support) │
│ │
│ 3. Click the channel name at the top │
│ │
│ 4. Scroll down in the popup to find "Channel ID" │
│ └── Copy it (starts with C) │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ #support │ │
│ │ ─────────────────────────────────────────────── │ │
│ │ │ │
│ │ Channel ID: C0123456789 │ │
│ │ ↑ │ │
│ │ Copy this │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Step 5: Add Bot to Channel

For public channels, the bot will auto-join when you select the channel in PocketPing.

For private channels, invite the bot manually:

┌─────────────────────────────────────────────────────────────────┐
│ Step 5: Invite Bot to Private Channel (if needed) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ For PRIVATE channels only: │
│ │
│ 1. Open your support channel │
│ │
│ 2. Type: /invite @PocketPing │
│ (Replace "PocketPing" with your app name) │
│ │
│ 3. Press Enter │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 🔒 support │ │
│ │ │ │
│ │ Slackbot: │ │
│ │ @PocketPing was added to #support │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Auto-join for public channels

Public channels will be automatically joined when you select them in the PocketPing dashboard - no manual invite needed!


Step 6: Configure PocketPing

SaaS Users

  1. Go to your project's Bridges settings
  2. Click "Add to Slack" to connect via OAuth
  3. Select your support channel from the dropdown
  4. Click "Save"

Self-Hosted Users

Add to your .env file:

.env
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_CHANNEL_ID=C0123456789

Then restart your bridge server:

docker compose restart bridge

Test Your Setup

  1. Open your website with the widget installed
  2. Send a test message in the chat widget
  3. Check Slack - a new message with thread should appear:
┌─────────────────────────────────────────────────────────────────┐
│ #support │
├─────────────────────────────────────────────────────────────────┤
│ │
│ PocketPing 10:30 AM │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ 🆕 New conversation │ │
│ │ │ │
│ │ 📍 Location: Paris, France │ │
│ │ 🌐 Page: yoursite.com/pricing │ │
│ │ ───────────────────────────────────────── │ │
│ │ "Hello, this is a test!" │ │
│ │ │ │
│ │ 💬 2 replies │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
  1. Click "2 replies" to open the thread and respond!

Bot Commands

Mention the bot in a thread with these commands:

CommandWhat it does
@PocketPing infoShows visitor details
@PocketPing closeCloses the conversation
@PocketPing ai onEnables AI fallback
@PocketPing ai offDisables AI fallback

Example Usage

┌─────────────────────────────────────────────────────────────────┐
│ Thread: New conversation │
├─────────────────────────────────────────────────────────────────┤
│ │
│ You: @PocketPing info │
│ │
│ PocketPing: │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Session Information │ │
│ │ ───────────────────────────────────────── │ │
│ │ Session: sess_abc123 │ │
│ │ Location: Paris, France │ │
│ │ Browser: Chrome 120 / macOS │ │
│ │ Page: https://yoursite.com/pricing │ │
│ │ Started: 5 minutes ago │ │
│ │ │ │
│ │ User: [email protected] (Pro plan) │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Troubleshooting

Bot not responding?

ProblemSolution
Bot not in channelUse /invite @PocketPing in the channel
Wrong Bot TokenCheck it starts with xoxb-
Events not configuredVerify Request URL is set and verified
Missing event subscriptionsAdd message.channels and message.groups

Not receiving messages?

ProblemSolution
Events not subscribedAdd message.channels and message.groups events
Missing scopesAdd channels:history scope
Wrong Channel IDRe-copy from channel details (starts with C)
Request URL not verifiedCheck the URL responds correctly

Messages not syncing?

ProblemSolution
Bot can't writeAdd chat:write scope
Server not runningCheck logs: docker logs pocketping-bridge
Channel is privateEnsure groups:history scope is enabled

Debug checklist

┌─────────────────────────────────────────────────────────────────┐
│ □ Bot Token starts with xoxb- │
│ □ Request URL is verified in Event Subscriptions │
│ □ Bot events are subscribed (message.channels, message.groups) │
│ □ Bot scopes are correct (channels:history, chat:write, etc.) │
│ □ Bot is invited to the channel (/invite @PocketPing) │
│ □ Channel ID starts with C │
│ □ Bridge server is running and healthy │
└─────────────────────────────────────────────────────────────────┘

Token Summary

TokenStarts withPurposeWhere to find
Bot Tokenxoxb-Post messages, read historyOAuth & Permissions

Advanced: Notification Settings

Get notified on your phone for new visitor messages:

  1. Open Slack mobile app
  2. Go to the support channel
  3. Tap channel name → Notifications
  4. Set to "All new messages"

Or use Slack's keyword notifications:

  • Go to Preferences → Notifications
  • Add "New conversation" as a highlight word

Next Steps