What is RedHen?
RedHen is a lightweight, Drupal-native CRM framework. CRM stands for Customer Relationship Management*, and the initials "CRM" are often used to refer to a software tool designed to assist with Customer Relationship Management (so "CRM" really means, "Customer Relationship Management Tool" as we use it).
Allowing customers themselves to be able to leverage or update information kept in an organization's database by interacting with the organization's website is a growing need in the CRM world. You may, for instance, want your customers to be able to log in to your website to update their own contact information, for customers with a membership to receive discounts or access to private areas of your website, or to track customer engagement based on their activity on your site. That's why building a CRM into a web development platform (like Drupal) makes a lot of sense. That's why RedHen was created.
Since CRM needs are as diverse as each organization's work, the ability to customize the CRM's functionality is a key feature need. Fortunately enough, Drupal 7 is well-suited to this particular need, with its handy fieldable entities and collection of contributed modules offering custom fields of various types.
To get started with RedHen, we recommend that you check out this introductory tutorial video produced by Drupalize.me.
RedHen was initially designed for common nonprofit needs, but is built for flexibility. ThinkShout is the lead developer for RedHen.
RedHen CRM was initially designed around the CRM needs of membership organizations and associations, but the RedHen framework has been built for flexibity and can be leveraged to develop a wide range of CRM solutions. You can:
- Manage the membership for an organization
- Create a light-weight sales pipeline management tool for small businesses.
- Use it as an integration point between Drupal and an enterprise CRM solutions such as Blackbaud or Salesforce. (Check out the Salesforce integration module.)
Basic Concepts and Features
RedHen installs as a single core RedHen module and a collection of sub-modules. Based on the features you will need, you can enable only the sub-modules required. Some key features are listed here, along with hints about which sub-modules are involved; a more detailed module breakdown follows.
- RedHen CRM defines two main entity types: Contacts and Organizations. Site administrators can create entity bundles for each of these types and add fields to these bundles, and users can then create instances of these Contact and Organization bundles (which RedHen calls "Types").
- Connections, with their own (customizable) fields, can be made between two Contacts and between a Contact and an Organization.
- Instances of the "Membership" custom entity type can have Contacts and/or Organizations associated with them. Memberships can be connected to the management of Drupal User Roles to provide website access based upon individual and organizational membership status.
- Contact entities can be associated with Drupal user accounts. These connections can be automated based on email address, and site users can be given access to update their own Contact entity fields.
- Notes provide a simple tool for attaching information to Contacts and Organizations. Notes are a fieldable custom entity.
- The Notes module integrates with the Engagement sub-module, allowing users to track and score various types of interactions with Contact.
- The Groups sub-module allows you to "groupify" Organizations. Groupified Organizations function similarly to Organic Groups, providing a simple container for managing private content associated with each Organization.
RedHen's sub-modules are built with cascading dependencies and increasingly complex functionality, following a pattern familiar to anyone who has installed or configured Drupal Commerce. The modules are listed here based on their level of dependency on other modules, with core modules first. For more on each module, see the Sub-Modules chapter.
- RedHen core (redhen):
Provides core functionality like menus and permissions. Required by all other RedHen modules.
Additional Dependencies: Entity API
- Fields (redhen_fields):
Provides RedHen-specific fields.
Additional Dependencies: none
- Contact (redhen_contact):
Provides a fieldable, type-able entity for tracking contact data. Contacts can be paired with Drupal Users to allow customers to update their own contact information or gain User permissions based on CRM data.
Additional Dependencies: redhen_fields
- Organizations (redhen_org):
Provides a fieldable, type-able entity for tracking organization data.
Additional Dependencies: none
- Note (redhen_note):
Allows you to add fieldable notes to contact and organization entities. With Fields, Views, and Rules, you can extend Notes to manage simple workflows.
Additional Dependencies: taxonomy, options, field, field_sql_storage, text
- Donation (redhen_donation):
Allows you to easily add single-page Donation forms that process through Drupal Commerce to any content type, and sync donor data with RedHen Contacts. Allows for recurring donations, custom donation questions, and population of any custom RedHen fields. Supports multiple payment processor configurations.
Additional Dependencies: commerce_checkout, commerce_product, commerce_recurring, commerce_cardonfile, select_or_other
- Engagement (redhen_engagement):
Provides a Contact engagement scoring framework and API, which integrates with RedHen Notes.
Additional Dependencies: redhen_contact
- Registration (redhen_registration):
Provides integration with the Entity Registration module, allowing a Contact's Registrations to be tracked in RedHen.
Additional Dependencies: redhen_contact, registration
- Activity (redhen_activity):
foobar foobar foobar foobar foobar
Additional Dependencies: redhen_contact, redhen_org, message, entityreference, ctools
- Relation (redhen_relation):
Create fieldable, type-able connections between Contacts, or between Contacts and Organizations.
Additional Dependencies: redhen_contact, redhen_org, relation, relation_endpoint, relation_ui, list, field, field_sql_storage, options
- Organization Groups (redhen_org_group):
Allows you to "groupify" RedHen Organizations, similar to Organic Groups.
Additional Dependencies: redhen, redhen_relation, entityreference, ctools
- Dedupe (redhen_dedupe):
Provides an interactive, explicit, find & merge interface for duplicate RedHen Contacts. Works across Contact Types.
Additional Dependencies: redhen_contact, redhen_fields
There are a some additional modules which have been designed specifically to add functionality to or play well with RedHen, but which do not install with RedHen. Some important examples are:
- RedHen Membership (redhen_membership):
Provides a framework for managing Contact and Organization memberships in Drupal.
Dependencies: redhen_org, redhen_relation
- Poultry (poultry):
A custom, responsive theme specifically designed for use with RedHen.
- Salesforce 7.x-3.x:
Provides integration with the popular, and much more heavy-weight, SAS CRM from Salesforce.com.
* CRM is actually a pretty versatile little acronym. The "C" can be Client, Customer, Contact, or Constituent. The "R" can be Relationship or Resource, etc, but they all mean pretty much the same thing. The term association management is often used to describe CRM systems, too.
Special thanks to densolis for initial version of this documentation. Significant portions of densolis's original documentation were incorporated into this work, particularly the feature highlights and use cases.