Product Requirements Document (PRD): Chat System Agency Handy
Objective
To enhance the communication system in Agency Handy by integrating a chat system that allows Superadmins, Admins, PMs, Team Members, and Clients to communicate easily. The system will facilitate conversations and allow users to create tickets directly from chats, improving productivity and issue resolution.
Problem Statement
Currently, Agency Handy lacks an integrated messaging and ticketing system. Users must rely on third-party platforms to manage communication, leading to scattered conversations, inconsistent workflows, and limited tracking. There is no easy way to escalate issues to formal tickets directly from chat conversations.
Solution
This feature introduces a fully integrated chat system that supports direct communication among Superadmins, Admins, PMs, Team Members, and Clients. Users can escalate issues to formal tickets from within the chat, bringing better tracking, management, and workflow efficiency. Additionally, the system will include advanced features such as internal notes, message reactions, and rich text editing to support structured conversations and collaboration.
Business Needs
Centralized Communication: Consolidate client, team, and internal communication within the platform, reducing the need for external messaging tools. Seamless Ticketing: Allow users to convert chat conversations into tickets directly, improving issue tracking and resolution. Enhanced Collaboration: Enable chat conversations to include teams, clients, and superadmins/admins, enhancing overall service delivery and collaboration. Improved Issue Resolution: Escalate issues to tickets quickly for formal tracking, and assign them to the right team members. Increased Productivity: Reduce context-switching by allowing both chat and ticket management within the same system. User Goals
For Admins and Superadmins: Ability to manage chats and create tickets directly from chats. For Team Members: Efficient collaboration with other team members and Superadmins/Admins. For Clients: Ability to communicate with Superadmins/Admins and escalate issues to tickets. For All Users: Efficient, easy-to-use chat interface with ticket creation functionality and enhanced formatting. User Stories
1. Chat Creation & User Visibility
As a Superadmin/Admin, I want to create a chat with any user so I can initiate discussions. As a Team Member, I want to chat with other Team Members and Superadmins/Admins, but not with clients. As a Client, I want to only chat with Superadmins/Admins to discuss my services. As a Superadmin/Admin, I want to see a full user list when creating a chat. 2. Automatic Chat Creation
As a Client, when I purchase a service, I want a chat to be automatically created with the Superadmin so I can discuss my order. 3. Chat Sidebar Enhancements
As a Superadmin/Admin, I want to view client details, orders, and invoices in the chat sidebar to have context about the discussions. 4. Team Member Management
As a Superadmin/Admin/PM, I want to add or remove team members in a chat so that relevant discussions include the right people. 5. Chat Features & Interaction
As a User, I want to reply to specific messages so conversations remain clear and structured. As a User, I want to react to messages (like, dislike, smile, sad, angry, celebrate) to quickly acknowledge responses. 6. Internal Notes for Agencies
As an Agency, I want a Notes section in the chat that only my team can see for internal discussions. 7. Enhanced Message Input
As a User, I want a rich text editor for composing messages so I can format my messages properly. 8. Create Tickets from Chats
As a User, I want to convert chat messages into tickets so that I can track and resolve issues formally within the system. 9. Ticket Management via Chat
As a User, I want to see ticket statuses, assign tickets, and manage ticket details directly from the chat system. Functional Requirements
1. Chat Creation & User Visibility
Superadmins/Admins can create chats with any user. Team Members can chat only with Superadmins/Admins and other Team Members. Clients can chat only with Superadmins/Admins. In the chat creation list: Superadmins/Admins: Show all users (Clients, Team Members, Admins, PMs, etc.) Team Members: Show Superadmins/Admins and other Team Members. Clients: Show only Superadmins/Admins. 2. Automatic Chat Creation for New Clients
When a client purchases a service and does not already have a chat, a chat will automatically be created between the client and the Superadmin/Admin. 3. Chat Sidebar Details
When a chat involves a client, the sidebar will display: 4. Team Member Management in Chats
Superadmins/Admins/PMs can add or remove team members from existing chats. Team Members cannot add themselves to a chat. 5. Chat Interaction Features
Users can reply to specific messages within a chat. Basic message reactions are available: 6. Internal Notes for Agencies
A Notes section is available in each chat for internal agency discussions. Notes are visible only to team members (Superadmins, Admins, PMs, Team Members). Clients cannot see or edit notes. 7. Message Input & Formatting
A rich text editor will be available for message composition. Basic styling options: bold, italic, underline, lists, attachments, indents, and links. 8. Create Tickets from Chats
Users can convert any chat message into a formal ticket. The chat will remain linked to the ticket for seamless communication and updates. Ticket details (status, priority, assignee) can be managed directly from the chat interface. 9. Ticket Management via Chat
Users can view ticket statuses (Open, Closed, Pending) and make updates directly from the chat interface. Admins can assign, update, and close tickets without leaving the chat interface. Acceptance Criteria
Chat Creation & User Access
Superadmins/Admins can create chats with any user. Team Members can only chat with Superadmins/Admins and other Team Members. Clients can only chat with Superadmins/Admins. Chat creation lists show only allowed users based on roles. Automatic Chat Creation
A new chat is automatically created when a client purchases a service and no chat exists. Chat Sidebar Details
If a chat involves a client, the sidebar displays client details, orders, and invoices. Team Member Management
Superadmins/Admins/PMs can add or remove team members in a chat. Chat Interaction Features
Users can reply to specific messages. Users can react to messages with Like, Dislike, Smile, Sad, Angry, Celebrate. Internal Notes Section
Each chat includes a Notes section visible only to agency team members. Message Input & Formatting
Users can compose messages using a rich text editor. Basic styling options (bold, italic, underline, lists, links, attachments) are available. Create Tickets from Chats
Users can convert chat messages into formal tickets for better issue tracking and management. Ticket Management via Chat
Users can manage tickets (assign, update, close) directly from the chat system. Future Enhancements
Typing indicators to show when users are typing. Searchable chat history to quickly find messages. Integration with third-party tools (like Zendesk, Intercom) for advanced ticket management and reporting. super admin 1 admin 2 ta
client message → notification → 3 jon → chatbox → j kono ekjon reply diche
1- many
Slack 1-1
Client chat → orvi, rashik → select 1 → msg dilo → rashik recv → chat continue → rashik add ali → ali cna see internal ticket but not the whole chatbox → communicate with client → conversation shesh → ali k out korlo → msg delete korlo → archive
Client chat → orvi, rashik → select 1 → msg dilo → rashik recv → chat continue → rashik add ali - new group chat with client rashik & ali