iEXChat · support platform on your server

Customer support for your exchanger in one platform.

Customers contact you from the website, Telegram or e-mail while the team replies from one workspace with order context and the complete conversation history.

A branded React widget, Telegram platform, automation, chat groups, unified customer profiles, SLA, analytics and private E2EE conversations — hosted on your server.

Price$499
React website widget Realtime and Web Push Operator workspace Multi-site and roles Telegram platform E-mail, API and webhooks
Your perimeter
history, customers, files and settings remain on your server
Unified profile
website, Telegram, e-mail and API become one customer timeline
Realtime
messages, typing, presence, reactions and read receipts update instantly
iEXExchanger clients only

This project connects to an active iEXExchanger license and works as an additional module for the core platform.

Positioning

Support has to see the customer's situation, not just the message

At an exchanger almost every question is tied to a payment, an order status, an exchange paire or a specific page. iEXChat puts all of that next to the conversation so the operator understands what's happening right away.

Order context in the conversation

The site can pass order number, exchange paire, amount, page and any custom data — the operator sees it in the customer card without manual lookups.

Data stays with you

Conversations, files, customers, settings and ratings live on your server. No third party can revoke access or raise prices on you.

One product for several sites

One installation serves several exchangers, storefronts or domains: each one has its own widget settings, operators, tags, queues and analytics, and they don't mix.

Comparison

External SaaS chat vs. your own iEXChat

Regular chat service
  • Monthly subscription and payment for every operator seat
  • Customer messages and files live inside someone else's platform
  • Weak order context: amount, paire and e-mail are searched manually
  • Branding, integrations and behavior are limited by provider rules
iEXChat — your chat
  • Runs on your server, without paying per operator seat
  • History, customers, files, ratings and analytics stay with you
  • Paire, amount, e-mail, order number and exchange events are visible in chat
  • Deep iEXExchanger integration, brand-controlled widget and flexible setup
Architecture

A light website widget, a full support platform inside

The site loads a small script. The widget opens a realtime conversation, the workspace receives the message, history and order context are saved in your database.

Exchanger website

Loads the widget and can pass customer and order data.

Widget on the page

A neat support window styled to your brand, restoring the conversation when the customer returns.

Message delivery

Messages, reads, typing and statuses arrive instantly — no page refresh.

History and context

Conversations, customers, files, ratings and audit live in your database.

Operator panel

Conversation queue, customer card, quick replies, tags, handoffs and analytics.

The iEXChat platform

Every channel, team workflow and customer detail in one perimeter

iEXChat covers the complete support cycle: it receives requests, surfaces customer and order context, helps the team meet SLA, preserves history and gives owners actionable analytics.

Telegram as a first-class channel

Connect a site-specific or custom bot for each website, with two-way sync, team-group topics, inline buttons, CSAT and a Telegram Mini App.

Private E2EE conversations

Browser-side AES-GCM-256: the creator keeps the key and shares it only in the guest URL fragment. The server stores ciphertext only.

One customer profile

Automatic matching by e-mail, phone, Telegram and external ID, a single conversation timeline, custom fields and JSON/CSV export.

Groups and operational control

Unlimited chat groups, roles and membership, password access, bulk actions, macros and full-text search with Russian stemming.

A React widget that matches your website

Isolated in Shadow DOM with a live brand builder, multiple conversations, knowledge base, bots, proactive journeys and five operating modes.

Voice, PWA and observability

Voice travels across website, Telegram and panel; optional transcription, PWA, Web Push, metrics, tracing and load scenarios are available.

Capabilities

The complete iEXChat capability set

One omnichannel inbox

Website, Telegram, e-mail and API conversations share one queue with states, priorities, assignment, pinning, snooze and archive.

A widget built for your brand

Live color, background, logo, density, action and launcher controls; light, dark and auto themes, eye-catcher, inline embed and optional branding.

Telegram support platform

Site-specific and custom bots, team topics, message and media sync, deep links, CSAT, inline actions and Mini App.

Unified customer identity

Requests connect by e-mail, phone, Telegram, external ID and verified identity, with one timeline, order context, profile fields and exchange events.

Team operations and SLA

Roles, departments, availability and vacations, manual or automatic assignment, concurrency limits, priorities, SLA and escalation.

Analytics and quality control

Dashboards for conversations, operators, visitors, exchange events, widget and CSAT, including FRT, resolution, missed chats, channels, UTM and geography.

Bots, knowledge and automation

Bot flows, quick starters, FAQ and articles, knowledge deflection, proactive invitations, exit intent, webhooks and macros reduce routine work.

Voice, files and guided help

