Features

Every feature.
One script tag.

Shared inbox, conversation routing, SLA tracking, CSAT, saved replies, a Help Center, webhooks. Customer support that feels native — not bolted on.

For your visitors

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.

**bold**

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.

Self-service & deflection

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.

Inbox & routing

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.

Brand & UX

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 presets

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.

Help & automation

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.

Integrations

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

One-script install from the Shopify App Store. The support widget follows your storefront theme. Billed through Shopify, so you don't need a separate payment account.

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.

Runtime

Built to take a beating

A live support inbox is rough on infrastructure. We've made this part the boring part.

99.99%
Uptime SLA

Multi-region failover, redis-backed pub/sub, gevent socket workers.

<80ms
Median latency

Worst-case 200ms cross-continent. Optimistic local rendering means an agent's replies feel instant.

CDN
Edge-served widget

The 50KB chat client streams from a global CDN. The script tag is async so first paint is unaffected.

SOC 2
In progress

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.

Try the chat — it's right here 👇