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​