Voice with optional transcription, drag-and-drop and pasted files, photo albums, reactions, replies, editing and co-browse with consent and masking.

Operator panel

An operator workspace designed for daily support work

The panel combines the inbox, customer and order context, internal collaboration and quality control. It installs as a PWA and supports Web Push.

Queue and conversation lifecycle

NEW, ASSIGNED, PENDING, WAITING_CLIENT, RESOLVED, CLOSED and SPAM, plus filters, priority, pin, snooze, restore, bulk assignment and non-destructive archive by default.

Customer, order and full history

Unified identity and linked conversations, location and device, custom fields, exchange events, manual link/unlink, data requests and JSON/CSV export.

Quick replies and macros

Variable-based replies and one-click macros can send a response, change state and tags, assign the operator or add an internal note.

Groups and team collaboration

Global and site groups, colors and icons, role or member access, eight-hour password unlock, bulk membership, mentions, team DMs and private notes.

Search, analytics and reports

Full-text search, live metrics, SLA and CSAT, widget and bot funnels, operator reports and PDF conversation export.

Presence and workload routing

ONLINE, AWAY, BUSY and OFFLINE, away reason and duration, vacations and schedules, manual, round-robin and least-busy assignment.

Site widget

A React 19 widget that feels native to your website

A light loader fetches the versioned core only when needed. Shadow DOM prevents style collisions, and five modes cover native chat through a multi-channel menu.

Mode 1

Native chat

The complete website chat with multiple conversations, files, voice, reactions, receipts, CSAT and full operator tools.

Mode 2

Smart routing

Open native chat while the team is online and automatically offer the configured fallback channel when it is offline.

Mode 3

Telegram redirect

Send the visitor through a deep link and continue in the bot while preserving the website and customer relationship.

Mode 4

External provider

Route to Jivo, Tawk, Chatra, Crisp, Intercom or another provider during a gradual migration.

Mode 5

Multi-channel menu

One launcher offers native chat, Telegram and e-mail in the order configured by the owner.

Every visitor state

Pre-chat, offline, closed, blocked, queue, incident and demo states with their own copy and display rules.

Voice and transcription

Recording and playback with seeking and speed; voice works website ↔ Telegram ↔ panel, with optional transcription.

Files and photo albums

Configurable size and categories, blocklist, drag-and-drop, paste, multi-upload, progress and multiple photos in one message.

Home, Chat and Help

Home, conversation list and help center with FAQ, articles, search, feedback, bot flows and deflection.

Language, theme and brand

Russian and English built in, custom translations, auto/light/dark, sound, density, launcher, logo, greeting and live preview.

History and device handoff

Multiple conversations, archive and restore, e-mail transcript, magic link and QR handoff to another screen.

Verified identity and context

HMAC identity, name, e-mail, phone, external ID, order number and direction, custom fields, page views and exchange events.

Engagement and quality

Quick starters, proactive invite, exit intent, message preview, tab alerts, reactions, reply-to, edit/delete and configurable CSAT.

Instant delivery

More than messages: the entire working context updates instantly

Socket.IO synchronizes website, panel, Telegram and workers while Redis Adapter scales realtime across instances.

Instant messages

Text, files, voice and system events arrive without reloads and preserve their order.

Live typing preview

When enabled, operators can see the incoming text as the visitor types, not only a generic typing indicator.

Read receipts

Delivery, read state, reactions, replies, edits and deletion stay synchronized across channels.

Operator presence

Presence, schedules, vacations and temporary away status affect team availability.

Queue and ETA

Queue position, wait estimate, auto-assignment, capacity limits, SLA and escalation keep requests from being lost.

Web Push without duplicate replies

Background notifications lead operators to the right conversation while assignment and presence prevent overlapping replies.

Multi-site and roles

One panel for several exchangers without mixed access

Each site has its own domain, brand, language, operators and widget settings. One person can be an operator on one site and an admin on another — and only sees what they were explicitly granted.

Several sites

Each has its own domain, logo, color, language and widget settings — no "shared" branding.

Separate access

An operator only sees their sites and their conversations, no accidental crossover.

Flexible roles

Admin, operator and custom roles with a precise set of rights — for KYC, analytics, support.

Per-site analytics

Conversations, ratings, load and analytics are counted per site, never mixed.

Channels and integrations

Website, Telegram, e-mail and API become one customer history

Native site chat

Complete React website chat with conversations, history, files, voice, knowledge, bots, CSAT and order context.

Telegram Bot Platform

Configure a bot for each website with media, typing, reactions, edit/delete, inline buttons, CSAT, deep links and cross-channel handoff.

