Show HN: PocketPing turn Telegram/Slack/Discord into your customer support inbox

samset71 pts0 comments

PocketPing — Reply to your visitors from your phone

Sign inGet started

v1.0 · @pocketping/react shipped today<br>Reply to your visitors<br>from your phone,<br>not from yet another<br>dashboard.<br>PocketPing is an open-source chat widget. Each teammate replies from the messaging app they already use — one on Telegram , one on Slack , one on Discord — and replies sync to the visitor across all of them. No operator dashboard required.<br>Get started free Self-host free GitHub<br>$npm i @pocketping/widget

live · 4:32 PM · iOS · Telegram

4:32

Acme Supportnow<br>visitor-7c2a · /pricing<br>Hi — what plan fits a 3-person team?

AC<br>Acme Support<br>3 topics · 1 online

forum<br>visitor-7c2a/pricing<br>Paris · Chrome · macOS · returning

Hi — what plan fits a 3-person team?

Hey 👋 Pro covers up to 5 seats, $25/mo. ✓✓

Reply in topic…

each visitor → its own forum topic

Team · ChannelsYour team. Your apps.

Bob replies from Telegram. Alice prefers Slack. Marketing watches the inbox in HubSpot. One conversation, native sync — and the visitor only ever sees the widget.

Native · OSS<br>Telegram<br>one forum topic per visitor

Reply on your phone, mute by topic, attachments included.

Native · OSS<br>Discord<br>forum channel thread per visitor

Each visitor lands as a thread in your support channel.

Native · OSS<br>Slack<br>threaded reply in #support

Routes visitor messages to the channel the CS team already lives in.

Hosted<br>HubSpot<br>conversation inbox on pocketping.io

Pulled into HubSpot via the hosted SaaS — keep CRM context next to chat.

↳ Edit a message in Slack → it updates in Telegram and in the widget.<br>↳ Reply from Discord → the visitor sees it instantly, no matter which bridge you used.<br>↳ Add a teammate, pick their bridge. They join the same thread, on their own app.<br>↳ Every event is also a webhook → pipe new chats and messages to Zapier, Make, n8n, or your backend.<br>↳ Run !commands from your bridge — on-demand screen capture out of the box, plus a tiny registry to add your own.<br>↳ Connect the MCP server → triage and answer chats straight from Claude or Cursor.

01 · DeployThree deployment shapes. Same widget API.

Start serverless. Move to the Go bridge later. Or skip both and embed the SDK in your own backend. The widget never knows the difference.

workercloudflarewidgettelegramstate: KV namespace<br>Serverless lite<br>Cloudflare Worker + KV

Zero database. Zero servers. A free Worker relays chat between your widget and a Telegram group where each visitor gets its own forum topic.<br>60sone-click deploy from GitHub<br>$0fits in the Workers free tier<br>KVstate lives in Cloudflare KV<br>Deploy to Cloudflare<br>bridge.go:3001telegramdiscordslackwidget<br>Go bridge-server<br>docker run · one binary

A single Go binary that bridges your widget to Telegram, Discord and Slack at once. Full features — attachments, edit/delete, AI fallback, cross-bridge sync.<br>Dockeror any platform that runs Linux<br>SSElong-lived stream to the widget<br>Redisoptional, in-memory by default<br>Read the deploy guide<br>your-backend+ @pocketping/sdk-nodehandlers · bridges · hooks<br>SDK integration<br>Node · Python · Go · PHP · Ruby

A library you mount into your existing backend. You own the routes, the database and the deploy. We provide the handlers and the bridges.<br>5 langsExpress · FastAPI · Gin · Laravel · Rails<br>HookshandleConnect, handleMessage, handleEdit<br>BYO DBPostgres, sqlite, Mongo — your call<br>Browse the SDKs

02 · IntegrateFive lines.<br>One script tag, or one provider.<br>Drop the widget on your site, point it at your endpoint, and the chat opens in the corner. Same call signature whether the endpoint is the lite Worker, the bridge-server, your own backend, or the hosted SaaS.<br>1Pick a deploy mode (lite / bridge / SDK)<br>2Wire your Telegram / Discord / Slack bot<br>3Drop the widget — done

Plain JSReactNext.js<br>index.html copy

src="https://cdn.pocketping.io/widget.js">

PocketPing.init({<br>endpoint: 'https://your-worker.workers.dev',<br>operatorName: 'Acme Support',<br>});<br>05 lines · valid + runnablewidget · ~60 kB gz

NodePythonGoPHPRuby<br>backend · express copy

import express from 'express';<br>import { PocketPing, TelegramBridge } from '@pocketping/sdk-node';

const pp = new PocketPing({<br>bridges: [new TelegramBridge(process.env.TG_TOKEN!, process.env.TG_CHAT!)],<br>});

express()<br>.use(express.json())<br>.use('/pocketping', pp.middleware())<br>.listen(3000);

03 · Why phone-firstYou already keep your phone unlocked.<br>You don’t keep a dashboard open.

A separate dashboard you have to keep open<br>Another browser tab, another desktop app, another login.

Their mobile app, not the one in your dock<br>One more notification source competing for attention.

$29–$139/seat/month before you’ve talked to anyone<br>Pricing meters scale with team size, not conversation volume.

Conversations live on their servers<br>Closed source. Export your data when you can find the menu.

Reply from the messaging app you already use<br>Each visitor becomes a Telegram forum topic, a Discord thread, or a Slack thread.

Notifications you’ve already triaged how to handle<br>No new app on the...

pocketping from widget visitor telegram bridge

Related Articles