Integrates the FastComments commenting widget with Drupal 10/11, replacing native Drupal comments with a fast, real-time commenting system.
Give your coding agent the FastComments context it needs - widgets, configuration, Secure SSO, the REST API, and the SDKs:
npx skills add fastcomments/skillsWorks with Claude Code, Codex, Cursor, Copilot, Gemini, and every other agent the skills CLI supports.
- Place this module in your Drupal site's
modules/custom/fastcomments/directory (or install via Composer:composer require drupal/fcom). - Enable the module:
Or enable via the admin UI at Extend (
drush en fastcomments
/admin/modules).
Navigate to Administration > Configuration > Content > FastComments (/admin/config/content/fastcomments).
- Tenant ID (required) - Your FastComments Tenant ID. Find this under Settings > API/SSO (EU).
- API Secret - Required for Secure SSO, webhook verification, and page sync. Found under Settings > API/SSO (EU).
- SSO Mode - Single Sign-On integration:
- None - No SSO, users comment as guests or create FastComments accounts.
- Simple - Passes Drupal user info (name, email, avatar) to FastComments without server-side verification.
- Secure - Uses HMAC-SHA256 verification to securely authenticate Drupal users with FastComments (recommended).
- Commenting Style - The type of widget to display:
- Live Comments - Real-time threaded comments.
- Streaming Chat - Live chat interface.
- Collab Chat - Collaborative text-selection annotation on the main content area.
- Collab Chat + Comments - Both collab chat and standard comments.
- CDN URL - FastComments CDN URL (default:
https://cdn.fastcomments.com). - Site URL - FastComments site URL (default:
https://fastcomments.com). - Email notifications - Send an email to content authors when a new comment is posted on their content.
The API Secret can come from three places. The module resolves them in this order:
- Key module - Install Key, create an Authentication key holding the secret, and select it under API Secret key on the settings form. The key can live in an environment variable, a file outside the web root, or any other Key provider.
- settings.php override - Keep the secret out of exported configuration entirely:
$config['fastcomments.settings']['api_secret'] = 'your-secret';
- Configuration - Enter it in the API Secret field. This is the simplest option, but the value is stored in
fastcomments.settingsand included in configuration exports. The status report (/admin/reports/status) warns when this is the active source.
The settings form shows which source is in use. Leaving the API Secret field blank keeps the stored value, and the Remove the API Secret stored in configuration checkbox deletes it, for example after moving it to the Key module or settings.php.
Add the FastComments field to your content types via Structure > Content types > [type] > Manage fields. The field has a status toggle and an optional custom identifier per entity.
For EU data residency, update:
- CDN URL to
https://cdn-eu.fastcomments.com - Site URL to
https://eu.fastcomments.com
Several blocks are available via Structure > Block layout (/admin/structure/block):
- FastComments Widget - The main commenting widget. Auto-detects the current entity. Skips entities that already have the FastComments field (to prevent duplicates).
- FastComments Live Chat - Real-time streaming chat. Can be placed alongside the comment field on the same page.
- FastComments Collab Chat - Text-selection annotation and discussion.
- FastComments Image Chat - Coordinate-based annotation on images.
- FastComments Recent Comments - Displays recent comments across your site. Configurable comment count.
- FastComments Top Pages - Shows pages with the most comments.
Content-centric blocks (Live Chat, Collab Chat, Image Chat) auto-detect the current entity and fall back to a path-based identifier on non-entity pages.
The module automatically passes the current Drupal site language to all widgets.
- Administer FastComments - Access to the FastComments settings form.
- View FastComments - Required to see the commenting widget.
- Toggle FastComments - Allows users to enable/disable comments per entity via the field widget.
When a user visits an entity with the FastComments field enabled:
- The FastComments JavaScript widget is loaded from the CDN.
- If SSO is configured, the user's Drupal identity is passed to FastComments.
- A
<noscript>fallback provides server-rendered comments for users without JavaScript (Live Comments and Streaming Chat modes only).
- Drupal 10 or 11
- PHP 8.1+
- A FastComments account
GPL-2.0-or-later