A chat widget you can program.
One function, a queue-safe API and real events — no postMessage parsing.
Control
Show, hide, open, minimise, restart; route to groups.
Context
Identify users and pass any data to the client card.
Events
message, unread, open, close, identity, banned — handlers run in your page.
How it works
- Call Pong(...)Even before the loader arrives.
- SubscribePong('on', 'message', fn).
- ShipNo SDK to install.
What you get
Included in the Free plan and in Premium.
- Unread counts kept on the server across tabs and devices
- Analytics hook for GA, Plausible and others
- Chatra(...) code keeps working — just swap the script
Questions, answered.
Is there a React component?
You don’t need one: add the one-line snippet to your layout and call Pong(...) from anywhere.
Works well with
Comparing chat tools? See Pong next to Intercom, Zendesk, LiveChat, Tidio, Crisp, tawk.to and more.
Debug logs in chat
Log what went wrong for this user, and it appears in their chat for your agents. No “can you open the developer console?”.
Identity verification
Sign your user id on the server. Pong merges that user’s chats from every browser — and nobody can pretend to be them.
REST API
Send order updates into the chat, sync client data, pull history into your CRM.
Webhooks
New messages reach your endpoint the moment they are sent — signed, retried, one shape for every channel.
Say hi to your visitors. They’re already here.
Free for one agent. One script tag, any site, two minutes.
Start free →