Chats
Use direct chats, group chats, Workspace channels, attachments, mentions, reactions, browser calls, and screen sharing.
chatcommunicationchannelsmentionscallsfiles
Chats
Chats cover direct messages, group chats, Workspace channels, file sharing, record links, mentions, reactions, unread tracking, browser calls, and screen sharing. The inbox lives at Chats.
What a chat is
- A direct chat is a 1:1 conversation. Its title and avatar come from the other participant.
- If the other participant's account has been deleted, the direct chat stays visible and shows a deleted-account placeholder instead of the old profile.
- A group chat has three or more participants, or is explicitly created as a group. It can have a custom title.
- A channel is a Workspace-owned conversation. Channels have a title, optional description, and
publicorprivatevisibility. - Public channels can be discovered and joined by Workspace members. Private channels are only visible to people who have been added.
- Creating a direct chat with someone you already message does not create a duplicate. Einblick reuses the existing 1:1 chat.
- Group titles are auto-generated from the selected members if you do not enter one.
Who you can chat with
- Every account-backed member in your current Workspace can be found in the new-chat picker. Members without accounts are excluded because they cannot open chats, receive mentions, or join calls.
- People outside your Workspace only appear if their account is active and they enabled public discoverability in Account Settings.
- The inbox search finds existing conversations and can also show people you can message or public channels you can join.
- Only participants can open a direct chat or group chat. Channel access comes from channel membership, public channel visibility, and any connected Workspace access.
Inbox behavior
- Direct chats, group chats, and joined channels appear in one list sorted by latest activity.
- Direct and group chats show unread counts for messages you have not read yet.
- Channels show an unread dot for new activity after your read cursor. Mention counts appear as a badge and take priority over the dot.
- Your own messages never count as unread for you.
- Call-control and WebRTC signaling messages do not increase unread counts.
- Opening a chat starts at the first unread message when one is available.
- Messages are marked as read when they become visible in the conversation view. Reading a message also clears your unread mentions in that chat up to that message.
Sending messages
- Press
Enterto send. - Press
Shift+Enterfor a new line. - You can send Markdown-formatted text, files, screenshots pasted from the clipboard, and browser-recorded voice memos. Lists, links, quotes, and code are rendered in the conversation.
- The composer toolbar opens the mention picker, attaches a file, inserts an app record, and applies bold, italic, strikethrough, or inline-code formatting.
- Images, audio, video, and common document formats are supported in the composer.
- Starting a chat audio attachment or podcast episode pauses any other audio currently playing in Einblick.
- In a direct chat, the reply action quotes the message in your next message. In a group chat or channel, it opens a thread for that message.
- Your own messages show a sent/read indicator. Read means at least one other participant has read the message.
- Compact is the default message layout when you have not saved a preference. Choose it or Bubbles under Account → Appearance.
Files and storage
- Each direct chat, group chat, and channel gets its own folder under the system
Chatsarea in Files. - New attachments are stored in that chat folder.
- If a group chat or channel title changes, the linked folder name is updated too.
- Deleting a direct or group chat archives the chat record and removes its chat folder recursively.
- Group admins and users with channel-management rights can change the chat or channel image from the info sheet.
Links and mentions
- Open the
@picker to choose a participant or the Einblick Assistant immediately. After two typed characters, it also searches app records available through your current Workspace access. - Supported link targets include chats, users, organizations, contacts, projects, tasks, work orders, inquiries, quotes, invoices, boards, and other core records.
- Choosing a participant inserts an explicit mention with reliable unread tracking. Plain typed
@names are still matched to participants when the name or email is unambiguous. - In Workspace-owned groups, channels, and their threads, permitted users can mention Einblick Assistant. It answers from the recent conversation and can use permission-aware, read-only Workspace tools. If a response reaches a usage limit or fails, the message shows that state and you can mention the assistant again to retry.
- Readable internal record links render as clickable preview cards. Without access in the current Workspace, the card is not clickable, hides the record details, and shows the missing access instead.
- External URLs render as link previews after Open Graph metadata is fetched and cached. Stale preview data is refreshed in the background, and broken preview images fall back to the plain link card.
Threads and reactions
- Every message can receive emoji reactions.
- Clicking your own reaction removes it.
- A group or channel message can have one thread. Threads open beside the conversation on desktop and in a sheet on mobile; direct chats keep inline quoted replies instead.
- The parent message shows the first reply and the number of additional replies. Opening that preview returns to the same thread.
- Thread replies support the normal composer, attachments, mentions, reactions, and read state. Replies cannot start another nested thread.
Chat info sheet
- The info sheet shows participants, shared media, shared files, and shared links.
- Group chat admins can add or remove participants from this sheet.
- Channel participants are managed through Workspace chat permissions, not the per-chat admin flag.
- Channel members can leave a channel from the inbox context menu.
- Channel creation, updates, visibility changes, member changes, and Workspace-connection decisions are recorded as Workspace activity.
- Direct chats do not expose group management actions.
- In group chats, if the last admin leaves or is removed, another remaining participant is promoted automatically.
Calls
- Calls run in the browser with WebRTC and use camera/microphone permissions.
- Supported browsers can also share a screen during a call.
- On the full chat page, the header shows the call action.
- Direct chats use phone-style ringing. If nobody answers within about 30 seconds, the outgoing call times out.
- Group chats and channels use a shared room. Starting one creates an active session immediately, and other participants can join while it is running.
- Shared screens appear as their own call stage.
- The floating call window can be dragged and resized while you keep working elsewhere in the app.
- Fullscreen mode supports grid and spotlight layouts, and you can pin a participant or shared screen while presenting.
- Incoming calls create in-app call UI and notification events.
- Stale participants and stale sessions are cleaned up automatically if a browser disconnects without leaving cleanly.
Notifications
- New chat messages use the
chat.messagenotification event. - Incoming calls use the
call.incomingnotification event. - Both events are account-scoped because chats can cross Workspace boundaries.
- Direct and group messages notify active participants except the sender. Channel and thread messages notify mentioned users; unmentioned channel activity is shown as unread activity in the inbox.
- Personal delivery channels are managed in Notification Settings.
- Workspace defaults do not control chat messages or incoming calls.
- Incoming call delivery is enforced at the platform level, so users cannot fully disable ring delivery.
Related records
- Use chats to share links to Organizations, Contacts, Projects, Tasks, and Work Orders.
- Chat discovery depends on user profile settings from Account Settings and the account-backed member directory in Members.
- Shared files follow the same file storage rules documented in Files.
Data model
chats: the chat record itself, includingtype(direct,group,channel, orthread), optional title, image, description, visibility, owning Workspace, parent chat/message, archive time, and root folder.chatUsers: participants, their status, whether they are admins, and the Workspace path that added a channel member.chatMessages: the message body, created date, optional reply target, and thread activity counters.chatMessageFiles,chatMessageReads,chatMessageReactions: attachments, read receipts, and emoji reactions.chatReadState: each user's latest read cursor per chat.chatMentions: unread and read mention records per user, chat, and message.chatWorkspaceConnections: pending, active, or revoked Workspace connections for shared channels.linkPreviews: cached external URL preview metadata.chatUnreadMessages: per-user unread tracking still used for direct and group unread counts.chatCallSessions,chatCallParticipants,chatCallSignals: the call session, active call presence, and signaling layer.