Documentation

User manuals for organization admins and support agents using the Mr. Seven Support System.

1

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:

  1. 1Issue Types
  2. 2Departments
  3. 3Platforms
  4. 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.
Do this first
If you try to create a user first, there is no platform to assign them to. If you try to create a platform first, the form cannot pick departments or issue types yet. Follow Issue Types → Departments → Platforms → Users once, then the rest of the system has a catalog to work with.

Use the platform dropdown in the app header to switch which product’s data you are viewing. Most admin lists follow that selection.

2

Issue types

Issue types are labels for customer problems. Live chat queues, tickets, agent routing, departments, and platforms all use this list.

1

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.

2

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.

3

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.

Tip
Create the full set you expect to use before you build departments. A department must be linked to at least one issue type.
3

Departments

Departments group issue types into teams of work. Platforms pick which departments they serve, and users are later assigned to those departments.

1

Open the catalog

On Platforms, select Departments. Search by name, or filter the table by a linked issue type.

2

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.

3

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.

Important
If no issue types exist yet, the department form will not let you save. Go back to Issue Types first.
4

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.

1

Open the catalog

On Platforms, select the Platforms tab. Search by name, code, or support email. Filter by department or issue type.

2

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.

3

After save

A default chat widget is created automatically. Restyle it later under Settings → Chat Widget. Use row Edit / Delete as needed.

Note
Your plan may limit how many platforms you can create. If create warns that the limit is reached, update the plan under Settings → Organization Update plan.
5

Users

Once at least one platform exists, manage staff under Users → User List.

ControlWhat it does
Create UserOpens the create form: name, email, phone, role, password, platform assignment, departments, issue types, module permissions, and daily chat/email limits.
EditUpdate profile, role, assignment, modules, Auto Assign, and limits for that person.
DeleteOpens 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 / filtersSearch by name or email. Filter by role, status, platform, or issue type.
1

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.

2

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).

Tip
After agents exist, group them on Users → Teams. Teams are also the audience when you send announcements.
6

Teams

Open Users → Teams. Teams belong to the platform selected in the header.

ControlWhat it does
Create TeamName and optional description for a new team.
Team MembersAdd people who already have access to that platform. Use Select all / Unselect all when editing membership.
Member / LeadGive each person a team role (member or lead).
Create UserShortcut to create a user while you are building the team.
Delete TeamRemoves the team after confirmation.
7

Dashboard

Dashboard is the operations overview for the selected platform.

ControlWhat it does
Today / This Week / This Month / This YearDate 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 AnalyticsQuick Actions that jump to those areas.
8

Conversations

Conversations lists chat tickets and transcripts for quality review. It is a history view — live replies happen on the agent Live Support screen.

ControlWhat it does
Support AgentFilter to All Agents or a specific agent.
Search / open rowFind a ticket, then open it to read customer, bot, and agent messages.
9

Tickets Management

Tickets Management is for tickets you create by hand (phone, email, or walk-in requests that did not start from the widget).

ControlWhat it does
Create TicketOpens the form: Platform *, Issue Type *, Issue Title *, Issue Description *, Customer Email *, optional Phone and Client ID.
Create & Send LinkSaves the ticket and can email the customer a guest chat link.
CopyCopies the chat link from the success banner or the Chat Link column.
EditUpdate details, then Save & Send Link if you need to re-share.
Search / Show FiltersFind tickets later by ID, platform, issue type, or customer.
10

Customer Context & CRM

Open Customer Context & CRM for the customer directory next to support work.

ControlWhat it does
CustomersTab for searching and opening customer records. Use Search, Show Filters, and row View.
CRM IntegrationTab to connect an external CRM so customer fields can be pulled in. Use Configure CRM Integration when available.
11

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.
12

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.

ControlWhat it does
Telegram Mini AppComing soon. Configuration for this channel will be available here. Use the Web tab for website platforms.
WhatsAppComing soon. Configuration for this channel will be available here. Use the Web tab for website platforms.
FacebookComing soon. Configuration for this channel will be available here. Use the Web tab for website platforms.
WebActive website integration: Chat client URL, Widget embed code (with Copy), and the full Web integration user manual.
1

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.

2

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=…

3

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.

4

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.

Note
Telegram Mini App, WhatsApp, and Facebook tabs show Coming soon. Use the Web tab to generate chat client links and embed code for website platforms. Org admins only — other roles see Access restricted.
13

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.

Note
Chat client origin (dev): 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

1

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.

Important
If Integration shows “No chat widget for this platform yet,” create one in Chat Widget settings, then return to Integration → Web.
2

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-->
3

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_id is set (via window.mr7Settings or Mr7("update")).
  • Require user_id off: if user_id is empty, a guest id web_* is generated.
  • JWT off: send user_id, name, email, and phone. No token is required. userJwt is ignored.
  • JWT on: your backend must sign a short-lived HS256 JWT with the identity secret. Logged-in visitors need a valid userJwt (or legacy userHash).
FieldRequiredPurpose
user_idYes (logged-in)Stable id from your system. Used as chat tgId.
nameOptionalCustomer display name shown to agents.
emailOptionalCustomer email.
phoneOptionalCustomer phone number.
userJwtRequired only when JWT auth is onHS256 JWT signed on your server. Proves the visitor is that user_id. Ignored when JWT authentication is off.
1

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.

2

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 secret

Legacy option: HMAC-SHA256 hex digest of user_id as userHash (deprecated in favor of JWT). Do not send both userJwt and userHash.

3

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"); // optional

When 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 as tgId)
  • Visitors who are not logged in stay a guest: web_*
  • When JWT authentication is on, do not invent user_id in the browser without a matching server-signed userJwt
4

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)

Tip
Need the secret UI? Open Settings → Chat Widget in Support System. For live embed code for your platform, use Integration → Web.
14

Settings

Open Settings for account, branding, and AI configuration.

ControlWhat it does
ProfileUpdate your name, contact details, and password.
SecurityEnroll or manage two-factor authentication.
OrganizationCompany profile and logo. Use Save organization and Update plan for billing changes.
Chat WidgetAppearance, greeting, and behavior of the customer chat bubble. Also hosts Require user_id and JWT authentication used by the Web embed.
ThemesOrganization and per-platform logos used in the sidebar.
AnnouncementsCreate Announcement, Edit, and Delete. Agents see notices on the announcement bell.
AI AgentTabs: Knowledge Base, Platform Prompt, LLM Config, Tool Config. Create/Edit/Delete/View documents, Train, and manage prompts.
User Action LogsAudit trail of important admin actions.
Note
Some settings are hidden if your permission domains do not include that module. Ask an organization admin if a menu item you expect is missing.
15

Header and navigation

Global chrome that appears across admin screens:

ControlWhat it does
Platform dropdownSwitches which product’s data most lists and dashboards show.
Announcement / mention bellsOrganization notices and @mentions from internal notes.
LogoutOpens Confirm Logout with Logout / Cancel.
Help → User ManualIn-app copy of this guide. System Support may show Coming soon.