Reply to your visitors from your phone, not from yet another dashboard.
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.
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
Telegram
one forum topic per visitor
Reply on your phone, mute by topic, attachments included.
Native · OSS
Discord
forum channel thread per visitor
Each visitor lands as a thread in your support channel.
Native · OSS
Slack
threaded reply in #support
Routes visitor messages to the channel the CS team already lives in.
Hosted
HubSpot
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.
↳ Reply from Discord → the visitor sees it instantly, no matter which bridge you used.
↳ Add a teammate, pick their bridge. They join the same thread, on their own app.
↳ Every event is also a webhook → pipe new chats and messages to Zapier, Make, n8n, or your backend.
↳ Run !commands from your bridge — on-demand screen capture out of the box, plus a tiny registry to add your own.
↳ Connect the MCP server → triage and answer chats straight from Claude or Cursor.
01 · Deploy
Three 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.
/liteFree
Serverless lite
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.
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.
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.
You already keep your phone unlocked. You don’t keep a dashboard open.
most chat widgetsintercom · crisp · drift
A separate dashboard you have to keep open
Another browser tab, another desktop app, another login.
Their mobile app, not the one in your dock
One more notification source competing for attention.
$29–$139/seat/month before you’ve talked to anyone
Pricing meters scale with team size, not conversation volume.
Conversations live on their servers
Closed source. Export your data when you can find the menu.
pocketpingtelegram · discord · slack
Reply from the messaging app you already use
Each visitor becomes a Telegram forum topic, a Discord thread, or a Slack thread.
Notifications you’ve already triaged how to handle
No new app on the home screen. No new badge to ignore.
Free on the Cloudflare Workers tier
Or self-host the bridge-server. Or embed the SDK. Same widget.
MIT-licensed. Your data, your infra
Self-host every byte. Fork the repo. Patch the widget.
04 · Architecture
Lite mode, end to end.
The widget speaks SSE to a Cloudflare Worker. The Worker speaks HTTP to the Telegram Bot API. State (visitor ↔ forum topic) lives in a KV namespace.
HTTP / SSE
visitor ↔ worker, long-lived stream
bridge call
worker → telegram bot api
KV namespace
visitor_id → forum_topic_id
webhook
telegram → worker, operator reply
05 · Pick a mode
Same widget, three trade-offs.
option 1 · /saas
SaaS
we host it
pocketping.io
option 2 · /bridgerecommended
Bridge-server
docker run
self-hosted
option 3 · /sdk
SDK in your backend
embed the lib
self-hosted
Setup time
minutes
Setup time
30–60 min
Setup time
1h+
Infra to manage
none
Infra to manage
1 container
Infra to manage
full stack
Customization
low
Customization
medium
Customization
full
Data residency
our cloud
Data residency
your box
Data residency
your box
Marginal cost
metered
Marginal cost
~zero
Marginal cost
~zero
06 · vs the field
The honest comparison.
channel = the tool ingests the app into its own inbox. native = you reply where you already are. native* (Intercom Slack) = reply from Slack supported, but Intercom remains the inbox.
Feature
PocketPing
MIT · OSS
Intercom
SaaS
Crisp
SaaS
Chatwoot
MIT · OSS
Tawk.to
SaaS
Pricing
Free / OSS
$29+/seat/mo
Free / $45+/mo
Free / $19+/seat
Free
Self-hosted
✓
—
—
✓
—
Reply from Telegram
native
channel
channel
channel
add-on
Reply from Discord
native
—
channel
—
—
Reply from Slack
native
native*
add-on
channel
—
Cross-bridge sync
✓
—
—
—
—
Bidirectional events
✓
outbound only
rule-based
requested (4 yr)
—
Webhooks (events API)
✓ HMAC
paid
✓
✓
✓ HMAC
MCP server (AI agents)
✓ OSS
✓
✓
community
—
AI fallback
BYO key
Fin AI
Hugo
Captain
AI Assist
AI cost per conv.
~$0.001
$0.99
$0.05–0.10
$0.02
$0.02–0.03
License
MIT
closed
closed
MIT (CE)
closed
AI economics
AI fallback at OpenAI's price. Not ours.
Bring your own OpenAI / Anthropic / Gemini key — PocketPing routes to it directly, no markup. With GPT-4o-mini, a typical resolution runs about $0.0004. Intercom Fin AI is $0.99 per outcome, no cap.
cost @ 1,000 conversations / month
Intercom Fin$990
Crisp Hugo$50–100
Tawk AI Assist$29–99
Chatwoot Captain~$20
PocketPing · BYO key~$0.40
Product-led growth
Events go both ways. Real-time, custom, scriptable.
The widget emits product events. Your server broadcasts UI events back. No other OSS chat widget ships this — Chatwoot has had the request open for 4 years.
widget → server
pp.emit('viewed_pricing')
pp.emit('cart_abandoned')
pp.emit('trial_day_13')
server → widget
broadcast('show_demo_offer')
broadcast('open_chat_proactive')
broadcast('highlight_pricing')
* Pricing snapshot from public pricing pages as of Nov 2026 — verified against each vendor's docs. AI cost per conv. = Intercom Fin AI ($0.99/outcome), Crisp Hugo ($0.05–0.10/conv), Chatwoot Captain ($20 / 1k credits), Tawk AI Assist ($29 / 1k msgs), PocketPing = direct OpenAI / Anthropic / Gemini pricing (varies by model and prompt size, GPT-4o-mini ≈ $0.0004 / resolution). Bidirectional events: Intercom Outbound fires on rule-based triggers (paid plans); Crisp triggers are declarative (fire on condition); Chatwoot's open request #2995 dates from 2021; Tawk's `onChatMessageSystem` is chat-bound only.