Customer Relationship Management. After the term being around for the past 15 years or so, it seems CRM is becoming a really hot thing right now. We have lots of prospects and customers asking about CRM, without really having much of a sense of exactly what you do with it.

I guess the hope is that if you get a CRM system, you'll get more sales. Life will be rosy and grand, and money will just pour in.

It's not that magical.

The problem with big CRM systems is that they are chock full of things you don't need, are never going to use, and might need a whole new approach to your business to gain any value from.

At its heart, CRM software simply provides a database-driven system to keep track of your customers and prospects, and remind you when to reach out to them again.

The big CRM systems

There's a bunch of full-fledged CRM systems out there, that provide a structure that some sales teams have found effective. At least that's what these companies are selling you. Sales Force, SugarCRM, Zoho, Microsoft CRM. These seem to be the popular systems our customers are considering.

For any CRM system to be successful, you need to be fully bought into the workflow it sets up, and make it an integral part of your process.

For the past few years, we've been using SugarCRM. We went so far as to feed account data from SugarCRM into our project management system, and from there straight into our bookkeeping software. For a while, we used it. But it was one more system to log into, it was big and slow, and we had enough business coming to us that we weren't in it every day, With all the different things like prospects, projects, cases, and more there was functionality that duplicated what we were already doing in other systems. And ultimately it fell out of use.

Back to the basics

For a while, I went completely offline, to 3x5 index cards. Each contact went on a card, and I would put the cards on a magnetic whiteboard organized with various sales stages. Each week I would tally up the actions completed and clear out the board, review who needed calls. If a lead wanted to be called later, I would drop the card in my tickler file. When a deal closed, I would physically carry the card back to a similar board in our production room.

Surprisingly, there's a lot more satisfaction involved in shuffling and moving index cards, than there is in changing a field on a computer. And this worked well for a while.

But ultimately, I'm not that organized a guy, got sucked into delivering work instead of selling, and this system too got neglected.

Lately I've just been keeping a list of active opportunities in Evernote and reviewing it each week to decide who to follow up with. And now, with business on the upswing, a simple list like this is getting quite unwieldy, and it's not going to scale well as I start delegating more of the sales work to others. We're back to needing a software solution.

Drupal CRM?

Since our days of using SugarCRM, we've turned into a Drupal shop.Freelock/Drupal CRM We use OpenAtrium, a Drupal-based project management system. All our work is in Drupal, and we know it inside and out. It's trivial for us to customize to meet our needs. And I've suggested a Drupal CRM to several customers as a possible solution for their needs. None have stepped up to take me up on the offer -- but I was convinced Drupal could be every bit as effective as SugarCRM.

And guess what? It is. In a few hours, I took the core stuff I liked about SugarCRM, the key things I wanted to keep track of, and had a working system set up in Drupal 7. In a few more hours I had some very convenient views that put my next actions right in front of me wherever I go in the system, and had synchronized up the logins with our project management system -- now when anyone on our team is logged into OpenAtrium, the CRM system is a click away already logged in.

Sure, compared to the bigger commercial CRMs, it does a lot less. But what it doesn't do today, I can add when I need it -- and I don't have to think about it until I actually have that need.

What it does right now

I concentrated on four key types of items in the system, heavily borrowed from what we used in SugarCRM:

  1. Contacts. At its core, CRM is a glorified address book. I did away with the separation between contacts, leads, and prospects -- they all represent people. So a person is a contact in my system. You can tag that person as a customer, lead, prospect, whatever you want, but it's still a single object in the system.
  2. Organization/Business. People work for companies. You want a way to show all the people that are part of a company in your system. A lot of our customers are school districts, non profits, associations, and other non-business entities, so I chose to call them Organizations. Basically collections of people, and generally the entity that writes us the check.
  3. Opportunities. We sell projects. We sell maintenance contracts. We sell hosting. When we have identified a customer that has a need for our service, that's an opportunity. We attach an expected value of that opportunity, and tag them with a sales stage. This becomes our sales pipeline, what we know about that we hope to turn into projects.
  4. Activities. This is a reminder to do something on a particular date. Make a phone call. Meet with a customer. Write  a proposal. Send an email. Send flowers? We've set these up to have a date, and a flag for completed. When an activity is complete, it shows up as history. When it's not complete, it shows up in my action list, and on the calendar.

That's really it -- the core of the CRM. At least for our needs, that's what we need to keep track of, before we're engaged on a project. Anything more than that in a CRM is automation of some set of tasks we may or may not need. I put this together on Monday night, and was using it on Tuesday. Released it to our team on Thursday.

