Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

CiviCRM Entity

1,812 sites Security covered Drupal 10–11
View on drupal.org

This module exposes CiviCRM data as Drupal entities, allowing Drupal modules and features like Views, Rules, and Entity Reference to work with CiviCRM contacts, events, and contributions. This enables developers to integrate CiviCRM data seamlessly into Drupal, creating custom displays and forms.

CiviCRM Entity is a Drupal module which exposes many CiviCRM API entities as true Drupal entity types. That means that almost any module that can use Drupal entities can also access and manipulate CiviCRM data, Drupal style.

4.0.x is compatible with Drupal 10.1 and 11 and CiviCRM 5.60 and above
8.x-3.x for Drupal 8/9 (unsupported)
7.x-2.x is compatible with CiviCRM versions 4.3-5.x, but works best with 4.6 and above.

This module integrates nearly 40 CiviCRM entities as Drupal entities by wrapping CiviCRM API calls in extended Drupal Entity controllers.

  • Contacts
  • Addresses
  • Emails
  • Phones
  • Events
  • Participants
  • Contribution Pages
  • Contributions
  • Line Items
  • Financial Transactions
  • Price Sets, Price Fields, Price Field Values
  • Activities
  • Many more...

This means:

  • Developers can use the core and contrib Entity API for working with CiviCRM data
  • Rules integration
  • Display Suite, and Display Suite Forms Integration
  • Views integration
  • Works with Entity References
  • Works with Search API and Facet API.
  • Places nicely with Services module
  • Works with Entityqueue.
  • Native Drupal View Pages (e.g. /civicrm-contact/1)
  • Native Drupal Edit Forms (e.g. /civicrm-contact/1/edit)
  • Add Drupal fields to CiviCRM Entities
  • Extendable by custom modules or CiviCRM extensions to add or alter entities
  • Can integrate with Commerce with just a little elbow grease

Development is active and ongoing.

Documentation

See the CiviCRM Entity handbook page on Drupal.org for documentation. Feel free to make improvements, or suggest in #2122645 - Improve documentation. This documentation is so old, its almost pointless. We'll be upgrading this. Until then try looking at blog articles and presentations to glean useful information

The document is old kinda, still useful as an intro but....Just ping me on the CiviCRM Mattermost chat, CiviCRM Entity channel and I'll help you out. Ping @jackrabbithanna . Its free, its cool, and all the Drupal dev expatriates to the CiviCRM world hang out there. If you're thinking, "wow there's a lot of modules here, how does it all work?" Just get on and ask me!

Blog Articles

Presentations

Introduction to CiviCRM Entity Development

Google Slides, Intro to features , focus on CiviCRM Events.

My CiviCon 2015 Presentation, CiviCRM Drupal Integration
CiviCRM entity is covered in the second half of the slides.

My CiviCon 2016 presentation, Superior Drupal Integration

Developer Information

Developers can alter the information used by CiviCRM Entity to integrate the different CiviCRM entity types.

see civicrm_entity.api.php for details for implementing or read about it here.
hook_civicrm_entity_supported_entity_info()
Despite its name it acts like a standard drupal alter hook
The new hook allows developers to:

  • Add entities that aren't exposed by default
  • Alter settings for entities that are exposed such as theme template
  • Permissions necessary to view/add/create entities
  • Set or add display suite formatters for entity properties
  • Change the property that is used for the entity label
  • create your own access callback for customizing view/add/create access

Contribution

Please use the Drupal.org issue queue for bug reports.

We encourage you fork the GitHub repo, because that is where the actual active development is being coordinated and code discussion takes place. After committing to your fork, create a pull request to receive commit credit.

Join the discussion on CiviCRM's Mattermost site, civicrm entity channel:

Hire Skvare to add the specific feature you want, now. We’ll put it back into the general release and continue building more functionality. Clients have already committed funds to further extend this project. Those who fund development guide the priorities, milestones, and timelines.

Talk to Mark Hanna, CiviCRM Entity maintainer and new development lead. CiviCRM LTS maintainter. @jackrabbithanna on Twitter and chat.civicrm.org

Depends on

Dependencies of the latest stable release

  • civicrm
  • datetime Drupal core
  • filter Drupal core
  • options Drupal core

Required by

1 tracked project depends on this one

Activity

Tracked releases
13
Tracked since
Jan 2025
Latest release
1 month ago
Releases (12 mo)
9 ▲ from 4
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
4.0.8 Stable 10–11 Jul 9, 2026
4.0.7 Stable 10–11 Jul 2, 2026
4.0.6 Stable 10–11 Jun 16, 2026
5.0.x-dev Dev 11 May 28, 2026
4.0.5 Stable 10–11 Apr 27, 2026
4.0.4 Stable 10–11 Apr 10, 2026
4.0.3 Stable 10–11 Nov 11, 2025
4.0.2 Stable 10–11 Oct 9, 2025
4.0.1 Stable 10–11 Sep 9, 2025
4.0.0 Stable 10–11 Apr 9, 2025
4.0.0-beta7 Pre-release 10–11 Feb 28, 2025
4.0.0-beta6 Pre-release 10–11 Jan 29, 2025
4.0.0-beta5 Pre-release 10–11 Jan 10, 2025