PocketPing — Reply to your visitors from your phone

5 min read Original article ↗

v1.0 · @pocketping/react shipped today

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.

Get started free Self-host free GitHub

$npm i @pocketping/widget

live · 4:32 PM · iOS · Telegram

4:32

Acme Supportnow

visitor-7c2a · /pricing

Hi — what plan fits a 3-person team?

visitor-7c2a/pricing

Paris · Chrome · macOS · returning

Hi — what plan fits a 3-person team?

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

each visitor → its own forum topic

Team · Channels

Your 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.

Telegram

one forum topic per visitor

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

Discord

forum channel thread per visitor

Each visitor lands as a thread in your support channel.

Slack

threaded reply in #support

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

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.

  • 60sone-click deploy from GitHub
  • $0fits in the Workers free tier
  • KVstate lives in Cloudflare KV
Deploy to Cloudflare
/bridgeSelf-hosted

Go bridge-server

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.

  • Dockeror any platform that runs Linux
  • SSElong-lived stream to the widget
  • Redisoptional, in-memory by default
Read the deploy guide
/sdkIn your backend

SDK integration

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.

  • 5 langsExpress · FastAPI · Gin · Laravel · Rails
  • HookshandleConnect, handleMessage, handleEdit
  • BYO DBPostgres, sqlite, Mongo — your call
Browse the SDKs

02 · Integrate

Five lines.
One script tag, or one provider.

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.

1Pick a deploy mode (lite / bridge / SDK)

2Wire your Telegram / Discord / Slack bot

3Drop the widget — done

03 · Why phone-first

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.

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.

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.