Skip to main content

Bridges

Bridges connect your website chat to messaging platforms where you already work.

How Bridges Work

  1. Visitor sends message → Widget forwards to bridge server
  2. Bridge creates thread → New topic (Telegram), thread (Discord/Slack)
  3. You reply → Message appears in widget instantly
  4. Visitor sees response → Real-time via WebSocket

Available Bridges

PlatformThread TypeBest For
TelegramForum TopicsMobile-first teams, personal use
DiscordChannel ThreadsGaming, communities, dev teams
SlackChannel ThreadsEnterprise, business teams

Features Comparison

FeatureTelegramDiscordSlack
Mobile appExcellentGoodGood
NotificationsInstantGoodGood
Thread organizationTopicsThreadsThreads
Free tierUnlimitedUnlimitedLimited history
Bot commands/info, /close, /aiSameSame
Rich messages
File sharing

Multi-Bridge Setup

You can connect multiple bridges simultaneously. Messages sync across all platforms.

Configuration

.env
# Connect both Telegram and Discord
TELEGRAM_BOT_TOKEN=your_telegram_token
TELEGRAM_CHAT_ID=-1001234567890

DISCORD_BOT_TOKEN=your_discord_token
DISCORD_CHANNEL_ID=1234567890123456789

Choosing a Bridge

If you...Use
Want the simplest setupTelegram
Already use Discord for your communityDiscord
Work in a business environmentSlack
Need mobile notificationsTelegram (best mobile app)
Want unlimited free historyTelegram or Discord

Self-Hosted vs SaaS

SaaS (app.pocketping.io)

  • Configure bridges in dashboard
  • No server management
  • Automatic updates

Self-Hosted

  • Full control over data
  • Configure via environment variables
  • Deploy with Docker

See Self-Hosting Guide for deployment instructions.

SDK Built-in Bridges vs Bridge Server

There are two ways to connect to messaging platforms:

All SDKs include built-in bridges with automatic validation and helpful setup guides:

// Node.js example
import { PocketPing, TelegramBridge, DiscordBridge } from '@pocketping/sdk-node';

const pp = new PocketPing();

pp.addBridge(new TelegramBridge(
process.env.TELEGRAM_BOT_TOKEN,
process.env.TELEGRAM_CHAT_ID
));

pp.addBridge(DiscordBridge.bot(
process.env.DISCORD_BOT_TOKEN,
process.env.DISCORD_CHANNEL_ID
));

Pros:

  • Simpler setup - no additional server
  • Automatic validation with helpful setup guides
  • All SDKs support it (Node.js, Python, Go, PHP, Ruby)

Cons:

  • Discord receiving requires Gateway (WebSocket) - only works on long-running servers

Option 2: Bridge Server

Deploy a separate bridge server for advanced use cases:

When to use:

  • Discord bidirectional (receive operator messages) with serverless backends
  • Need dedicated infrastructure for message routing
  • Want to separate concerns (backend vs messaging)

See Docker Deployment for bridge server setup.

Next Steps