Check your version

This video covers a topic in Drupal 7 which may or may not be the version you're using. We're keeping this tutorial online as a courtesy to users of Drupal 7, but we consider it archived.

Introduction to RedHen CRM

Video loading...

  • 0:02
    Introduction to RedHen CRM
  • 0:05
    Series sponsored by ThinkShout
  • 0:10
    Welcome to an introduction to the RedHen CRM,
  • 0:12
    a tool that uses basic Drupal building blocks
  • 0:15
    to help make customer relationship management easier.
  • 0:18
    In this tutorial, we'll be talking about the pieces that make up a CRM,
  • 0:22
    how RedHen is unique among other Drupal integrated CRMs,
  • 0:26
    and then we'll get RedHen set up and configured.
  • 0:28
    Ready? Let's dive in.
  • 0:31
    Before we get started, let's take a look at what exactly makes up a CRM.
  • 0:34
    Any customer relationship management software
  • 0:37
    has, at its core, these basic pieces, and RedHen is no different.
  • 0:41
    Contacts allow you to track the personal information of your customers
  • 0:45
    whether or not they have accounts on your website.
  • 0:47
    Organizations allow you to track companies or other groups of interest.
  • 0:51
    Connections help to find the relationships between your contacts and organizations.
  • 0:55
    And engagements can help track contacts' activity within your organization.
  • 0:59
    What makes RedHen unique is that each of these building blocks
  • 1:02
    are custom entity types in Drupal.
  • 1:04
    This means that once set up, familiar Drupal site building tools
  • 1:07
    like Views and Rules modules,
  • 1:10
    can use CRM data in interesting ways.
  • 1:12
    Let's take a look at setting up RedHen to see this in action for ourselves.
  • 1:15
    The RedHen code can be downloaded from
  • 1:20
    Here you can find some other information about RedHen's features
  • 1:23
    and stay up to date with their blog posts.
  • 1:25
    The RedHen code is also available on
  • 1:28
  • 1:31
    OK, let's get started using RedHen.
  • 1:34
    Here I have a basic Drupal installation,
  • 1:36
    Drupal 7, with no modules enabled,
  • 1:38
    but I have downloaded RedHen already, so let's visit the modules page.
  • 1:42
    If we scroll down on the modules page,
  • 1:44
    we can see all of the modules that RedHen provides.
  • 1:46
    For this demonstration, we're going to enable the RedHen module,
  • 1:49
    RedHen Activity, RedHen Contacts,
  • 1:52
    RedHen Dedupe, RedHen Engagement,
  • 1:54
    Fields, Notes, Organizations, and RedHen Relation.
  • 1:59
    We're also going to enable the Rules and Rules UI
  • 2:01
    and Views and Views UI modules.
  • 2:04
    These will come in handy later.
  • 2:06
    We'll see that those choices require some additional dependencies—
  • 2:08
    CTools, Entity tokens, the Relation module, and Message module.
  • 2:13
    We'll go ahead and click Continue.
  • 2:16
    OK, once we've enabled the RedHen modules,
  • 2:18
    we're going to visit our website /redhen.
  • 2:21
    Let's go ahead and change a few settings.
  • 2:23
    On this page, we have a couple of different options.
  • 2:27
    The first thing I want to point out is to treat RedHen paths as administrative.
  • 2:30
    These will use our admin theme on any of the RedHen pages.
  • 2:34
    Another setting to highlight here
  • 2:36
    is how RedHen contacts relate to Drupal users.
  • 2:38
    For this site, we want to connect our users to RedHen contacts
  • 2:42
    and mirror RedHen contact emails to Drupal users,
  • 2:46
    so we're going to check those two options.
  • 2:48
    We'll come back to these user registration settings in a minute.
  • 2:50
    I'm going to go ahead and save our configuration.
  • 2:53
    OK, now that we have some basic settings saved, we're ready to visit our RedHen dashboard.
  • 2:57
    The URL for the dashboard is the name of our site, /redhen.
  • 3:00
    Here we can see the CRM dashboard provided by RedHen out of the box.
  • 3:04
    Let's go ahead and add this link to our default shortcuts
  • 3:07
    so we can get back to here quickly later on.
  • 3:09
    In order to take a look at the basic building blocks RedHen provides us,
  • 3:13
    we'll click on the Structure link next.
  • 3:15
    From this page, we can create different contact types,
  • 3:17
    organization types, as well as manage notes and engagement scores.
  • 3:21
    Let's start off by creating a couple of different contact types.
  • 3:24
    In this example site, we're going to be using RedHen
  • 3:27
    to manage the relationship between Drupalize.Me and Lullabot staff members
  • 3:30
    and create a directory of sorts.
  • 3:33
    So let's add a contact type.
  • 3:35
    We'll create a contact type called "staff", and click Save.
  • 3:38
    And then we'll add another contact type, "member."
  • 3:41
    OK, so now we have two different types of contacts our CRM knows about;
  • 3:44
    staff, and members.
  • 3:47
    These contact types are like any other Drupal entity.
  • 3:49
    We can add additional fields to them,
  • 3:51
    so let's go ahead into this staff contact type and manage fields.
  • 3:54
    And let's say we want to track our staff members' user IDs.
  • 3:58
    We'll add a field for username.
  • 4:01
    We'll store some text.
  • 4:03
    The defaults here are fine.
  • 4:05
    Again, we'll leave the defaults for this field.
  • 4:07
    Going back to our contact types,
  • 4:09
    for members, in addition to their contact name and email address,
  • 4:14
    let's say we also want to record their phone number.
  • 4:17
    So we'll add a field for phone.
  • 4:19
    And for simplicity's sake, we'll just make this a text field.
  • 4:22
    And again, we'll just keep the defaults.
  • 4:25
    OK, we've got a couple of basic contact types set up.
  • 4:29
    Let's go back and create a couple of different types of organizations.
  • 4:33
    We'll add an organization type for company,
  • 4:36
    and we'll add another organization type for user group.
  • 4:40
    Just like with contacts, since these are Drupal entities,
  • 4:43
    we can again add additional fields here.
  • 4:46
    We'll skip adding additional fields to the organizations for now.
  • 4:49
    One additional thing that's going to come in handy in a minute
  • 4:52
    is having another vocabulary available.
  • 4:54
    So let's click Structure and Taxonomy,
  • 4:57
    and we're going to add a category here for department.
  • 4:59
    We'll use this to track which department of a company someone is in.
  • 5:03
    The reason why it's a vocabulary will become apparent in a moment.
  • 5:06
    But let's add some terms here.
  • 5:08
    We'll say, within the Drupalize.Me team, we have developers,
  • 5:11
    we also have trainers,
  • 5:14
    we have designers, and we have a marketing team.
  • 5:17
    That's a good start.
  • 5:19
    Let's go back to the Structure page and add a type of relation.
  • 5:22
    You'll notice here that RedHen has already created a couple of relation types for us,
  • 5:26
    organizational relation, and personal connection.
  • 5:29
    Organizational relation is used to relate a person
  • 5:32
    or a contact with an organization,
  • 5:34
    while a personal connection is used to relate a contact to another contact.
  • 5:38
    Since these relations are also Drupal entities,
  • 5:41
    we can add fields here.
  • 5:43
    So let's go into organizational affiliation, and manage fields.
  • 5:47
    Here we have a couple of fields already set up,
  • 5:49
    affiliation status, organization role.
  • 5:52
    Now we can add department as well.
  • 5:54
    We'll use a term reference field
  • 5:57
    and a select list.
  • 5:59
    And now we'll be able to track which department
  • 6:02
    someone belongs to.
  • 6:04
    Now that we have this department set up with our relation,
  • 6:06
    let's go back to the CRM dashboard.
  • 6:08
    We've set up a couple of contact types,
  • 6:10
    a couple of organization types, and we've modified
  • 6:13
    the organizational affiliation relationship.
  • 6:16
    Let's do a little bit of data entry so we can see our work in action.
  • 6:19
    I'll click the Contacts link here.
  • 6:21
    And you'll notice we don't have any contacts available.
  • 6:24
    So let's go ahead and add a contact.
  • 6:26
    I'll add myself first, as a staff member.
  • 6:32
    Let's add a few more contacts.
  • 6:34
    Now that we have a few contacts, let's go ahead and add some organizations as well.
  • 6:38
    We'll go back to our CRM dashboard and organizations,
  • 6:42
    add an organization, in this case, a company.
  • 6:53
    Now that we have a couple of organizations set up,
  • 6:56
    we're ready to start creating some relationships.
  • 6:58
    Back on our CRM dashboard,
  • 7:00
    we're going to click on Contacts and then Kyle Hofmeyer.
  • 7:04
    This is Kyle's contact dashboard page.
  • 7:07
    In this case, we're going to create a new connection for Kyle,
  • 7:09
    so we'll click on the Connections tab
  • 7:11
    and add a connection.
  • 7:14
    Here we can see our two different relationship types;
  • 7:16
    Affiliated with, and Personal connection.
  • 7:19
    Affiliated with would create an organizational affiliation.
  • 7:23
    In this case, we're going to say that Kyle works at Drupalize.Me, a company,
  • 7:26
    and Kyle is an admin there.
  • 7:29
    You'll notice with this help text we haven't actually implemented
  • 7:31
    any permissions or access controls,
  • 7:34
    but we could down the road if we wanted to.
  • 7:36
    That department field we added earlier, that also shows up here as well,
  • 7:39
    so we can list Kyle as a trainer when we create this connection.
  • 7:43
    I'm going to go ahead and do a little more data entry
  • 7:46
    to create some more connections.
  • 7:48
    Now that I've gone through and created a few different connections
  • 7:51
    between our example contacts, we're ready to create a staff directory.
  • 7:55
    So I'm going to click on Structure, and then Views.
  • 7:58
    I'm going to add a new view, and we'll call it "staff directory."
  • 8:02
    In this case, we're going to show contacts,
  • 8:04
    one of the custom entity types created by RedHen.
  • 8:06
    We only want to show staff contacts,
  • 8:09
    and we'll leave them unsorted for now.
  • 8:11
    Let's show a table view of fields.
  • 8:15
    Let's go ahead and display 20.
  • 8:17
    I'll click Continue and Edit.
  • 8:19
    OK, let's add a few fields to our table.
  • 8:22
    We want to add the first name
  • 8:24
    and last name of our contacts.
  • 8:26
    We'll click Apply.
  • 8:29
    The defaults are fine here.
  • 8:31
    And then under the Advanced tab, we're going to add our relationship filter,
  • 8:34
    so we can take a look at which relationships this contact has.
  • 8:38
    So we're going to pick the organizational affiliation relationship,
  • 8:43
    and we're going to require it.
  • 8:45
    We can go ahead and click Apply.
  • 8:47
    And then under Contextual Filters, we're going to add a filter
  • 8:50
    for the organization name, and click Apply.
  • 8:53
    When we don't have an organization name in the URL,
  • 8:55
    we'll display "no results found."
  • 8:57
    If I scroll down here to the preview of our staff directory,
  • 9:00
    we can see that we don't get any results right now.
  • 9:02
    But if I enter in one of our company names,
  • 9:05
    and update preview, what we get back is a list of all of our RedHen contacts
  • 9:09
    that have an organizational affiliation with the Drupalize.Me company.
  • 9:13
    This view is making use of the relation entities provided by the RedHen module
  • 9:17
    as well as the organizations and contacts that we set up earlier.
  • 9:21
    Now that we've set up the basic contact and organization types we're interested in tracking,
  • 9:25
    let's take a deeper look at the Contact Dashboard.
  • 9:28
    RedHen's contact dashboard provides us with an out-of-the box,
  • 9:31
    bird's-eye view into a contact's information, connections, and engagements.
  • 9:36
    It also gives us a way to leave notes and track their activity.
  • 9:39
    Let's take a look at an example.
  • 9:41
    Back from our CRM dashboard page, we'll click the contacts link,
  • 9:45
    and then we'll click into one of our contacts.
  • 9:47
    From here we can see a summary of the information we have about this contact.
  • 9:51
    The name's Kyle Hofmeyer.
  • 9:53
    We don't have an address on file.
  • 9:55
    His primary email address is [email protected]
  • 9:58
    And he has an engagement score of zero.
  • 10:01
    There are links here to be able to edit this contact,
  • 10:03
    view the Drupal user associated with the contact,
  • 10:06
    archive or delete the contact as well.
  • 10:09
    The main tabs we're going to be interested in are up here,
  • 10:11
    the Summary view, Connections— which we already took a quick look at.
  • 10:15
    In this case, Kyle is affiliated with the Drupalize.Me company.
  • 10:19
    We can see a record of any of his engagement scores,
  • 10:21
    which we'll look at in a few minutes.
  • 10:24
    The Notes tab allows us to leave notes about our interactions with Kyle.
  • 10:27
    I can leave a note here by clicking the Add Note button,
  • 10:30
    and I can save this note.
  • 10:32
    Under the Activity tab, we can see a running record
  • 10:35
    of all of the different types of activity that have happened with this contact.
  • 10:38
    We can see here when the contact was created,
  • 10:41
    when any connections have been changed or made,
  • 10:44
    as well as notes and engagement scores.
  • 10:47
    If you'd like to experiment with RedHen CRM
  • 10:49
    without having to do all this data entry,
  • 10:52
    I highly recommend checking out the RedHen CRM demo distribution.
  • 10:55
    This demo distribution will create a few different default contact types,
  • 10:59
    organization types, relation types,
  • 11:01
    as well as prepopulate it with a bunch of sample data
  • 11:04
    you can use to build out features for your site.
  • 11:06
    We'll take a look at the types of sample data you get from this distribution
  • 11:09
    in a demo coming up.
  • 11:11
    Once we have the basic contact and organization structure set up,
  • 11:14
    and some data populating our site,
  • 11:16
    another RedHen tool we can leverage to help us provide
  • 11:19
    more information about our contacts, our engagements;
  • 11:22
    the RedHen engagement system is built on top of the rules module,
  • 11:26
    which means you can start tracking engagements
  • 11:28
    without writing a single line of code.
  • 11:30
    Let's take a look at an example.
  • 11:32
    From our CRM dashboard, we're going to click Structure,
  • 11:34
    and then Engagement Scores.
  • 11:36
    Here we're going to add an engagement score,
  • 11:38
    and we're going to call this one "daily sign in."
  • 11:40
    And we're going to give this 10 points.
  • 11:43
    I'll click Save Engagement Score.
  • 11:45
    Now that we've created an engagement score, we need to wire it up
  • 11:47
    so that an action actually triggers the score being created.
  • 11:51
    To do that, we're going to click on Configuration
  • 11:53
    then scroll down to Rules module.
  • 11:55
    We're going to add a new rule, and we're going to call this rule "Login Engagement".
  • 12:00
    The event we're going to react to
  • 12:02
    is a Drupal user logging in.
  • 12:05
    And we're going to click Save.
  • 12:07
    When a user logs in, we're going to add an action.
  • 12:09
    The action we're going to add is to score engagement by user ID.
  • 12:13
    We're going to trigger the daily sign in, engagement score.
  • 12:17
    The selector we're going to use here is the logged in user,
  • 12:20
    and we're going to trigger that with the RedHen contact.
  • 12:24
    And the user ID that will receive that engagement score
  • 12:27
    is the user ID that logged in.
  • 12:29
    I'm going to go ahead and click Save, and now we can give this a try.
  • 12:32
    Now that we have our engagement set up,
  • 12:34
    let's take a look at it in action.
  • 12:36
    We're going to go from the CRM dashboard to our contact listing
  • 12:39
    and then Kyle's contact page.
  • 12:41
    From Kyle's contact dashboard page, we can here see his Drupal user account
  • 12:45
    that's affiliated with this contact.
  • 12:47
    If I click on Drupal user, we're then given the option
  • 12:50
    to link this contact with the Drupal user account.
  • 12:52
    In this case, we don't have a Drupal user account yet for Kyle,
  • 12:55
    so we're going to choose Create New.
  • 12:57
    We'll give him the password of Kyle, which will be very easy to remember.
  • 13:01
    And we'll go ahead and click Link User to create this account.
  • 13:04
    Now that we've created a Drupal user account for this contact,
  • 13:07
    we just need to wait for the contact to log in
  • 13:09
    before their engagement score will be adjusted.
  • 13:12
    Here in a different browser window, I've logged in with this new Drupal user account.
  • 13:16
    After this Drupal user has logged in,
  • 13:18
    if we revisit Kyle's contact dashboard,
  • 13:20
    we can see that its engagement score is now 10.
  • 13:23
    If we click on the Engagement tab, we'll see a list of all the different engagements
  • 13:27
    as well as the time they happened.
  • 13:29
    You'll also notice there are these collapsed filters,
  • 13:31
    where you can check on different types of engagement scores
  • 13:33
    or look at engagements that happened from and to a particular time range.
  • 13:38
    Another killer feature of RedHen CRM
  • 13:40
    is the Contact Deduplication module.
  • 13:43
    If your site is set up where contacts are independent from Drupal users,
  • 13:46
    you may, over time, develop some duplicate records.
  • 13:49
    This module helps you cross reference contact records
  • 13:52
    to identify potential duplicates and help merge their records.
  • 13:56
    Let's take a look at how this works.
  • 13:58
    For this demo, I'm using an installation
  • 14:00
    of the RedHen demo distribution we talked about earlier,
  • 14:03
    since it already comes prepopulated with a bunch of sample data.
  • 14:06
    From the CRM dashboard, I'm going to click on Contacts,
  • 14:10
    and here we can see a list of contacts
  • 14:12
    where Dax Fey is listed twice, Bri Arnold is listed twice,
  • 14:16
    Lisa Toledo, etc.
  • 14:19
    We have quite a few contacts set up in the system already.
  • 14:22
    Let's take a look at how deduplication works.
  • 14:24
    In order to see how this deduplication works,
  • 14:27
    we first need to enable the RedHen Dedupe module,
  • 14:29
    which we've already done here.
  • 14:31
    This will add an additional link in our menu, Find duplicate contacts.
  • 14:35
    We'll go ahead and click that link.
  • 14:37
    From the URL /redhen/dedupe,
  • 14:39
    we're presented with the dashboard to configure how we want to check for duplicates.
  • 14:43
    In this case, we want to check our contact properties,
  • 14:46
    first name and last name,
  • 14:49
    and compare that to the address first name and last name fields.
  • 14:53
    We'll limit this query to active contacts and click Submit.
  • 14:56
    This will go through and compare all of the fields
  • 14:59
    on our contact records that we've specified
  • 15:01
    and give us a list down below.
  • 15:03
    Here we can see that Becky O'Neil has two different contact records, 57 and 58.
  • 15:07
    I can take a look at those by clicking on the links here.
  • 15:10
    Once I've compared the contact records and I'm sure this is the same person,
  • 15:14
    I can merge them by clicking on the Merge link.
  • 15:16
    From the Merge link, I'm presented with an option
  • 15:19
    to choose which is the master contact
  • 15:21
    as well as any of the different contact details between the two records.
  • 15:24
    I'm going to go ahead and click Merge to make this a single contact.
  • 15:27
    We've quickly and easily successfully merged
  • 15:31
    the two Becky O'Neil contacts we had into one single contact.
  • 15:34
    The RedHen dedupe module lets us quickly merge
  • 15:37
    two different contact records into a single contact
  • 15:39
    to make sure our data is as clean as possible.
  • 15:42
    RedHen has a lot more functionality than we've had time to take a look at here.
  • 15:46
    Let's take a look at some other resources we could use to build out our CRM.
  • 15:49
    Another popular RedHen module is RedHen Donation.
  • 15:53
    This module allows you to create donation processing forms
  • 15:56
    and attach those to entities along with contact records.
  • 15:59
    If you'd like to build a peer-to-peer fundraising website,
  • 16:02
    such as those that are usually built for things like marathons and walks,
  • 16:06
    you might be interested in the RedHen Raiser distribution.
  • 16:09
    An example of a site that's using RedHen Raiser to raise funds
  • 16:12
    is the Capital Area Food Bank.
  • 16:14
    Here you can see they have a list of campaigns,
  • 16:16
    and each campaign has the option to donate
  • 16:18
    along with a running total of donations that have been raised.
  • 16:21
    If you're interested in giving RedHen Raiser a try
  • 16:24
    with minimal setup, you might be interested in trying it out on Pantheon.
  • 16:27
    It's available here from the project page with a few quick clicks.
  • 16:31
    In this video, we took a quick look at the basic building blocks
  • 16:34
    provided by the RedHen CRM to make managing
  • 16:37
    our relationship with our customers easier.
  • 16:39
    We used these tools to set up a basic CRM
  • 16:41
    for managing the Drupalize.Me and Lullabot team as an example.
  • 16:45
    We looked at building a quick staff directory using the Views module,
  • 16:48
    and we created a custom engagement to track users on the site with rules.
  • 16:52
    We also took a really quick look at some other tools in the RedHen suite of modules.
  • 16:56
    Hopefully, you're ready to give RedHen CRM a try
  • 16:59
    and build something fantastic.
  • 17:01
    drupalize me

Introduction to RedHen CRM


RedHen CRM is a Drupal-based customer relationship management tool. Many organizations use CRMs to help them manage the contacts they rely on to run successful campaigns. In this introduction tutorial, you will learn how to configure and use RedHen CRM, while also getting a tour of the features it provides. In the process, you will create contacts and organizations, and then use them to build a staff directory using the Views module and custom engagements scores with the Rules module. With that in place, you'll dive into what you have available in the Contact Dashboard, which is where you really get into managing your customers. You'll also get to see features such as contact deduplication to merge multiple contact records into one contact, and a list of resources to take things further than what is covered in this introduction.

If you want to follow along with the examples in this tutorial, you should be familiar with Views and Rules. You can learn more about Views in our Intro to Views for Drupal 7 Series, and you can learn more about Rules in the Learning the Rules Framework Series.

Sponsored by ThinkShout