Appmint Chat is a widget you embed on your site. Visitors get answers; your team gets a queue, presence and full conversation history attached to the actual customer record.
Because it runs on the same backend as everything else, a conversation is tied to the real customer — their orders, tickets and past messages are one lookup away rather than a separate silo.
What it gives you
Embedding it
Two tags — a stylesheet and the loader — then one init call.
<link rel="stylesheet"
href="https://web.appmint.space/chat-client/static/css/main.css">
<div id="my-chat-container"></div>
<script>
function initializeChat() {
AppmintChat.init({
containerId: 'my-chat-container',
orgId: 'your-org-id',
chatId: 'your-chat-id',
appId: 'your-app-id',
appKey: 'your-app-key',
theme: 'light',
language: 'en'
});
}
</script>
<script src="https://web.appmint.space/chat-client/appmint-chat.js"
onload="initializeChat()"></script>The loader appends the widget bundle, waits for it, then mounts into your container. If containerId names an element that does not exist — or you omit it — the loader creates a div and appends it to <body>, so the widget still appears.
It also waits for DOMContentLoaded when the document is still loading, so script placement does not matter.
Configuration
| Option | Purpose |
|---|---|
orgId | Your organization. Required. |
chatId / configId | Which chat configuration to load — appearance, greeting, behavior |
appId | Identifies the embedding app |
appKey | The app key issued for that app |
containerId | Element to mount into. Defaults to appmint-chat-container, created if absent |
theme | light or dark |
language | UI language |
mode | chat for full chat, qa for question-and-answer |
defaultPath | The view the widget opens on |
chatUser | Pre-fill the visitor — see below |
className, style | Applied to the widget root |
Configuration is fetched at runtime from your organization, so appearance and behavior are changed centrally rather than by redeploying your site.
Two modes
chat — the full experience: conversation history, queueing, agent handoff, attachments, calling.
qa — a narrower question-and-answer surface, for when you want answers without staffing a live queue.
Skipping the registration form
By default an anonymous visitor is asked who they are before a conversation starts. If your page already knows them, pass chatUser and the widget skips the form and runs guest authentication automatically:
AppmintChat.init({
orgId: 'acme',
chatId: '…',
chatUser: { email: '[email protected]', name: 'Jane', phone: '+15551234567' }
});Loading the chat configuration, fetching a public profile and uploading a file inside a conversation all work without the visitor signing in. A support chat cannot require an account to start.
Attachments
Files can be attached to a conversation by either side. The maximum attachment size is 5 MB.
Languages
The widget is internationalized, ships with English and German, and accepts a language option. Browser language is detected when none is given.
How a conversation flows
1. The visitor opens the widget. It loads its configuration for that chat — appearance, greeting and behavior.
2. The chat is queued. If no agent is free, the visitor is placed in a queue and can be shown their position.
3. An agent picks it up. Agents set their own status, so the queue only routes to people actually available.
4. Everything is recorded. Messages are saved as they are sent, so history survives a refresh, a lost connection, or a handoff to another agent.
5. The transcript can be sent on. At the end it can be emailed to the customer or attached to a support ticket.
Presence
Presence is tracked on both sides, which is what makes routing and staffing decisions possible:
- Which agents are online, and the status each has set
- Which customers are currently online
- Aggregate presence and queue statistics for a live dashboard
Operators can work the same queue from Appmint Mobile, so covering chat does not mean sitting at a desk.
Customer context
When a conversation opens, the agent can pull the visitor's journey — the pages and actions leading up to the chat. This is the same activity timeline the CRM records, so an anonymous visitor who later identifies themselves keeps one continuous history rather than splitting in two.
Voice and video
The widget supports real-time calling, with connection configuration served by the platform so calls work across networks and firewalls without you running signalling infrastructure.