Documentation
Dashboard

Introduction

Welcome to our comprehensive dashboard documentation, designed to empower you with complete insights and control over your platform, users and configurations. Our dashboard is your centralized hub for analytics, project management, configuration settings and administration.

Insights and Analytics
Gain valuable insights into your platform's performance, user engagement, and growth trends. Access analytics tailored to your platform's needs, allowing you to make data-driven decisions.

Client Configurations
Customize and fine-tune your client configurations to suit your specific requirements. Effortlessly manage your project configurations, from API keys to subscription keys and secret keys, all within a secure and intuitive interface.

Account Management
Manage your account effortlessly. Update personal information, change passwords, and maintain account security seamlessly.



Configs & Project

Welcome to the Configurations Route, your gateway to tailoring your experience within our platform. Here, developers have the power to customize various settings, enabling a personalized and seamless integration for your unique needs.

Company Management
Set and manage your company name effortlessly. Organize your workspace by defining the company name for effective company-wide identification and management. And as soon as you set name for your company you can get apiKey from Company page.

Project Creation
Commt supports multiple projects at the same time. To run Commt in your applications first create a project from /projects page. First set project name and then other requirements listed below;

Message Storage Configuration

Commt triggers webhook endpoints that you define in project creation page for every message and room creations in your apps. Configure the POST save message webhook url to trigger for every message, enabling seamless storage in your database. Ensure every message is securely stored and easily accessible within your infrastructure. To test this endpoint while you entered the endpoint in TextInput we make a GET request first to check if the endpoint returns Commt services that what Commt services send in GET request's query parameters.

Example Request

https://<YOUR_SAVE_MESSAGE_WEBHOOK_URL>?commt=<RANDOM_STRING>

And as a return parameter Commt services wait for same random string in data object as key commt and value random string. Define your endpoint in your backend clearly both for GET and POST requests. Return the RANDOM_STRING from your GET router as object format { commt: RANDOM_STRING } that we can do health check for the webhook urls.

Be aware that you use Commt NodeJS SDK (opens in a new tab) to decrypt the messages that you receive in your webhook url.

The message format in request body that commt pass throughout the SDK to your webhook url is:

{message, iv}

iv is the temp key for decryption and every messages' iv is unique!

As soon as you decrypt the message with the command below:

// Decrypt the message using Commt NodeSDK and parse it
const {roomId, message: mes} = JSON.parse(commt.decrypt({ cipher: message, iv }));

You will receive roomId, message (real message object). message object has the message values such as senderId, createdAt, text, type.

Room Creation Management

Commt triggers webhook endpoints that you define in project creation page for every message and room creations in your apps. Define the POST create room webhook url to trigger for every new room creation. Capture and store room data in your database. Ensure every room is securely stored and easily accessible within your infrastructure. To test this endpoint while you entered the endpoint in TextInput we make a GET request first to check if the endpoint returns Commt services that what Commt services send in GET request's query parameters.

Example Request

https://<YOUR_CREATE_ROOM_WEBHOOK_URL>?commt=<RANDOM_STRING>

And as a return parameter Commt services wait for same random string in data object as key commt and value random string.

Define your endpoint in your backend clearly both for GET and POST requests. Return the RANDOM_STRING from your GET router as object format { commt: RANDOM_STRING } that we can do health check for the webhook urls.

The data format in request body that commt pass throughout the SDK to your webhook url is:

{participants, communityAvatar, communityName}

Generate a chatRoomAuthId basically with simple code const chatRoomAuthId = Math.random().toString(16).slice(4); while you create the room and return your room in your response from your webhook url that Commt will process it. And new room will be defined!

Indicator and Feature Customization
Choose and configure indicators and features to integrate seamlessly into your plugin. Tailor the user experience by selecting indicators such as typing, online status and message-read indications.

Saving and Initialization
Once you've set and finalized your configurations of your project, save your preferences. Upon saving, you'll receive essential keys – apiKey, projectId and secretKey. These keys are crucial for initiating and integrating our plugin seamlessly into your application environment.


Account

Welcome to the Account Route, your dedicated space for managing your personal information securely. Here, developers have the autonomy to update and maintain their account details, ensuring accuracy and security.

Personal Information Update
Update crucial details such as your full name, email address and job title effortlessly. Keep your profile information up-to-date for accurate identification and communication.

Password Update
Maintain your account security by updating your password securely. Rest assured, your passwords are stored in our database in hashed format, ensuring utmost security and confidentiality.

Security at the Core
Your security is our priority. We've implemented robust security measures to safeguard your sensitive information. Passwords stored in hashed format provide an additional layer of protection, enhancing the overall security of your account.


Team

Welcome to the Team Route, this section of the documentation focuses exclusively on the Team Management features and functionalities available on the Team Page on Commt dashboard. The Team Page is designed to facilitate efficient management of team members associated with a company account, including inviting new members, assigning roles and removing existing team members.

