Plain text is fine for a subject line or a status code, but it isn't the right tool for most of the places people actually write. Meeting notes, task descriptions, article bodies, customer communications, email templates, the paragraph blocks on a canvas page — all of them benefit from a little structure. Headings, lists, links, the occasional emphasized word, an inline image. At the same time, letting users paste arbitrary HTML is a security hole, and letting every paste drag along its source formatting is a quick route to a page that looks like three different websites stapled together. The rich text editor is our answer to that tension.
Rich text is a first-class property type. Any type in the data model can have one, and once it exists, the field behaves like every other property: it appears in forms, in views, in canvas pages, and through the API. Users write with a toolbar that covers the essentials — headings, emphasis, lists, quotes, links, images — and nothing more. Pastes from word processors are cleaned automatically, so a copy-paste from a document doesn't bring along fonts, colors, or spacing that fight with the rest of the page.
The part we're most pleased with is the configurable tag allow-list. Each rich-text property can declare which HTML tags and attributes it permits. A description field might allow basic inline formatting and nothing else; a CMS-style article field might allow images, tables, and embedded figures; a strictly internal notes field might allow almost the full range. Paste is filtered against that allow-list automatically. The policy can be authored in a visual builder, exported as JSON, and imported into another property or another tenant — which makes it easy to keep a consistent editorial standard across an organization.
Inline image uploads are handled directly in the editor. Drag an image from the desktop, paste it from the clipboard, or insert it from the media library. Uploaded images land in the tenant's file storage alongside the record, with the usual thumbnailing and compression applied automatically. If the tenant uses a shared media library — a common setup for marketing and content teams — images inserted through the editor can be pulled from and saved back into that library, which means one upload is reusable across many pages and records.
Linking works the way users expect. External links get the usual editor treatment. Internal links — links to other records or pages within the platform — are picked from a searchable list, and the editor records them in a stable form so they keep resolving even when record titles change. That stability matters for long-lived content: a link to a customer record or a help article that was written two years ago still goes where it's supposed to.
Mentions are where the editor starts feeling less like a content tool and more like a communication tool. Type an @ and a live picker appears. Mention a user and the reference is stored alongside the text; when the record is saved, the mentioned user receives a notification with a direct link to the place their name was dropped. Mentions work in comment threads, in rich text fields on regular records, and — for implementations that want it — in any rich-text surface across the platform. The small extra step of connecting a message to a person closes a lot of loops that used to rely on someone remembering to copy the right colleague on an email.
The canvas page builder uses the same editor for its paragraph blocks, which means users who learn the toolbar in one place are instantly productive everywhere else. That consistency is quiet, but it adds up: there's only one place to configure toolbar options, only one set of habits to learn, and only one sanitizer to trust.
Through the API, rich text is returned as sanitized HTML by default, respecting the allow-list of the property it came from. That means integrating consumers — a public website, a partner portal, a PDF renderer — receive content they can display directly without having to re-sanitize it or guess at what the editor permitted. The tag allow-list is a single source of truth; everything downstream benefits from it.
Rich text is a small feature in isolation and a connective one in practice. Pair it with the mentions-and-comments piece and the file repository to see how writing ties into collaboration and into the tenant's shared content store.