Drupal CRM is the modern community-first platform for building rich Drupal applications involving contacts and their relationships. Built on Drupal best practices, you'll wonder how you built without it!

Overview

Managing contacts, relationships, and complex organizational structures in Drupal often requires cobbling together various contributed modules or integrating external CRM systems. Contact Relationship Management (CRM) is the modern solution. Drupal CRM is built as a set of core-first extensions that fully adopt Drupal's entity architecture, configuration system, and development standards. Instead of relying on heavy integrations or legacy data models, Drupal CRM is designed to be lightweight, extensible, and ready to integrate seamlessly with the rest of the Drupal ecosystem. Whether you're managing contacts, memberships, households, or complex organizational structures, Drupal CRM brings modern best practices into a familiar Drupal workflow.

What does CRM stand for?

CRM often stands for Customer Relationship Management or Constituent Relationship Management. For Drupal CRM, we chose the name Contact Relationship Management because we are not focused on just customers or constituents, but rather any type of contact.

Community-Oriented 👥

Drupal CRM is taking a community-first approach to project development and maintenance.

By bringing many contributors into the fold early on and by promoting independent creation of CRM ecosystem components (i.e. please extend CRM in contrib!), the project can cater to diverse needs, avoid architectural pitfalls, avoid being controlled by a commercial enterprise, and thrive long-term.

The following projects are adopting and/or actively contributing to CRM:

Have a project to be added to this list? Please create an issue!

Try Drupal CRM

Install on an existing Drupal 11 site

composer require drupal/crm
drush en crm

Install with Simpsons demo content 👧

Install DDEV then run the following commands to demo locally:

mkdir mycrm && cd mycrm
ddev config --project-type=drupal --docroot=web --project-name=mycrm
ddev start
ddev composer create-project "drupal/recommended-project:^11"
ddev composer config minimum-stability beta
ddev composer require drupal/crm drush/drush
ddev drush site:install -y
ddev drush recipe modules/contrib/crm/recipes/crm_simpsons
ddev launch $(ddev drush uli)

Simplytest.me Demo

Try the latest 1.0.x (unstable)

What to Look For

After installing, you can quickly discover most of CRM's functionality at these paths:

  • /admin/config/crm
  • /admin/structure/crm
  • /admin/content/crm/contact

Architecture 🔧

These are highlights. Much more in the Developer Documentation.

Entity Types

Three content entity types: Contact, Contact Method, and Relationship.

Contact

Three Contact bundles (out of the box):

  • Person
  • Household
  • Organization
User Mapping

Map Drupal user accounts to Person Contacts, allowing site users to manage their own contact information. Optionally expose Person Contact fields on the user form for the mapped Contact.

Contact Method

Structured, fieldable contact information such as:

  • Address
  • Email
  • Telephone

Relationship

Maps one Contact to another Contact with a configurable, fieldable Relationship Type.

Example Relationship Types:

  • Head of household
  • Spouse
  • Employee
  • Member

Dependencies

Integration

  • Comment
  • Group
  • Navigation
  • Search

Documentation & Resources

Many of your questions can be answered by browsing the extensive Developer Documentation or the documentation page.

Drupal CRM Ecosystem

See projects that extend Drupal CRM.

Similar Projects

See Comparison of CRM modules.

News / Events / Mentions

How to Contribute

The Drupal CRM project is seeking contributors with diverse skill sets to help create the best Drupal-native CRM.

Drupal Slack

If you haven't already, join Drupal Slack, then find us in the
#crm channel where we collaborate on Drupal CRM issues.

Issue Queue

The best way to dive in is to find an issue in the issue queue and tackle it — be bold and take action!

Develop CRM using DDEV ⚙

If you haven't already, install DDEV.

git clone git@git.drupal.org:project/crm.git
cd crm
ddev config --project-type=drupal --docroot=web --php-version=8.4 --corepack-enable --project-name=crm
ddev add-on get ddev/ddev-drupal-contrib
ddev add-on get ddev/ddev-selenium-standalone-chrome
ddev start
ddev poser
ddev symlink-project
ddev drush site:install -y
ddev drush pm:install crm -y
ddev drush config:export -y
ddev drush user:login
ddev drush recipe ../recipes/crm_simpsons

Upgrade Paths

We provide schema and configuration updates. While we strive to avoid breaking changes, they may occur in BETA releases. However, we are committed to providing upgrade paths between all beta, release candidate, and stable versions.

See the Release Candidate Plan.

Note: Drupal's security advisory policy only applies to stable releases.

Supporting organizations: 
Founder and maintainer
Financial support
Maintainer; development, ecosystem strategy, community engagement

Project information

Releases