Things I like about our Drupal CRM

  • My action list. Mentioned this already -- it shows me my next actions, the open activities sorted by what date I put on them to do. And it follows me around wherever i go in the system, keeps reminding me what I said I would get done today.
  • Single-signon. Biggest problem for us with another CRM system is that it's yet another system with yet another password and yet another login. Some other systems do this, but generally take a lot more to set up -- I was able to use Drupal's Bakery module to connect our CRM logins to OpenAtrium, which we already use constantly. I added a link in OpenAtrium to our CRM, and one in the CRM back to Atrium. Now it's like being in a single system with two personalities, divided right where there's a natural division -- before a sale, and after a sale.
  • Can create everything at once. You can create a new contact, opportunity, or organization from inside a new action. You can create a new contact or organization from inside an opportunity. A new organization from a contact. And vice versa, all the way through. You just create what you're working on, and stuff shows up where you would expect it to.
  • Comments. I've left Drupal's core comment system on, which provides a handy place to log things on unfinished activities -- leaving a message, for example, or pasting in a response on an opportunity.

What's next

This system is up and working for us today, and was only started 3 days ago. There's still a lot that it doesn't do that we would like to do someday. We don't need much more right now, but there are 4 relatively easy things we'll probably get working very soon:

  1. Lead Capture form. We have a form on our web site (right here, in fact) where you can give us some details about what you'd like to do, and we'll get back to you with a quote. That's a lead capture form, and generally feeds straight into a CRM system (if a company uses one). So we need to hook that up.
  2. Bulk import. I can easily set up a CSV import right now. The problem is addresses. When I export them from SugarCRM or Gmail, sometimes the home address is first, sometimes the office address. Getting those matched up correctly isn't something trivial to do, but I would like to make this my main address book. I think the ideal solution would be to import vCard/vcs formats, but I'm not seeing something ready to plug in for that -- it's something that would take some coding to do.
  3. Calendar sync. This one should be much easier -- publish an iCal feed I can subscribe to in Thunderbird/Lightning, Gmail, and on my Android phone. Just haven't done it yet -- main thing would be to secure it properly. I'll probably do the reverse, too -- show events from my other calendars inside the one in the CRM.
  4. Basic statistics: How many activities did we do in the past week? How many new leads were added to the system? What is the overall value of the opportunities in our pipeline (multiplied by a percentage for each sales stage)? What is our conversion rate? This data is now getting collected -- it won't be much work to create a dashboard summary of these "key metrics" we want to track and improve.

What's missing?

I would love to hear about what feature you need that's much better to do in a formal CRM system. Please add a comment below about what you need that I don't discuss here. There are a bunch more features other systems offer, of course, but pretty much any of them could be added to this core system as needed. Some of these we might implement and even use down the road, but we certainly don't need them today:

  • Newsletters. We already have a newsletter system (you can sign up for it in the right column). Drupal has a SimpleNews module we can probably leverage for more segmented marketing campaigns. When we get there.
  • Templated sales emails. We actually built a templating system in Drupal 6, for news releases for Bellingham School District. It would not be hard to add to this system.
  • Associate inbound email with contacts/leads. This is always a challenge to get right, but it's certainly possible -- we are handling inbound email attaching comments to cases in OpenAtrium already.
  • Add a templated workflow for sales prospects. This isn't something we need just yet -- we might need it if we develop a product and a specific sales process to execute, but for our current custom work, not useful. I'm not sure if it's still the case, but it used to be this was the difference between the free community version of SugarCRM and the Pro paid version -- to get workflow, you had to go proprietary. We've got some exciting options in Drupal, though -- a rules engine already in place for one-off rules, and a full-fledged decision tree that uses a drag-and-drop flow chart to configure for complex cases. I hope we end up needing this, because this looks really fun to do!

The bottom line

If you're starting out with a clean slate, brand new business, no processes defined, by all means, pick a CRM system that handles everything you can forsee needing. But chances are, if you're an existing business, any new system you get is going to need to integrate with your other existing systems, and you need to get your staff to use them. And that probably means customizing the system to suit your needs, whatever system you end up with.

If you already have a way to handle customer requests, a newsletter system, email, calendaring, and bookkeeping, and you just need a way to keep track of sales prospects and a reminder system multiple people can use, it might be easier to get something clean and easy to use starting with a few core objects on a Drupal base, than in any of the feature-rich CRM systems out there. And if you already have an established sales process, and are just looking for a tool to support that process, Drupal may well be a great fit.

The best part about using Drupal for CRM is that it can start extremely small, and grow to fit your needs as people actually use the system. By moving one business function at a time into Drupal, you can gradually streamline your operations without the disruption of deploying a huge tool that attempts to change everything you do in your business at once.

Drop us a line if this sounds like something you could use in your business!

Share this article with your friends!