Team Members Management
The Team Page is a crucial component for dashboard, designed to empower Leader role with comprehensive team management capabilities. By following the steps outlined in this documentation, Leader can effectively manage their team's composition, ensuring that each member has the appropriate access and permissions to fulfill their role within the company.

Inviting Team Members
Steps for the Leader:

  • Initiate Invitation: Click the Add button on the Team Page to open the invitation interface.

  • Enter Details:

    1. Email Input: Enter the email address of the person you wish to invite.
    2. Role Select: Choose the appropriate role (e.g., Leader, Developer, Visitor) for the new team member from a dropdown menu.
  • Send Invitation: Click the Invite button to dispatch an invitation email to the entered email address.

Post-Invitation:

  • The invited team member will appear in the team list on the Team Page, distinguished by an "Invited Date" instead of a "Registered Date".
  • Invitation Email: The invitee receives an email containing a link. By clicking this link, they can directly access the dashboard features allocated to their role.

Removing Team Members
Steps for the Leader:

  • Select Team Member: Use the selection icon next to each team member's record on the team list.
  • Remove Member: Click the remove button, located next to the Add button on the Team Page, to remove the selected team member.

User Roles and Permissions

Leader Role

Capabilities:

  • Full Access: The Leader has unlimited access to all dashboard functionalities on behalf of the company.

  • Team Management:

    • Invite team members: Leaders can invite new team members from the /team page by filling out an email and role selection form.
    • Remove team members: Leaders can remove team members by selecting them from the team list and pressing the 'remove' button.
  • Project Management:

    • Create new projects from the projects screen.
    • Delete projects from the project details page.
  • Feedback and Support:

    • Add new feedback.
    • Create and resolve support tickets.
    • Send messages on any support ticket unless marked as resolved.
  • Analytics and Reports: View all analytics, crashlytics and reports from the homepage.

Developer Role

Capabilities:

  • Access: Developers have access to almost all features available to the Leader, with the following exceptions:
    • Cannot invite new team members.
    • Cannot remove team members or projects.

Visitor Role

Capabilities:

  • Limited Access: Visitors have more restricted access compared to other roles.

  • View-Only Permissions:

    • See projects and their details.
    • View support tickets and their details without the ability to perform any actions on them.
    • Access analytics, crashlytics and view feedback without the capability to make any changes.
  • Restrictions:

    • Cannot see or interact with team management features.
    • No permission to invite new team members or manage existing ones.

Support

Support Ticket

This section details the functionalities and user interface of the Support Ticket System accessible via the /support route on the dashboard. The system is designed to facilitate effective communication and resolution of issues reported by users. It features a comprehensive ticket management interface, including creation, response and resolution of support tickets.

Support Ticket Table
The support ticket table is accessible through the /support route, displaying both open and closed tickets.

Table Columns

  • Subject: The topic or summary of the support ticket.
  • Priority: The urgency level assigned to the ticket (e.g., Urgent, High, Medium, Low).
  • Resolved: Indicates whether the ticket has been resolved (closed).
  • Responded: Shows if the system owners have responded to the ticket.
  • Date: The date the ticket was created.

Ticket Colors

  • Light Blue Background: Indicates tickets that are opened and not yet responded to by system owners.
  • Light Orange Background: Indicates tickets that are opened and have been responded to by system owners.
  • Light Green Background: Indicates tickets that have been resolved (closed).

Support Ticket Details
Clicking on any support ticket in the table navigates to the ticket's detail page.

  • Resolve Button: Allows resolve (close) the ticket.
  • Ticket Information: Displays the subject, first message, priority, affected SDK, affected users and affected rooms.
  • Conversation: Shows the exchange between system owners and the client, presented in bubble format.
  • Messaging: At the bottom of the page, there is a text input and a button to send messages for ongoing discussions.

Once a ticket is resolved and closed, the "Resolve" and "Send Message" buttons disappear. The page then only displays the ticket's details and the conversation history.

Creating a Support Ticket
The "Create" button, located at the top right corner of the support ticket table, initiates the ticket creation process.

Ticket Creation Form

  • Subject: The main issue or topic of the support ticket.
  • First Message: Initial description or details of the issue.
  • Affected SDK: The specific software development kit related to the issue.
  • Priority: The urgency of the issue (e.g., High, Medium, Low).
  • Affected Users (chatAuthIds): Users impacted by the issue.
  • Affected Rooms (chatRoomAuthIds): Specific rooms within the application affected by the issue.

© 2025 Commt. All rights reserved.
Welcome to Commt, I am here to guide you!
Chat with Commt AI Bot
commt-chatbot-ai-avatar

Hi, welcome!

I am Commt's AI user, which is a future feature that developers work on, to provide for the clients to re-train and integrate into Commt SDKs.

How can I help you? 😇

01:14 PM