Team group and Mini App

Each conversation can receive a forum topic in the team group, while operators reply with commands or open the working Mini App.

Inbound and outbound e-mail

SMTP sends outbound mail, while Postmark, Mailgun or a generic webhook turn inbound messages into conversations.

Integration with your systems

API keys, webhooks, HMAC identify, setOrder and exchange events connect the chat to an exchanger, CRM and internal workflows.

Unified customer identity

Contacts merge by e-mail, phone, Telegram user and external ID, with manual link and unlink when the team needs control.

Security

Protection at every layer, from operator login to a private conversation

Core data and files remain in your perimeter. Owner-enabled external channels receive only the data needed to perform their role.

Passwords, 2FA and secure sessions

Argon2, TOTP, access and refresh JWTs, refresh rotation and reuse detection protect the operator workspace.

Site and visitor isolation

Signed visitor tokens, HMAC identify, per-site CORS, access checks and IDOR protection separate customers and projects.

Private E2EE conversations

AES-GCM-256 runs in the browser; the guest key lives only in the URL fragment while the server sees a fingerprint and ciphertext.

Anti-spam and perimeter controls

Rate limits, blacklist, Helmet and CSP restrict brute force, spam, suspicious requests and unsafe embedding.

Encrypted secrets and audit

Bot and integration tokens are encrypted at rest, while the audit trail records settings and conversation operations.

Consent-based co-browse

Co-browse starts only after explicit visitor consent and masks password, e-mail, phone and marked sensitive fields.

Deployment and operations

Production infrastructure for dependable customer support

iEXChat runs inside your perimeter and includes the production foundation for reverse proxy, SSL, background jobs, storage, backups and health monitoring.

Automated installation

Automated clean-server setup configures services, reverse proxy and certificate, then runs readiness checks.

Fast widget delivery

A minimal loader fetches the immutable widget core only when needed for fast, predictable and cache-friendly delivery.

Migrations and backups

Idempotent schema changes and backups reduce risk to production data during system maintenance.

Worker and observability

Separate queues cover SLA, notifications, cleanup and analytics, with optional metrics and tracing.

Under the hood

What iEXChat is built with

A TypeScript monorepo with a React 18 panel, React 19 widget in Shadow DOM, NestJS 10 API, Prisma and PostgreSQL, Redis/BullMQ, Socket.IO, S3/MinIO and a dedicated worker.

Client

Widget and panel

What the customer sees in the widget and the operator sees in the panel. Lightweight, isolated, reactive.

React 18 + TanStack Query
Operator panel: React 18, TanStack Query, TanStack Virtual, Zustand, Radix/shadcn and ApexCharts.
React 19 widget + Shadow DOM
Widget: React 19 and Tailwind 4 inside Shadow DOM, lazy core loading and no host-page style collisions.
TypeScript strict
Strict TypeScript on every side — typed API contracts.
Tailwind 4
Design system for the panel and the settings pages.
Vite
Vite builds the panel and isolated widget core; the light loader fetches it only when required.
Socket.IO client
Socket.IO client — instant messages in the widget and the panel.
Server

API and worker

NestJS API, a realtime gateway, a background worker with queues and Prisma on top of Postgres.

NestJS 10
NestJS 10 provides the modular API, guards, pipes, background integrations and realtime gateway.
Prisma ORM
Prisma ORM — migrations, type-safe queries, baseline.
PostgreSQL
PostgreSQL — conversations, customers, settings, audit.
Redis + BullMQ
Redis + BullMQ + Socket.IO Adapter — queues and pub/sub.
Socket.IO + Redis Adapter
Socket.IO gateway — all realtime events.
Worker (queues, SLA)
BullMQ worker handles notifications, SLA, cleanup, analytics rollups and retries.
Infrastructure

Hosting and operations

Self-hosted on Debian/Ubuntu, packed into Docker, nginx as a reverse proxy, Cloudflare optional.

Debian 13 / Ubuntu 26.04
Debian 13 / Ubuntu 26.04 is the recommended server base.
Docker compose
Docker compose — Postgres, Redis, MinIO, app, worker.
Nginx + Let's Encrypt
Nginx — reverse proxy, static files, Let's Encrypt certs.
Cloudflare
Cloudflare — DNS, protection, optional WAF.
MinIO / S3
MinIO / S3 — files, voice notes, images.
systemd + cron
systemd + cron — supervision and routine jobs.
Ready to try

iEXChat — support infrastructure owned by your business

One product connects your website, Telegram, e-mail, team and customer data. Run iEXChat on your server and manage support from one workspace.