Communication
Chats
Use direct chats, group chats, attachments, record links, reactions, browser calls, and screen sharing.
Chats
Chats cover direct messages, group chats, file sharing, record links, 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.
- A group chat has three or more participants, or is explicitly created as a group. It can have a custom title.
- 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
- Everyone in your current workspace can be found in the new-chat picker.
- People outside your workspace only appear if their account is active and they enabled public discoverability in Account Settings.
- Only participants can open a chat, load messages, upload files to that chat, or join its calls.
Inbox behavior
- The chat list is sorted by latest activity.
- Unread badges are based on messages you have not read yet.
- Your own messages never count as unread for you.
- Call-control and WebRTC signaling messages do not increase unread counts.
- Messages are marked as read when they become visible in the conversation view.
Sending messages
- Press
Enterto send. - Press
Shift+Enterfor a new line. - You can send plain text, files, screenshots pasted from the clipboard, and browser-recorded voice memos.
- Images, audio, video, and common document formats are supported in the composer.
- Your own messages show a sent/read indicator. Read means at least one other participant has read the message.
Files and storage
- Each chat gets its own folder under the system
Chatsarea in Files. - New attachments are stored in that chat folder.
- If a group chat title changes, the linked folder name is updated too.
- Deleting a chat archives the chat record and removes its chat folder recursively.
- The backend supports a dedicated chat image, but the current edit dialog still exposes title changes only.
Record links and previews
- The
@picker in the composer inserts links to app records. It does not create special person mentions or mention notifications. - Supported link targets include chats, users, organizations, contacts, projects, tasks, work orders, inquiries, quotes, invoices, boards, and other core records.
- Internal record links render as clickable references with preview cards.
- External URLs render as link previews after Open Graph metadata is fetched and cached.
Reactions and thread details
- Every message can receive emoji reactions.
- Clicking your own reaction removes it.
- Group chats show sender names and avatars inside the thread where needed.
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.
- Direct chats do not expose group management actions.
- 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 use a shared room. Starting a group call 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.
- 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 user directory in Users.
- Shared files follow the same file storage rules documented in Files.
Data model
chats: the chat record itself, includingisGroup, optionaltitle, optionalimage, and the chat root folder.chatUsers: participants, their status, and whether they are admins.chatMessages: the message body and created date.chatMessageFiles,chatMessageReads,chatMessageReactions: attachments, read receipts, and emoji reactions.linkPreviews: cached external URL preview metadata.chatUnreadMessages: per-user unread tracking used for fast aggregate counts.chatCallSessions,chatCallParticipants,chatCallSignals: the call session, active call presence, and signaling layer.