Internal Chat
Collaborate with your team directly within RapiDesq. Internal chat provides 1-to-1 direct messaging and group conversations with real-time delivery, typing indicators, @mentions, presence tracking, and unread counts — all powered by the same infrastructure that delivers your customer conversations.
Overview
Internal chat is RapiDesq's built-in team messaging system. It lets agents, supervisors, and admins communicate in real time without switching to a separate application. You can send direct messages to any colleague in your tenant or create group conversations for team coordination, escalation workflows, and shift handoffs.
What makes internal chat particularly reliable is that it is built on the exact same conversation infrastructure that powers customer messaging. Under the hood, every conversation in RapiDesq — whether with a customer or between team members — is stored in a unified conversation system. Internal conversations are flagged as type INTERNAL, while customer conversations are type CONTACT. Messages flow through the same delivery pipeline, are persisted in the same message store, and use the same WebSocket connections for real-time transport.
This shared architecture means internal chat inherits every reliability and delivery guarantee that customer messaging has. There is no separate, less-tested system for team communication. The same typing indicators, the same unread count tracking, the same real-time delivery — all of it works identically for internal conversations.
All users with the appropriate permissions can participate in internal chat. This includes agents, supervisors, tenant admins, and tenant owners. Internal chat is available to any role that is not explicitly restricted from internal communication.
Starting a Direct Message
Direct messages are 1-to-1 conversations between you and another user in your tenant. They are ideal for quick questions, private coordination, or reaching out to a specific colleague about a customer issue.
To start a direct message:
- Open the Internal Chat panel from the sidebar navigation.
- Click the New Conversation button.
- Search for the user you want to message by name. You can message any user within your tenant — they do not need to be on your team.
- Select the user from the results to open a conversation with them.
- Type your message in the compose area and press Enter or click Send.
Once you send your first message, the conversation is created and will appear in both your chat list and the recipient's chat list. The conversation persists permanently — you can return to it at any time to continue the discussion or review past messages. If a direct message conversation already exists between you and another user, selecting that user will open the existing conversation rather than creating a duplicate.
Creating Group Conversations
Group conversations allow multiple users to communicate in a single shared thread. They are the backbone of team coordination in RapiDesq, and you can create as many as your team needs.
To create a group conversation:
- Open the Internal Chat panel.
- Click New Conversation.
- Select Group as the conversation type.
- Give the group a descriptive name (e.g., "Tier 2 Escalations", "Billing Team", "Morning Shift Handoff").
- Search for and add the users you want to include. You can add users from any team within your tenant.
- Click Create to start the group.
All members are added immediately and the group appears in their chat list. Any member can begin sending messages right away.
Common use cases for group conversations include:
- Team coordination — A dedicated group for each support team (e.g., "Technical Support", "Billing Support") where team members can discuss issues, share knowledge, and coordinate coverage.
- Escalation channels — Groups that include senior agents or subject-matter experts, used to quickly get help on complex customer issues without formal ticket transfers.
- Project-based groups — Temporary groups for initiatives like a product launch, a system migration, or a training rollout, where relevant stakeholders need a shared communication channel.
- Shift handoff channels — Groups where outgoing shift members summarize open issues and incoming shift members can ask follow-up questions, ensuring continuity across shifts.
- Cross-team collaboration — Groups that span multiple teams for issues that require input from different departments, such as a billing question that involves technical investigation.
Real-Time Features
Internal chat provides a full suite of real-time communication features, all powered by the same WebSocket infrastructure that handles customer messaging. There is no polling, no delays, and no separate delivery mechanism — everything is real-time from the moment you send a message.
Instant Delivery
Messages are delivered to all conversation participants instantly via persistent WebSocket connections. When you send a message, it is persisted to the message store and pushed to every online participant in the conversation simultaneously. There is no need to refresh or poll for new messages. If a participant is offline when a message is sent, the message is stored and delivered as soon as they come online, along with updated unread counts.
Typing Indicators
When a participant begins composing a message in a conversation, all other participants in that conversation see a real-time typing indicator. This helps avoid message collisions in fast-paced discussions and gives you confidence that a response is on its way. Typing indicators use the same WebSocket transport as message delivery, so they appear with no perceptible delay.
Unread Counts
Each conversation in your chat list displays a badge count showing how many unread messages it contains. Conversations with unread messages are surfaced at the top of your chat list so you can quickly see where your attention is needed. Unread counts are tracked per-conversation and per-user, meaning each participant has their own independent unread state. Counts are cleared when you open a conversation and read the messages.
Presence Tracking
Presence indicators show you whether a conversation participant is currently online and active. This is useful for knowing whether you can expect an immediate reply or if you should follow up later. Presence is tracked automatically based on the user's connection state — there is nothing to configure.
Using @Mentions
@Mentions let you direct a message at a specific person within a conversation, ensuring they are notified even if they are not currently viewing the conversation.
To mention someone:
- Type @ in the message compose area.
- Begin typing the person's name. An autocomplete list will appear showing matching participants.
- Select the person you want to mention.
- Complete your message and send it.
When you are mentioned in a conversation:
- You receive a notification regardless of whether you currently have the conversation open or focused.
- The mention is visually highlighted in the message so it stands out when you scroll through the conversation.
- Mentions generate notifications even for conversations you may not be actively monitoring, making them the most reliable way to get someone's attention.
Mentions are particularly valuable in group conversations where not every message is relevant to every participant. Rather than expecting everyone to read every message, you can use @mentions to pull specific people into a discussion when their input is needed.
Managing Conversations
As your team's use of internal chat grows, keeping conversations organized becomes important. RapiDesq provides several tools to manage your chat list effectively.
Conversation Ordering
Your chat list is automatically sorted by most recent activity. Conversations with new messages rise to the top, and conversations with unread messages are visually distinguished with unread badges. This ensures the most active and relevant conversations are always easy to find.
Finding Old Conversations
All conversations persist indefinitely and the full message history is retained. To find an older conversation that has been pushed down your list, scroll through your chat list or use the search functionality to locate conversations by participant name or group name. There is no need to worry about conversations expiring or being deleted — they are always available.
Renaming Group Conversations
Group conversations can be renamed by any member to reflect evolving purposes. For example, a group initially created for a specific project can be renamed when the project ends and the group is repurposed for a new initiative. To rename a group, open the conversation details and edit the group name.
Adding and Removing Participants
Group conversations support dynamic participant management. You can add new members to bring them into an ongoing discussion, or remove members who no longer need to be part of the conversation. When a new member is added, they can see the existing message history in the group, giving them full context on the conversation so far.
Internal Chat vs. Internal Notes
RapiDesq offers two distinct internal communication tools, and understanding when to use each is important for keeping information organized and discoverable.
Internal Chat
Internal chat is real-time team messaging between users. Conversations exist independently — they are not attached to any specific ticket or customer interaction. Use internal chat for:
- Quick questions to a colleague ("Can you take a look at this?").
- Team coordination and announcements.
- Discussions that span multiple tickets or are not about any specific ticket.
- Shift handoffs and status updates.
- Escalation discussions that involve multiple team members.
Internal Notes
Internal notes are comments attached to a specific ticket through the ticket's notes conversation. They appear in the ticket timeline alongside customer messages but are marked as internal and never visible to the customer. Use internal notes for:
- Documenting troubleshooting steps taken on a specific ticket.
- Sharing context with the next agent before transferring a ticket.
- Recording decisions or approvals related to a particular customer issue.
- Adding information that future agents handling the same ticket should know.
A practical example: if an agent needs help resolving a tricky billing issue on a specific ticket, they might send a quick internal chat message to a billing specialist asking for advice. Once the specialist provides guidance, the agent should add an internal note to the ticket summarizing the resolution approach. That way, the decision is preserved with the ticket where anyone reviewing it later will find it, while the real-time discussion happened quickly over chat.
Tips & Best Practices
- Create a dedicated group for each team — Every support team should have its own group conversation for day-to-day coordination. This gives team members a single place to ask questions, share updates, and discuss ongoing issues.
- Set up escalation groups — Create groups that include senior agents or subject-matter experts. When a frontline agent needs help with a complex issue, they can post in the escalation group and get quick guidance without waiting for a formal ticket transfer.
- Use shift handoff groups — Outgoing shifts can summarize open issues and important context in a dedicated handoff group. Incoming shift members read the handoff messages and ask follow-up questions in the same thread, creating a persistent record of what was communicated.
- Use @mentions for urgent items — In active group conversations, important messages can scroll by quickly. When you need a specific person to see something, always @mention them. This ensures they receive a notification and the message does not get overlooked.
- Prefer internal notes for ticket-specific context — If a discussion is about a specific ticket and the information should be available to anyone who handles that ticket in the future, put it in an internal note on the ticket. Chat messages are great for real-time discussion, but the conclusion or decision should be recorded on the ticket itself.
- Keep group names descriptive — As your organization grows, generic names like "Team Chat" become ambiguous. Use names that clearly describe the purpose, such as "Technical Support — Tier 1", "Billing Escalations", or "Q1 Migration Project".
- Use direct messages for sensitive conversations — When a discussion involves confidential information or sensitive feedback, a 1-to-1 direct message is more appropriate than a group conversation. Only the two participants can see the messages.
- Review group membership periodically — As team members change roles or leave, review your group conversations and remove participants who no longer need access. Add new team members to the relevant groups as part of their onboarding so they have access to team communication from day one.