Comments (12)


I'm curious if you investigated CiviCRM and what objections you had to that system. Yes, it includes a lot of functionality that you may not need, but much of that is in submodules which can be turned off and on as needed.

Was it the overall complexity and learning curve?


06 Jun, 2012

Hi, Mike,

Have not actually looked at CiviCRM.

Main thing for us, though, was to build a system in Drupal that we could turn into a feature for deployment on other sites -- not to link in yet another system with duplicate data that would need to get synchronized.

We already have a capable tool, we're tailoring it to meet our needs. I know there is extensive integration between CiviCRM and Drupal, but they are still separate systems, and I'm not seeing what needs CiviCRM fills that we can't do pretty easily in Drupal.

Maybe you can point out some things?


07 Jun, 2012


I have a site that is developed in Drupal 6 and would like to integrate a CRM that does the following:
Automatic Drip Campaign
Analytics to show how often the person logged on to the site
Analytics to show when they purchased an online course
ability to sort users by location and or profession

I would greatly appreciate your advice on which Drupal 6 Plugin Module you would recommend


Steve Mann

05 Jul, 2012

Hi, Steve,

If your data is set up appropriately, capturing the location and professions of the users, most of this should be able to be handled using Views, Rules, Views Bulk Operations, and Job Scheduler.

It's not necessarily trivial, though. It will take some careful planning and set up to get it working. Let us know if we can help!


05 Jul, 2012

The folks over at Think Shout are nearing release of a very interesting CRM built on top of Drupal, called Red Hen CRM.

And in this post, they illustrate just what kinds of things you can do with a Drupal CRM, that you can't easily do with another CRM system, just because it's not tightly integrated with your web site.

05 Jul, 2012

Was your Drupal CRM implementation a separate site? Or did you just add the functionality to your openatrium site? Curious because I'm looking to add some CRM functionality to my business, but we're small (5-6 employees), and we use openatrium for project management. I'm also fairly well versed with drupal, but haven't written any modules or customized via PHP yet (not that I couldn't, just haven't had a need). Thanks!

29 Jul, 2012

Hi, Mike,

We ended up doing a separate site, because I wanted to play around with the CRM functionality being developed elsewhere in the Drupal community, and all of that work is going on in Drupal 7.

For what we've done so far, there's nothing we couldn't have done in OpenAtrium, but it is currently separate. The two sites are using the Bakery module for shared sign-on, which is working really great...


30 Jul, 2012

Sales Teams are all effectively using your existing CRM software and are demanding more. Your sales teams see the benefit of the Sales system you’ve put in place and are constantly asking you for new features in the product to do their work better. You no longer have to demand or threaten that their job is at stake if they don’t use the new CRM system.

franchise for sale Sydney

11 Sep, 2012

Have you added drip mail and calendar syncing to your CRM since writing this article? I am definitely interested in discussing this in greater detail as we need to incorporate a crm into our Drupal sites.


03 Mar, 2013

In reply to by Shawn

Hi, Shawn,

We have not added these features... I was just looking into Mailchimp for the drip email campaign, and we've certainly worked with iCal publishing to publish calendar items to things like Google Calendar. Importing calendar items into Drupal gets a bit trickier if you want events linked to people/leads/accounts in the CRM.

Feel free to drop me a line, john at, if you'd like to talk further!

07 Mar, 2013
the rookie

Hey John,

I used to use open atrium as my crm and project management together. Seemed for at least my purposes best to keep them together just added more fine grain control of access. This was drupal 6. Since drupal 7 I haven't added the extra features yet as open atrium was missing some features as well as ical wasn't working with my version of php at the time.

Im just curious if you have any regrets about separating the two. What are the benefits and the drawbacks in your opinion. I personally felt that a project management system and a crm are so close to the same thing that they flowed together. But I do see the before the sale after the sale aspect. My purpose for keeping them together was because of duplicate info that was used between both systems. Especially with contacts.

What are your thoughts.

28 Apr, 2014


Well, there's always a tradeoff between having a large monolithic system, and a bunch of smaller pieces. I usually like the Unix architecture of "Small pieces loosely joined," but in the web world loosely joined is often too loose -- too much work to get the data to flow seamlessly.

So having a project management system separate from a CRM does mean we can update the two systems independently, and segregate duties/activities between sales and project staff. But it also means that you've got more data integration work to do, and more opportunities for data to go stale.

If I needed both, I would definitely consider putting it all in a single system. The main reason we did not do so was that our PM system was in an older version of Drupal, and we saw a big benefit to rapid prototyping in the newer Drupal 7, without having the resources to commit to updating the PM system. So we grew more organically -- and we do suffer from the data segregation.

05 May, 2014

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.