How ZapTicket works
Three steps from zero to live customer chat.
Create your workspace
Sign up, name your workspace, and get your site key. This takes about 30 seconds.
Embed the widget
Add two lines to your website: <script> window.ZapTicket = { siteKey: "zt_pub_..." }; </script> <script async src="https://cdn.zapticket.app/widget.js"></script> The widget appears as a chat bubble in the corner. It loads asynchronously and never affects your page speed.
Reply from your inbox
When a visitor sends a message, it appears instantly in your dashboard. Reply in real-time, add internal notes for your team, or convert the conversation to a ticket for follow-up.
What happens behind the scenes
Real-time via SignalR
Messages travel over WebSocket connections. Both the widget and dashboard maintain a persistent connection, so messages appear within milliseconds.
Multi-tenant isolation
Every workspace has its own data scope. A global query filter ensures no request ever leaks data across tenants — it's enforced at the database layer.
Presence tracking
The system tracks which agents are connected. If nobody is online, the widget automatically switches to an offline ticket form.
Branding from the API
The widget fetches its colors, greeting, and position from your settings. Change them in the dashboard — the widget picks them up on the next page load, no redeploy needed.