A conversation, not a ticket form
Every support affordance a customer expects from a modern helpdesk — built into the same tag you paste once.
CSAT ratings + comments
When a conversation closes, the customer rates the help in one tap. Scores roll up per agent and per team, and you can drill into the low ratings to see exactly which reply missed.
Reply with context
Click reply to attach a snippet of the parent message. The customer keeps the thread of the conversation; the exchange doesn't fragment into disconnected lines.
@mentions for teammates
Type @teammate in an internal note to pull a colleague into a conversation. They get a yellow-ring highlight plus a bell with unread count even if they're on another tab.
Quote & reply
One click to drop the parent's text into your input as a markdown blockquote. Useful when answering point-by-point.
Edit & delete your own
Five-minute window to fix typos or remove a message. The bubble shows an "(edited)" tag so the conversation stays honest.
Lightweight markdown
Bold, italic, inline code, and > quotes. Just enough formatting to be expressive without becoming a rich-text mess.
Image upload
Drag, paste, or click to upload. We compress, strip EXIF (privacy), resize, and reject decompression bombs before storage.
Saved replies & macros
Agents drop a canned answer with a /macro shortcut and edit before sending. Build a shared library of your best responses so every agent answers the common questions the same way.
Typing indicator
"Alice is typing…" so the customer knows an agent is on it, and the agent sees the customer composing. Throttled server-side so a busy conversation can't generate noise.
Cross-tab session
Sign in on one tab, you're signed in everywhere. Sign out, every tab follows. No flicker, no orphaned sessions.
Full-bleed mobile
Below 480px the chat takes the full viewport, respects safe-area inset, uses 16px input (no iOS zoom), 40px tap targets.
Multi-language UI
Pick the locale per project; every UI string flows through Django/JS i18n. English & Spanish bundled; add yours via po-files.
Answer faster — deflect the rest
A searchable Help Center in the widget, AI auto-reply on first touch, saved replies, proactive broadcasts, and away-mode messaging. The pieces a busy support team needs, drop-in for any site.
Help Center in the widget
Publish a searchable knowledge base right inside the chat. Customers find the answer before they ever open a conversation — and agents reply with a one-click /article link instead of retyping it.
AI auto-reply Pro
On first touch, the assistant drafts an answer from your Help Center articles and replies instantly. It deflects the repetitive questions and hands off to a human the moment the customer needs one — no waiting in an empty queue.
Contact & conversation history
Every contact gets a profile with custom attributes and a full cross-conversation timeline beside the reply box. Full-text search lets you grep "refund" or an email and pull only the matching threads. Last 24h on Starter, 30 days on Basic, unlimited on Pro.
Business hours & away mode
Set the hours your team is online and the widget header surfaces a clear "We're here" or "Away" state. Outside hours, customers get an away message that sets expectations instead of staring at an empty box.
Proactive broadcasts
Push an outbound campaign — an incident notice, a new-feature nudge, a maintenance window — and it lands as a highlighted callout, bordered and megaphone-glyphed, for every visitor on the page. Survives reloads unlike a one-shot system line.
Snooze conversations
Snooze a thread that's waiting on the customer and it drops out of the inbox for the window you pick, then resurfaces at the top automatically. No DB sweep, no celery cron; a memcache TTL handles the wake-up.
Desktop notifications Basic
Agents grant permission once and a native desktop alert fires the moment a new conversation arrives or an assigned thread gets a reply — even with the tab in the background. No more babysitting the inbox to catch the next message.
A shared inbox that routes itself
Layered tools so a growing support volume doesn't turn into a triage sink.
Auto-routing Pro
Rules assign each new conversation to the right teammate or team — round-robin, by tag, or by business hours. Agents can hand off with one click, and nothing sits unowned in a shared pile.
Internal notes & @mentions
Leave a private note on any conversation — invisible to the customer — and @mention a teammate to loop them in. The whole back-and-forth that solves the ticket stays attached to the thread.
Tags & priority
One-click tagging from any conversation, plus a priority flag that floats urgent threads to the top of the inbox. Filter and route on tags so the right work reaches the right agent.
SLA targets & breach view
Set a first-response target (e.g. reply within 30 min). Every conversation shows time-to-first-response, and a breach view surfaces the threads about to miss before they do.
Shared agent inbox
Every conversation lands in one shared inbox your whole team works from, with live reply as the customer types. Filter by assignee, status, or tag so nobody double-answers the same thread.
Merge conversations
When the same customer opens two threads about one issue, merge them in two clicks. The messages combine into a single timeline so an agent isn't answering the same person in parallel.
Teammates & sub-admins Basic+
Give every agent their own login, scoped to a single inbox or the whole project. Non-destructive permissions; full audit of who replied to and changed what.
Bulk inbox actions
Select a batch of conversations and close, assign, tag, or snooze them in one click. Optional auto-close: threads idle for N days resolve themselves so the inbox doesn't sprawl forever.
CSV export
Export conversations, contacts, CSAT scores, and SLA metrics to CSV on demand. Pull the data into a spreadsheet or BI tool for the reporting your team already runs.
Agent presence
See which teammates are online, away, or busy right in the inbox — persistent across reloads. Assignment and routing respect presence, so conversations land with someone who's actually at their desk.
Looks like part of your site
Out-of-the-box default that's already nice. Eight presets when you want a quick swap. Theme editor + custom CSS on Basic for total control.
Theme editor
Eight named presets (Midnight, Ocean, Forest, Rose, Sunset, Lavender, Slate, Indigo) plus inline color pickers for the seven theme slots — header, bubbles, borders, text, background.
.chat-body { background: #0a0a0a; border-radius: 12px; }
Custom CSS Basic
Full control over every pixel. We sandbox the CSS into the embed iframe and strip </style to prevent injection.
Position & size
Drop the chat anywhere — bottom-right, bottom-left, side-rail. Set initial open/closed state per page.
Custom logo + texts
Upload your logo (Pillow-validated, EXIF-stripped, compressed). Set the chat title, login button text, "type a message" placeholder.
Chat wallpaper Basic
A subtle background behind the messages. Six built-in patterns (paper, geometric, doodle, bubbles, grid, tropical) or upload your own. Configurable overlay opacity keeps text crisp on top.
Less busywork, faster answers
Slack notifications Pro
Pipe new conversations, mentions, and SLA breaches straight into a Slack channel. Agents reply from Slack and it posts back to the customer — so the team triages where they already live.
Proactive greeting Basic+
Trigger a greeting after N seconds on a page — "Stuck on checkout? We're here." — with an optional follow-up nudge. Renders as if from your team and starts the conversation before the customer bounces.
Support analytics
Conversation volume, median first-response time, SLA attainment, CSAT trend, and per-agent load — with week-over-week deltas and an hour-of-day heatmap. Updates with every page load.
Email digests Basic+
Bundle new and unassigned conversations into a periodic summary email — 10-minute minimum cadence. Never miss a waiting customer while you're away from the inbox.
Notification bell
Unread count badge in the toolbar. Click to see which conversations mentioned you or got a new customer reply, and jump straight to that thread.
Per-page conversation context
By default every customer reaches the same inbox. Flip a toggle and each page URL is captured on the conversation — so agents see whether someone wrote in from pricing, checkout, or a docs page.
File attachments
Customers and agents attach screenshots, logs, and documents right in the thread. We validate, compress, and strip EXIF before storage so a bug report carries its evidence.
Wire it into the stack you already have
JavaScript API
setUser, setAttributes, on('conversation'), openInbox. Read the docs →
JWT auth Pro
Pre-authenticate customers with your own login. Sign an HS256 token server-side and the widget picks up identity, name, avatar, and attributes — so agents know exactly who they're helping.
Webhooks
HMAC-signed POSTs on conversation_created, conversation_assigned, sla_breached. Pipe into Slack, Zapier, or your CRM. Webhook docs →
Shopify App
Paste one snippet into your storefront theme and the support widget follows your store's look — on every product, collection and cart page.
WordPress & Wix
Download a one-file WordPress plugin from your admin panel, or paste a single script tag into a Wix embed. Activate, drop in your project ID, done. Works with any theme.
REST API
/api/login/, /api/conversation/, /api/contact/. JWT-authenticated, rate-limited, public-API stable.
Built to take a beating
A live support inbox is rough on infrastructure. We've made this part the boring part.
Multi-region failover, redis-backed pub/sub, gevent socket workers.
Worst-case 200ms cross-continent. Optimistic local rendering means an agent's replies feel instant.
The 50KB chat client streams from a global CDN. The script tag is async so first paint is unaffected.
EXIF scrubbing on uploads. HMAC-signed webhooks. Hashed sub-admin passwords. CSP frame-ancestors guard.
Ready to put real support on your site?
15-day trial. No credit card. Cancel anytime.