CCBot Drupal Connector
This module connects your Drupal site to CCBot, an AI assistant that answers questions based on your approved content. It exports published content from Drupal to CCBot, sends notifications when content changes, and can embed the CCBot assistant directly on your website.
CCBot Drupal Connector links a Drupal site to CCBot App. With a subscription API key, the site exports content, sends update webhooks, and can show a floating assistant.
CCBot is ContentCloud's assistant for organizations that need answers grounded in their own approved sources, with citations readers can check. It answers in English, French, German, Spanish, and Dutch by default, and it is built for GDPR and EU data residency. ContentCloud is the AI division of EWORX S.A.
A Drupal site is one of those sources. This module exports published content, notifies CCBot when that content changes, and can place the same assistant widget on the site. CCBot also accepts PDFs and HTML, and it can be embedded with the @eworx-org/ccbot-react package or used in CCBot Mobile. Avatar text, suggested questions, source scope, and subscriptions are managed in CCBot, not in Drupal.
Features
- Connects the site to CCBot with a subscription API key. The key stays on the server.
- Exports published nodes and document media (
GET /ccbot/api/nodes), including incremental updates for created, updated, deleted, and detached items. - Exports field definitions once per content type (
GET /ccbot/api/schema). - Offers a remote status check (
GET /ccbot/api/status) and a short-lived chat token for the widget (POST /ccbot/api/token). - Sends queued content-update webhooks to CCBot.
- Lets you choose which content types and fields are exported, so CCBot only receives approved Drupal content.
- Tracks document media, including media placed on a related node.
- Optional floating assistant (a block plus the compiled widget). The widget on the site is the same one used on the CCBot product site.
- Optional Search API helper (
GET /ccbot/api/search-results) when Search API is installed.
Post-Installation
There is no new content type and no text-format setup.
Open Configuration → Web services → CCBot Drupal Connector (/admin/config/services/ccbot). You need the Administer CCBot permission. Enter the CCBot API key and the CCBot base URL from your subscription, then choose which content types to export. The same values can be set in settings.php under $settings['ccbot']; those values override the form.
To show the assistant, place the CCBot Drupal Connector block in a theme region and turn the UI on in the settings form. Export and webhooks work without the block.
CCBot calls the export URLs with a short-lived connector token. The raw API key is not sent to the browser. Citations, languages, and retention are configured in CCBot.
Additional Requirements
- Drupal 10 or 11.
- A CCBot subscription (API key and base URL).
- Drupal core REST and Serialization (declared dependencies).
Recommended modules/libraries
- Media, with a
documentmedia type, for document export and orphan tracking. - Paragraphs, when document media is nested in paragraphs.
- Search API, for the search-results helper.
- Environment Indicator, to infer production, staging, or development when
$settings['ccbot']['environment']is not set.
Similar projects
This project is the Drupal connector for CCBot. Generic chatbot modules and traditional site search serve other products and workflows. CCBot keeps answers tied to the subscriber's approved sources and returns citations to those sources.
Supporting this Module
CCBot is a ContentCloud product. Product information, demos, and plans are on the CCBot product page. Report bugs and feature requests for this Drupal module in this project's issue queue.
Community Documentation
- CCBot product page — cited answers, languages, governance, and how Drupal fits the product.
- Module README
- How the connector talks to CCBot
- Content export contract
Depends on
Dependencies of the latest stable release
- rest Drupal core
- serialization Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.