Work happens in conversations. When tools treat records as cold data and conversations as a separate problem — email, chat, a meeting that someone takes notes on afterward — people end up doing the stitching themselves. Who asked the question? What was the answer? Where do I find both of them in three months when something similar comes up? A comment stream anchored to the record, with mentions that link colleagues into the conversation, is how modern collaboration lives. That's what we've built.
Mentions are the small gesture that turns an ordinary piece of text into collaboration. Type @ anywhere a rich-text editor is available, and a live picker offers matching users. Pick one, and their name becomes a live reference inside the text — stored as a structural link, not as a plain string, so it survives edits and keeps resolving as users come and go. When the content is saved, the mentioned user receives an in-app notification with a direct link back to the exact record and field where they were named. The loop from "I wrote your name" to "you saw it" closes automatically, without anyone having to remember to forward an email.
Mentions work everywhere rich text does. In description fields on any record. In comments. In email template bodies. In paragraph blocks on canvas pages. That consistency is what makes them worth teaching once: users learn the @ pattern in one place and reach for it everywhere else. The mentions manager sits behind all of this, reconciling the references as users are renamed, moved between teams, or deactivated, so long-lived content doesn't accumulate broken links.
Comments are the other half of the story. Commenting can be enabled per type, which means any entity in a tenant's data model can carry a conversation. Customer records. Projects. Tasks. Orders. Even the User type itself, for HR-style internal notes. When commenting is on, the record gains a comment stream in the sidebar or in whichever location the layout places it; when it's off, the type stays clean. That opt-in per type matters: not every record benefits from a comment thread, and turning it on selectively keeps the interface tidy.
Canvas comment blocks extend the same feature into custom pages. When you build a bespoke page in the canvas page builder — a customer dashboard, a project overview, a reviewer's workspace — you can drop an Object Comments block onto the page, and it renders the comment thread for whichever record the page is showing. That's how sophisticated per-record workspaces end up including conversation without any additional plumbing: the canvas block ties the stream to the page's context automatically.
Pagination keeps long threads usable. Records that accumulate hundreds of comments over months don't break the page; the stream paginates, most recent first, with a clear indicator of the total and easy navigation to older entries. That's the kind of detail that doesn't matter until it does — and by the time a thread reaches that length, swapping between comment systems would be a real project. We'd rather the platform handle it quietly from the beginning.
Deletion respects both author and role. A user can delete their own comments; admins and designated moderators can delete any comment, with the usual audit trail for who deleted what and when. That's sufficient for the kinds of moderation most tenants actually need, and it avoids the opposite failure mode of an append-only stream where a typo stays forever.
Media attachments on comments are often the small thing that tips the scales for a team. A screenshot of the thing that's wrong. A PDF of the signed contract. A reference image pulled from the media library. Attachments live in the tenant's storage layer, with the same thumbnails and lightbox behavior as other image properties, and they appear inline in the thread rather than as separate clutter. A comment with a picture of the issue is worth a dozen describing it.
Mentions and the activity log are intentionally connected. A mention generates an activity entry, visible in both the record's activity tab and the central log, so the history of who was brought into a conversation is part of the audit trail. Combined with the notification that lands in the mentioned user's inbox, that gives a complete and auditable picture of the conversation: the log shows who said what to whom and when, the notifications show that the intended recipient saw it, and the comment stream itself shows the whole discussion in the place the work is happening.
For teams that have grown up inside chat tools, comments-on-records might feel redundant at first. But the moment someone needs to find a decision that was made three months ago about a specific order, the value becomes obvious. Chat is great for the present. Records with comments are how the organization remembers.