Documentation
User manuals for organization admins and support agents using the Mr. Seven Support System.
Getting started
After you sign in to the Support System as an Organization Admin, do not start by creating users. Every agent must belong to a platform, and a platform can only be saved if departments and issue types already exist.
Open Platforms from the left navigation. Work in this order so each screen has something to attach:
- 1Issue Types
- 2Departments
- 3Platforms
- 4Users
- Issue types name the kinds of customer problems (Billing, Login, Technical).
- Departments group those issue types into teams of work, such as Customer Care.
- Platforms are the products or channels customers use. Each platform must be assigned departments and issue types.
- Users come last. Agents are assigned to a platform, then to the departments and issue types they may handle.
Use the platform dropdown in the app header to switch which product’s data you are viewing. Most admin lists follow that selection.
Issue types
Issue types are labels for customer problems. Live chat queues, tickets, agent routing, departments, and platforms all use this list.
Open the catalog
Go to Platforms and select the Issue Types tab. Use the search box to find a type by name when the list grows.
Create
Click Create Issue Type. Enter a name and optional description. You can add several rows in the same form before saving so you can set up Billing, Login, and Technical in one pass.
Edit and delete
Row Edit renames a type or updates its description. Row Delete opens a confirmation — use it only when nothing still depends on that type. Keep names short; the same labels appear on department forms, platform assignment, user assignment, and the agent Issue Type filter in Live Support.
Departments
Departments group issue types into teams of work. Platforms pick which departments they serve, and users are later assigned to those departments.
Open the catalog
On Platforms, select Departments. Search by name, or filter the table by a linked issue type.
Create
Click Create Department, enter a name and optional description, then select one or more issue types. Save. Those issue types are what this team is allowed to handle.
Edit and delete
Edit to rename or change which issue types belong to the department. Delete only when platforms and users no longer need it.
Platforms
A platform is a product or channel customers use (website, mobile app, and so on). Most admin screens follow the platform selected in the header.
Open the catalog
On Platforms, select the Platforms tab. Search by name, code, or support email. Filter by department or issue type.
Create
Click Create Platform and fill:
- Name — label staff see in the header dropdown.
- Platform code — short unique code used in chat URLs and widgets.
- Type — Website, Mobile App, WhatsApp, Email, Phone, or Other.
- Support email — optional contact address.
- Departments and issue types — required. You cannot skip this step.
You can also create a department or issue type inline from the platform form if something is missing.
After save
A default chat widget is created automatically. Restyle it later under Settings → Chat Widget. Use row Edit / Delete as needed.
Settings → Organization → Update plan.Users
Once at least one platform exists, manage staff under Users → User List.
| Control | What it does |
|---|---|
| Create User | Opens the create form: name, email, phone, role, password, platform assignment, departments, issue types, module permissions, and daily chat/email limits. |
| Edit | Update profile, role, assignment, modules, Auto Assign, and limits for that person. |
| Delete | Opens Confirm Delete User. Removes the account from the directory. |
| Status (Active / Inactive) | Toggle on the row without opening the full edit form. Inactive users cannot sign in or take work. |
| Search / filters | Search by name or email. Filter by role, status, platform, or issue type. |
Roles and assignment
Common roles include Org Admin, Org Manager, Supervisor, and Support Agent. The role controls which modules appear on the permissions step. Support agents belong to one platform; that assignment decides which waiting customers they can pick up in Live Support.
Limits and Auto Assign
Set daily max chat / email limits so agents are not overloaded. The Auto Assign column shows whether that agent accepts automatic routing (agents can also toggle this on Live Support).
Users → Teams. Teams are also the audience when you send announcements.Teams
Open Users → Teams. Teams belong to the platform selected in the header.
| Control | What it does |
|---|---|
| Create Team | Name and optional description for a new team. |
| Team Members | Add people who already have access to that platform. Use Select all / Unselect all when editing membership. |
| Member / Lead | Give each person a team role (member or lead). |
| Create User | Shortcut to create a user while you are building the team. |
| Delete Team | Removes the team after confirmation. |
Dashboard
Dashboard is the operations overview for the selected platform.
| Control | What it does |
|---|---|
| Today / This Week / This Month / This Year | Date presets that refresh the cards and charts. |
| Cards (In-Progress, Waiting, Unread, Avg Pickup, Avg Resolution) | High-level queue and performance metrics for the period. |
| User List / Settings / View Analytics | Quick Actions that jump to those areas. |
Conversations
Conversations lists chat tickets and transcripts for quality review. It is a history view — live replies happen on the agent Live Support screen.
| Control | What it does |
|---|---|
| Support Agent | Filter to All Agents or a specific agent. |
| Search / open row | Find a ticket, then open it to read customer, bot, and agent messages. |
Tickets Management
Tickets Management is for tickets you create by hand (phone, email, or walk-in requests that did not start from the widget).
| Control | What it does |
|---|---|
| Create Ticket | Opens the form: Platform *, Issue Type *, Issue Title *, Issue Description *, Customer Email *, optional Phone and Client ID. |
| Create & Send Link | Saves the ticket and can email the customer a guest chat link. |
| Copy | Copies the chat link from the success banner or the Chat Link column. |
| Edit | Update details, then Save & Send Link if you need to re-share. |
| Search / Show Filters | Find tickets later by ID, platform, issue type, or customer. |
Customer Context & CRM
Open Customer Context & CRM for the customer directory next to support work.
| Control | What it does |
|---|---|
| Customers | Tab for searching and opening customer records. Use Search, Show Filters, and row View. |
| CRM Integration | Tab to connect an external CRM so customer fields can be pulled in. Use Configure CRM Integration when available. |
Analytics
Under Analytics you can inspect performance in more detail than the dashboard cards. Reports typically follow the header platform and date filters.
- Average Pickup Time — how long customers wait before an agent joins.
- Average Resolution Time — how long chats take to finish.
- Time Spent Per Agent — workload by agent.
- Unread Messages — chats that still have unread customer messages.
Integration
Organization admins open Integration to manage messaging channel integrations, the web embed, and customer identity auth. The live screen is at /admin/integration. Access is restricted to organization administrators.
Page title: Integration. Subtitle: manage messaging channel integrations, web embed, and customer identity auth. Select the product in the header platform dropdown first — the Web tab follows that platform.
The page has four channel tabs. Web is the working integration today. The others are marked Coming soon until those channels ship for your organization.
| Control | What it does |
|---|---|
| Telegram Mini App | Coming soon. Configuration for this channel will be available here. Use the Web tab for website platforms. |
| Coming soon. Configuration for this channel will be available here. Use the Web tab for website platforms. | |
| Coming soon. Configuration for this channel will be available here. Use the Web tab for website platforms. | |
| Web | Active website integration: Chat client URL, Widget embed code (with Copy), and the full Web integration user manual. |
Confirm the platform is a website
Web chat links and embed code are only available for platforms with type Website and status Active. If the header platform is something else, the Web tab shows a warning to switch platforms or update the record under Platforms. If no platform is selected, the page asks you to pick one from the header.
Copy the chat client URL
On Web, the panel Chat client URL for {platform} shows a full-page chat link for the selected platform. Use it for testing or a guest chat link. Pattern: https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io/{PlatformCode}?tgId=…
Copy the widget embed code
The same tab shows Widget embed code with a Copy button. Paste it on every page of your site where the chat bubble should appear. The generated script sets:
data-platform-id→your-platform-id(example:0a8f2050-3d92-45a5-a533-799845f8b14c)data-widget-id→your-widget-id(example:9a08b1e8-7aa7-4d9a-9638-0f814ba3e4bf)s.src→ chat-client/embed.js
If no widget exists yet, create one under Settings → Chat Widget, then return here. Saving a platform also creates a default widget.
Follow the on-page user manual
Below the embed code, Integration → Web includes the full Web integration user manual: Part 1 (embed the widget) and Part 2 (authenticate customers with window.mr7Settings / optional JWT). The next section of this documentation is that same guide.
Web integration user manual
This is the same Web integration user manual shown inside Support System at Integration → Web. Use it to embed the chat widget on your website and authenticate customers with user_id, name, email, phone, and a signed userJwt. Verified user_id is used as chat tgId.
https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io. Prefer copying the generated snippet from Integration so your-platform-id and your-widget-id are filled for your selected platform.Part 1 — Embed the widget
Create a chat widget for this platform
Go to Settings → Chat Widget, create a widget for the website platform, and copy the Widget Code. A default widget is also created when you save a new platform.
Paste the embed script before </body>
Add the script on every page where the chat bubble should appear. Chat client origin: https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io
Template — replace your-platform-id and your-widget-id with the values from Integration → Web:
<!--Start of Chat Widget Script-->
<script type="text/javascript">
(function(){
var s=document.createElement("script");
s.async=true;
s.src="https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io/embed.js";
s.charset="UTF-8";
s.setAttribute("data-platform-id","your-platform-id");
s.setAttribute("data-widget-id","your-widget-id");
document.head.appendChild(s);
})();
</script>
<!--End of Chat Widget Script-->Example with real ids in data-platform-id and data-widget-id:
<!--Start of Chat Widget Script-->
<script type="text/javascript">
(function(){
var s=document.createElement("script");
s.async=true;
s.src="https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io/embed.js";
s.charset="UTF-8";
s.setAttribute("data-platform-id","0a8f2050-3d92-45a5-a533-799845f8b14c");
s.setAttribute("data-widget-id","9a08b1e8-7aa7-4d9a-9638-0f814ba3e4bf");
document.head.appendChild(s);
})();
</script>
<!--End of Chat Widget Script-->Optional: open a direct chat URL
For testing or a full-page chat link, copy Chat client URL from Integration → Web, or open https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io/{PlatformCode}?tgId=…. Guests use a random web_* id. Logged-in customers use their user_id as tgId after identity verification (next section).
Part 2 — Authenticate customers (recommended)
Pass customer details on window.mr7Settings. Chat Widget settings include Require user_id to show widget and a JWT authentication toggle. After identity is applied, chat session id (tgId) = user_id for logged-in visitors. When user_id is not required, guests stay web_*.
- Require user_id on: the chat bubble is not shown until
user_idis set (viawindow.mr7SettingsorMr7("update")). - Require user_id off: if
user_idis empty, a guest idweb_*is generated. - JWT off: send
user_id,name,email, andphone. No token is required.userJwtis ignored. - JWT on: your backend must sign a short-lived HS256 JWT with the identity secret. Logged-in visitors need a valid
userJwt(or legacyuserHash).
| Field | Required | Purpose |
|---|---|---|
user_id | Yes (logged-in) | Stable id from your system. Used as chat tgId. |
name | Optional | Customer display name shown to agents. |
email | Optional | Customer email. |
phone | Optional | Customer phone number. |
userJwt | Required only when JWT auth is on | HS256 JWT signed on your server. Proves the visitor is that user_id. Ignored when JWT authentication is off. |
Choose JWT on or off, then generate a secret if needed
In Settings → Chat Widget, open JWT authentication. Leave it off to identify customers with unsigned user_id. To turn it on, click Generate secret, copy it immediately (shown once), store it only on your server, then switch JWT authentication on.
If JWT is on: sign a short-lived JWT on your backend
After the user logs into your website, your server creates an HS256 JWT with the identity secret. Never put the secret in frontend JavaScript. Put the same customer fields in the JWT claims. Skip this step when JWT authentication is off.
// JWT payload (claims)
{
"user_id": "cust_12345", // required — this becomes the chat tgId
"name": "Jane Doe",
"email": "user@example.com",
"phone": "+15555550123",
"exp": 1735689600 // required expiry (unix seconds)
}
// Sign with HS256 using the Messenger identity secretLegacy option: HMAC-SHA256 hex digest of user_id as userHash (deprecated in favor of JWT). Do not send both userJwt and userHash.
Set window.mr7Settings before the embed script
Render these values from your backend into the page (or call Mr7("update", …) after login). Set mr7Settings before embed.js loads.
<script>
window.mr7Settings = {
user_id: "cust_12345",
name: "Jane Doe",
email: "user@example.com",
phone: "+15555550123",
userJwt: "SERVER_SIGNED_HS256_JWT"
};
</script>
<!--Start of Chat Widget Script-->
<script type="text/javascript">
(function(){
var s=document.createElement("script");
s.async=true;
s.src="https://mr7-chat-client-dev.bluewave-4e49c622.japaneast.azurecontainerapps.io/embed.js";
s.charset="UTF-8";
s.setAttribute("data-platform-id","your-platform-id");
s.setAttribute("data-widget-id","your-widget-id");
document.head.appendChild(s);
})();
</script>
<!--End of Chat Widget Script-->If the customer logs in after the widget already loaded:
Mr7("update", {
user_id: "cust_12345",
name: "Jane Doe",
email: "user@example.com",
phone: "+15555550123",
userJwt: "SERVER_SIGNED_HS256_JWT"
});
Mr7("open"); // optionalWhen JWT authentication is off, omit userJwt:
window.mr7Settings = {
user_id: "cust_12345",
name: "Jane Doe",
email: "user@example.com",
phone: "+15555550123"
};- Logged-in chat id is
user_id(used astgId) - Visitors who are not logged in stay a guest:
web_* - When JWT authentication is on, do not invent
user_idin the browser without a matching server-signeduserJwt
Checklist
- Widget exists and embed script is on your site
- JWT authentication is set the way you want in Chat Widget settings
- Require user_id is on only if the bubble should stay hidden for anonymous visitors
- If JWT is on: identity secret generated (stored only on your server)
- If JWT is on: JWT includes user_id + exp; name, email, phone optional; signed HS256
- window.mr7Settings set with user_id, name, email, phone (and userJwt when JWT is on)
- mr7Settings is assigned before embed.js loads (or Mr7("update") after login)
- Chat session tgId is the user_id for logged-in visitors
- data-platform-id is your-platform-id and data-widget-id is your-widget-id from Integration → Web
Embed attributes
data-platform-id → your-platform-id
data-widget-id → your-widget-id
window.mr7Settings
user_id, name, email, phone
userJwt (required when JWT auth is on)
Settings → Chat Widget in Support System. For live embed code for your platform, use Integration → Web.Settings
Open Settings for account, branding, and AI configuration.
| Control | What it does |
|---|---|
| Profile | Update your name, contact details, and password. |
| Security | Enroll or manage two-factor authentication. |
| Organization | Company profile and logo. Use Save organization and Update plan for billing changes. |
| Chat Widget | Appearance, greeting, and behavior of the customer chat bubble. Also hosts Require user_id and JWT authentication used by the Web embed. |
| Themes | Organization and per-platform logos used in the sidebar. |
| Announcements | Create Announcement, Edit, and Delete. Agents see notices on the announcement bell. |
| AI Agent | Tabs: Knowledge Base, Platform Prompt, LLM Config, Tool Config. Create/Edit/Delete/View documents, Train, and manage prompts. |
| User Action Logs | Audit trail of important admin actions. |
Header and navigation
Global chrome that appears across admin screens:
| Control | What it does |
|---|---|
| Platform dropdown | Switches which product’s data most lists and dashboards show. |
| Announcement / mention bells | Organization notices and @mentions from internal notes. |
| Logout | Opens Confirm Logout with Logout / Cancel. |
| Help → User Manual | In-app copy of this guide. System Support may show Coming soon. |
