A chat widget for every app you run.
One script tag per app. Each app gets its own branded widget that feels built for it, and every chat lands in the same inbox, labeled by app. Real agent faces, honest away times, and auto-translate in 60+ languages.
Free under $1k MRR · Import from Crisp in one click
One line. Zero dependencies.
Paste a single <script> tag and set window.Convot = { app_id }.
The widget loads inside a sandboxed iframe, it can never break your host page, fight your z-index, or leak your styles.
Smart sizing goes from a 60px launcher to a full 440×760 panel and back.
- ✓Single tag embed per app, works in any web app or site
- ✓Sandboxed iframe, can't break host-page layout
- ✓Pre-load command queue replays buffered SDK calls
<!-- Add Convot to any web app --> <script> window.Convot = { app_id: "app_3f9c2a8d" }; </script> <script async src="https://app.convot.io/widget-loader.js"></script>
Match your brand exactly, no CSS required.
Pick your brand color from a hex input or eight presets. Choose a layout theme (Colorized, Minimal, or Classic), a color mode (Light, Dark, or Match system), and a chat background texture. Drop your logo in the launcher bubble. The widget looks like it shipped with your app.
- ✓Brand color, layout theme, color mode, and texture by toggle
- ✓Your logo in the launcher bubble
- ✓Section toggles: Help, Messages, Changelog, Roadmap, Scheduling
Real agent faces. Honest ETAs when you're out.
The widget home shows a branded hero, live online status, and a stack of real agent avatars when the team is available. A 3-minute grace period absorbs brief blips, so customers never see you flicker offline. When the team is genuinely away, visitors get a real "back in ~4h" estimate, not a generic "unavailable."
- ✓3-minute grace period, brief blips don't flip the status
- ✓Back-online ETA from your business hours, shown as a short pill
- ✓Instant away auto-reply sets expectations without going silent
Talk to any customer, in any language.
Convot auto-detects the visitor's language and translates every message server-side, no JS in the widget, no latency in the browser. Your team replies in English; the customer reads it in Spanish, Japanese, or 25+ other languages. One click shows the original, and you can correct the detected language any time.
- ✓Auto-detect + translate in 60+ languages, cached per message
- ✓Outgoing auto-translate, reply in your language, deliver in theirs
- ✓Per-bubble "show original" toggle, manual language override
Screenshots, recordings, and files, in the chat.
Customers attach JPG, PNG, GIF, WebP, MP4, MOV, up to 25 MB, with a caption, right inside the widget. No "please email us that file." When you reply while the widget is closed, a non-intrusive message preview toast pops above the launcher so customers come back without you forcing the chat open.
- ✓Images, video, and documents up to 25 MB, drag or pick
- ✓Click-to-zoom lightbox for images in-thread
- ✓Message preview toast re-engages without auto-opening the widget
Every chat tied to a verified customer identity.
Use Convot.identify({...}) to pass your user's ID and email, and sign the ID with
your per-app HMAC secret. Shopify apps can also pass a signed shop domain. Enable require_identity_verification mode and unverified sessions get a 403,
no impersonation, no anonymous noise. Blocked countries, IPs, and pages are enforced server-side, never sent to the browser.
- ✓HMAC-SHA256 identity verification, cryptographically proven customers
- ✓Server-side IP, country, and page restrictions, never leaks to browser
- ✓Hide on mobile, hide when all-away, force-email-gate, by toggle
# Your server: sign the user's ID user_hash = OpenSSL::HMAC.hexdigest( "sha256", app.identity_secret, user.external_id ) // The browser: identify, cryptographically verified Convot.identify({ external_id: "usr_8a2b1c9d", email: "[email protected]", user_hash: user_hash, });
Running Shopify apps? Every chat comes with the merchant's plan and MRR.
Connect your Shopify Partner account and, the moment a chat starts, the sidebar shows the merchant's plan, gross MRR, LTV, install age and lifecycle events. When a merchant uninstalls, the conversation reopens automatically so you can follow up.
See revenue intelligence →Further reading
Put a chat widget on every app today.
Free under $1k MRR. One script tag per app. Works in any web app, site or Shopify app.