Collaborative Comments

Adds document-level and field-level comments to the Payload admin panel, with @mentions, email notifications, resolution, multi-tenancy and locale filtering.

Community 16 232/wk MIT v1.11.1

Installation

pnpm add @focus-reactive/payload-plugin-comments

About

This plugin injects a collaborative comments system into the Payload v3 admin panel across three surfaces. A badge on every field label shows the comment count for that field and opens a popup to post. A document-level drawer in the sidebar lists all comments scoped to the current document. A global header button opens a drawer with every comment across all collections and globals. Comments are stored in an auto-generated, sidebar-hidden `comments` collection (plus a `commentReads` collection) that records the owning collectionSlug or globalSlug, documentId, dot-notation fieldPath, locale, author, mentions, and resolution state. It is registered as a standard Payload plugin via `commentsPlugin()`. The plugin injects admin providers, a header action button, and custom field-label components into the Payload config, and merges its own i18n translations into the existing namespace. SQL adapters need a migration for the new collection; MongoDB does not. Configuration lets you set which field renders as the document title per collection, override access control, hooks and fields on the comments collection, and point `usernameFieldPath` at any dot-notation path on the users collection. @mentions use autocomplete against the users collection and store tokens as `@(userId)`. Mentioned users get email notifications through Resend, gated by `RESEND_API_KEY` and `RESEND_FROM_EMAIL`; if the from address is missing, mentions still work but no email sends. Comments can be resolved and reopened, with filter tabs for open, resolved, and "mentioned me" in the document drawer. Optional multi-tenancy scopes comments per tenant through `@payloadcms/plugin-multi-tenant`, with configurable tenant collection and document tenant field. Field-level comments are tied to a locale while document-level comments appear in every locale. When a parent document is deleted, its comments are removed automatically through a collection hook. The UI updates optimistically so new comments appear before the server confirms.

Package info

Package name
@focus-reactive/payload-plugin-comments
Latest version
1.11.1
Unpacked size
611 kB
License
MIT
Weekly downloads
232
Last publish
Jul 4, 2026

More from focusreactive

View profile

Similar plugins

More in Content