WP-CRM: a basic CRM built with WordPress


WP-CRM will no longer be supported.

However, we have a new Contact Manager built on WordPress: RoloPress.

To find out more, visit www.RoloPress.com

WP-CRM is a WordPress system for creating a basic Contact Manager / CRM.  The system requires a combination of plugins and a theme.  It was inspired by the great work David Yeiser did with WP-Contact Manager, and by 37signals Highrise.


  • Add contacts from the front end of WordPress – no need to go to the admin screen.
  • Associate an image with each contact.
  • Assign each contact to a company… or don’t.
  • Make a note history for each contact.
  • Clickable email and website links.
  • Google map contacts address.
  • Dial a phone number (works on cell phones with internet browsers).
  • Fully hcard / vcard compatible.
    • To check out this feature, install Tails for Firefox; it will show you the hcard data and allow you to export a contact to Outlook.
  • Written with BluePrint CSS.

D E V E L O P E R S   W A N T E D

WP-CRM was built rather quickly using existing plugins and some creativity. Imagine what would happen if a few plugin developers got together and focused on making a full-featured CRM built on WordPress.

Well… stop imagining, and start coding!

SlipFire is looking for a few good plugin developers to help build the world’s best (some may say, first):
Open-source, stable, secure, themable, pluggable CRM.

If you’re interested please
contact us here.

Installation Instructions

Setup is a little bit of work, but once it’s done you have a cool , customizable CRM.  Remember, if it were easy… everybody would be doing it!

For WP-CRM to work properly, you need a fresh install of WordPress, the theme and a few plugins:

  1. Upload and activate the theme and plugins (did I really need to tell you that?).
  2. Though you will be creating contacts on the front end, you still need to make your companies on the back end. Go to MANAGE – CATEGORIES, and make a category called “none” (without the apostrophes). This will be for contacts that have no company associated with them.  If you like,  you can also make a few companies here as well… or you can do it later.  Each company is just a standard category.
  3. Click on the tab “TDO Mini Forms”.  Now we’re going to make the add contact form.  You will immediately see “Error: No default author set!” Click on “make dummy user for default author automatically”.
  4. Click on “Form 1”, these are the general options for your form.
    • Change form name to “Add Contact”.
    • Change default category to “none”.
    • Since this is your CRM and you’re not going to let just anybody make a contact, you can check “enable moderation”.
    • Change widget instances to “25”.  This is the amount of custom fields you can have on this form.  We’re only going to use 15 of these, so you can use the remaining 10 for other fields if you like.  But you’re going to have to edit the theme to show them.
    • Click “Save”
  5. Now let’s make the form!
    1. Click on “Form Widgets” from the submenu.  You may recognize this layout. This plugin was made so that it uses the familiar widget layout… very slick!
    2. Scroll down to the bottom of the screen, and where it says “Custom Field Widgets”, choose 25 from the dropdown menu and click “save”
    3. Now scroll back up and drag “Custom Fields 1” to the widget.  And then place “Custom Fields 2” underneath it.  Now, pay attention here; place “Categories 1” next.  Continue until your layout looks like this:
    4. Now we need to set the value for each field.  Click on the icon to the right of “Custom Fields 1” and the options screen should pop up.  Fill in the value’s per the info below.  When you’re done with each field, click the “X” at the top of the options screen to close the screen, and then click “Save Changes” after you adjust each field, just to make sure you don’t lose your work.VERY IMPORTANT:
      • The Custom Field Key must be typed exactly as shown, or it won’t work.
      • You must set First Name and Last Name as Required fields.

      Custom Field # Title Custom Field Key Type Size Choose button choice Other Custom Field 1 First Name first_name text field 30 text (no option) Custom Field 2 Last Name last_name text field 30 text (no option) Categories 1 Company (no option) (no option) (no option) (no option)

      • “overwrite default categories:check
      • “list of categories to exclude”: 1

      Custom Field 3 Title title text field 30 text (no option) Custom Field 4 Address Line 1 address1 text field 30 text (no option) Custom Field 5 Address Line 2 address2 text field 30 text (no option) Custom Field 6 City city text field 30 text (no option) Custom Field 7 State state text field 2 text (no option) Custom Field 8 Postal Code postal_code text field 10 text (no option) Custom Field 9 Mobile mobile_phone text field 30 text (no option) Custom Field 10 Home home_phone text field 30 text (no option) Custom Field 11 Work work_phone text field 30 text (no option) Custom Field 12 Fax fax text field 30 text (no option) Custom Field 13 Other other text field 30 text (no option) Custom Field 14 (leave blank) email text field 30 email (no option) Custom Field 15 Website website text field 30 text

      • “default value”:http://
      • choose “url”

      Content (no option) (no option) (no option) (no option) (no option)

      • “Title of Post”: uncheck “show
      • “Content of Post”: uncheck “required”

      Tags No configuration neccessary Upload Files (no option) (no option) (no option) (no option) (no option)

      • “Allow File Types:” .jpg .gif .png
      • Check: “Use filename as post title”
      • “Max File Size:” 100000
      • “Add download link to post content:” uncheck
      • “Add download link as custom value:” uncheck
      • Url of Uploaded area:”http://[your domain name]/wp-content/uploads/
    5. We need to make a WordPress page to put the cool form you just setup:
      • WRITE – PAGES
      • Page Title: Add Contact
      • Page Slug: add-contact (must be exact, in lowercase and hyphen)
      • In the body of the page, type:  [tdomf_form1]  (with the brackets)
    6. Now let’s make some changes to your WordPress setup:
      • WRITING: Default Post Category: none
      • PRIVACY: I would like to block search engines, but allow normal visitors
        • Custom Structure: /people/id-%post_id%
        • Category Base: /list
        • Store uploads in this folder: wp-content/uploads
    7. Let’s up-date the other Plugin options:
        • Hide ‘Title’: check
        • In the area under “Custom Fields to Add”, enter:
          • last_name =>
          • first_name =>
      • SEARCH EVERYTHING: Check off what ever options work best for you.

Done!  Your CRM is now ready.

So, how do  you use it?  Here’s a quick tutorial:

  • Adding Contacts: Click the “Add Contacts” button and fill out the form.  When you make a contact a few things happen.  If you add an image to the contact, then the post title becomes the image name.  If you don’t, then the post title becomes the date and time it was made.  You probably didn’t need to know that much, because the post title has been hidden!
  • Adding Companies: Click the “Add Companies” button, and you will be taken to the back-end of WordPress.  Just make a category for every company you want to add.
  • Managing your Contacts: This is also done from the back-end.  But thanks to the “Custom Admin Post Listing” plugin, when you click MANAGE – POSTS, you won’t see ugly post titles, you’ll see your contacts names.

That’s it!  Enjoy!

Please let me know your thoughts and suggestions, as well as any bugs you find.

112 comments for “WP-CRM: a basic CRM built with WordPress

  1. John
    April 18, 2008 at 9:01 am

    This is so awesome! Can’t wait to install it.

  2. Tim W
    April 18, 2008 at 11:47 am

    How do I see the vcard data?

  3. sbruner
    April 18, 2008 at 11:52 am

    You need an hCard/vCard reader to view the data. If you’re using Firefox, download Tails: https://addons.mozilla.org/en-US/firefox/addon/2240

    and then go to any contact page in the theme. An icon at the bottom of your Firefox browser will turn orange. Click on it, and that contacts hCard data will appear. You can also export it to Outlook.

    If you have Tails installed, you can visit the demo site to see it work: http://crmdemo.slipfire.com/people/id-69

  4. April 18, 2008 at 4:26 pm

    Looks great… will this set-up work with WP2.5

  5. sbruner
    April 18, 2008 at 4:34 pm

    The theme will work with 2.5, but I’m not sure about the plugins. I only tested them with 2.3

  6. April 21, 2008 at 4:14 am

    TDO Mini Forms will certainly work in WordPress 2.5! :)

  7. Bob
    May 27, 2008 at 4:58 am

    I don’t see how to edit or delete an entry.
    And I needed to hardcode the src for images.
    Otherwise, all is well on my Localhost test installation.
    Thanks for work!

  8. Bob
    May 27, 2008 at 5:04 am

    I should explain: I am unable to edit a post in order to edit/delete contact information.
    Using WP2.51, when I attempt to edit a post, nothing happens.
    I’m going to install on another server to see whether the problem is server related.

  9. Bob
    May 27, 2008 at 6:55 am

    If I deactivate the Custom Admin Post Listing plugin, then I am able to edit the posts/contact information.
    This behavior found on both XAMP Localhost and a 1and1.com Linux hosted account, using WP2.51, MySql 5.

  10. June 27, 2008 at 6:03 pm


    You can keep the Custom Admin Post Listing plugin activated *but* you need to uncheck again the “Hide ‘Title’ column?”.

    This way, you can click on the title to edit the post (i.e. the contact).

    Hope this helps!

  11. Awan
    October 2, 2008 at 10:10 am

    Dear all,

    There’re some basic question since the new version of some plugins have a lot more configuration than before:

    1. How to edit a contact post? I cant find a interface to edit it. even from TDO mini form.
    if i use Manage Post, it will show the profile not the edited form.
    2. The permalink setting : /people/id-%post_id% not working, so i put back into default and it’s work, is it will be a problem?
    3. Which file and part if I wanna to edit the CRM dashboard to choose which data should go infront.

    Many Thanks

  12. sbruner
    October 3, 2008 at 2:45 pm


    TDO mini-forms does not yet allow editing the contacts from the front end. You need to log into the admin to edit.

    To change the data that shows on the main page, edit the home.php file.


  13. Matt
    November 13, 2008 at 11:10 am

    Awesome theme…it was exactly what I needed.

    I am having one little issue.

    I’m getting and error at the top of the ‘add contact’ page (at the top of the form).

    “ERROR: register_globals is enabled in your PHP environment!”

    I’m not much of a programmer, so I don’t even know where to start to fix this.

    Any suggestions would be greatly appreciated.


  14. sbruner
    November 13, 2008 at 2:43 pm


    That’s probably an issue with your host. Contact them and ask them to fix. It’s not an issue with WordPress.

  15. November 13, 2008 at 3:28 pm

    I think I speak for everyone when I say YAHOO! THIS IS AWESOME!! THANK YOU THANK YOU THANK YOU!!!

    P.S. long live open source.

  16. sbruner
    November 13, 2008 at 3:33 pm


    You are very welcome. Let me know if you have any questions.


  17. Matt
    November 13, 2008 at 3:37 pm

    I fixed the error message. I just had to turn off “register_globals” in the php.ini file in the root.

    Thanks again for the killer theme!

  18. November 28, 2008 at 8:03 pm


    I have just found out about this CRM plubin and THANK YOU, THANK YOU soo much for this great work. I have just installed it and am delving into this great work now.

    One little thing though. I am using wordpress 2.6 and can’t find the “slug page” section anywhere. Would you have any idea how I can solve this?

    Thank you SO MUCH again.


    P.S. Matt, thank you so much for posting the error message re: register_globals as well as the answer. It helped me so much :)

  19. November 28, 2008 at 8:04 pm

    Just turned on the email notification. Sorry for the repeat message.

  20. sbruner
    November 28, 2008 at 10:24 pm


    Glad you like the theme!

    In version 2.6 WP calls labels it Permalink on the Page.

    Create the Add Contact page as described above, and press Publish.

    Now go back in and EDIT it. Under the Page title is the Permalink. Click EDIT and make sure it ends in: /add-contact

    Hope that helps.


  21. December 16, 2008 at 5:58 pm

    Can you use this and set permissions for certain members to see only their contacts? For example, using this with members (salespeople), but only allowing each logged in member to see their own contacts, but for the admin (or supervisors) to view all contacts of all members?

  22. sbruner
    December 17, 2008 at 11:28 am

    I am sorry, but currently you cannot limit the posts to only the author in standard WordPress. If you used WordPress MU (multi-user), then each salesperson would essentially have their own individual CRM, and you can manage them all easily.

  23. December 17, 2008 at 11:41 am

    This may be out of the scope for this thread in regards to using WPMU. What I am trying to do is create an intranet portal that salespeople can access to view new info thru post that the WPMU admin would write, a library of documents and have a CRM that they have access to. Only the CRM has to be individual (while admin has full access) but everything else needs to be shared. Using WPMU, I know that I could just install one theme, so everyone has the same theme, but, as the admin, if I write a post, am I able to make sure that every individual member gets that post? I hope this makes sense to someone. Thanks

  24. February 16, 2009 at 10:47 pm

    looks awesome but fro the demo it miss an option to email the contact directly form inside WP or select more than one contact then send them a message

  25. Justin
    March 2, 2009 at 2:45 pm

    Does anyone know how to port this theme to WP 2.7.1, or at least where I can get the files for WP2.6 for this to work?

  26. Steve
    March 2, 2009 at 3:25 pm

    This theme should work with 2.7. Just make sure you get the most updated plugins.

  27. philipp
    March 5, 2009 at 5:09 am

    Hi there,

    I actually was about to install it, but now i cant find any download link to the actual theme anymore?! hope its just my mistake or is it currently only open for developers?
    Hope I can get it ^-^

  28. philipp
    March 5, 2009 at 5:17 am

    ok, sorry, my stupidity ^-^ hope i can get it running nicely on wp 2.7.1! I will report ^-^

  29. philipp
    March 5, 2009 at 9:30 pm

    hurra it works! very very slick! But one question: is it possible to enable “private” entries? I use the theme for a small company and was asked if I can enable the possibility to enter contacts which are only visible for the contributer.
    as far as I can see from the WP backend (2.7.1) its not possible to password protect this entries.
    Please let me know if anyone found a way to do that. I am sadly just a designer not a programmer ^-^
    Help is appreciated!!



  30. sbruner
    March 10, 2009 at 8:29 pm

    Hi Philip,

    Try this plugin: http://wordpress.org/extend/plugins/members-only/


  31. April 19, 2009 at 1:26 pm

    Hi, this is GREAT… have never used WP before and not only was I looking for some basic Blogging… also wanted some basic CRM… seems to work great! However, I do have one problem… after setting up as per the install guide above and publishing a page with the Add Contact form on… I can navigate to it OK but the Link on the Main Page to “Add Contact” seems to remove the site name and then it doesn’t link just comes up with a 404 error… any ideas???



  32. sbruner
    April 19, 2009 at 1:38 pm


    The “Add Contact” page must have a page slug of “add-contact”. You may want to try updating your permalink structure. If that doesn’t work, please email me your domain address so I can take a look. Use the contact form on this site.


  33. John
    April 20, 2009 at 4:25 am

    unfortunatly this is not working properly anymore on wordpress 2.7.1.

    anybody who can help me set this up? i’m in real need for it.

    also some plugins are outdated and don’t even get activated anymore.

    search everything – does not activate and gives a php on line x error.

    customizable-post-listings – also does not activate under 2.7.1

    anybody who can help me out setting this up?

  34. Daniel
    April 28, 2009 at 6:44 am

    Hello all,

    I have some trobble with WP 2.7.1 DE

    TDO Mini 0.12.7 dosn’t give me the Tags-Widged also the Category-Widget.

    The only thing I did different to your howto is, I installed the roll-manager 2.2.3

    Is there something new in WP 2.7.1 so we have to chance the howto?

    thanks for Help
    Daniel :-)

  35. John
    April 28, 2009 at 4:45 pm

    @Daniel, the wordpress 2.7.1 does indeed not work entirely with these wordpress crm. i’m also trying to make it work.

    nevertheless some plugins (2 so far) have problems with wordpress 2.7.1 also.

    it would be great if some tech guru came allong and helped us out a bit. because this seriously has greater potential.

  36. sbruner
    April 29, 2009 at 9:18 am

    John / Daniel,

    What issues are you having with TDO mini-forms? The newest release works well with 2.7.1.


  37. John
    April 30, 2009 at 7:13 am

    @sbruner i’m having difficulties getting all the plugins to work. two of them just give me an php line x and line x and line x error. so they cannot even be activated. and without all the proper plugins working this crm does not fully function as it should.

    hope you have some other sollution

  38. sbruner
    April 30, 2009 at 8:36 am


    Unfortunately, we don’t control the plugins. Have you checked the TDO Mini-Forms forum: http://thedeadone.net/forum/

    It’s the best place to get support.

    I am running these plugins on WP 2.7.1 and everything is fine.

  39. John
    May 7, 2009 at 1:12 am

    anyone who came across the problem with the searcheverything plugin. i’ve managed to get my server switched.

    only searcheverything does not activate as a plugin.

    “Warning: SearchEverything::include() [function.SearchEverything-include]: Unable to access /storage/xxx/wp-content/plugins/./SE-Admin.php in /storage/xxx/wp-content/plugins/search_everything.php on line 38”

    a sollution to my problem would be great.

    ps i have the same issue with line 39 in the plugin code.

  40. June 7, 2009 at 2:38 pm

    Is the demo still active? http://crmdemo.slipfire.com comes back with errors:

    Fatal error: Class ‘TDOMF_Widget’ not found in /nfs/c04/h01/mnt/58651/domains/crmdemo.slipfire.com/html/wp-content/plugins/tdo-mini-forms/widgets/tdomf-whoami-widget.php on line 27

  41. July 9, 2009 at 2:01 pm

    This is pretty amazing.

    One thing pops into my mind right away though… security.
    If someone where to crack the site they would have contact details and lots of related/personal info.

    I wonder how much of a concern this should be.

    Other than that one qualm I am excited about this.

    And from a pure WordPress-is-so-great-we-can-mold-it-into-everything point of view this is very cool modification!

  42. sbruner
    July 9, 2009 at 3:12 pm

    Hi Taiyo,

    Yes, security is important, so keep up with the latest version of WP.
    The Members Only plugin also adds a layer of security

  43. Lisa
    August 7, 2009 at 8:51 am

    I think this is an great plugin. I was wondering if it is possible to add the company/website RSS of the client.

    This way you can always track there latest news in the CRM

  44. October 7, 2009 at 2:55 pm

    Sleep eye masks, clients website into?Three reports you, in wine appear.If their own, first and they.Web site to Casin Senza Deposito, seen the same to exercise to.To international forces, shopping for security.,

  45. Carol
    October 19, 2009 at 5:41 am


    Does somebody tried the WP-CRM under the WordPress Version 2.8.4 DE-Version?

    Thank you!


  46. October 19, 2009 at 9:15 am

    Hi Carol,

    WP-CRM is not translatable, however, our new Contact Manager, RoloPress, is. You can find out more about RoloPress, at the RoloPress.com.


  47. Carol
    October 19, 2009 at 9:37 am

    Hi Steve,

    thank you for your mail. It`s no problem, if the Contact Manager in English, but it collapse on step 4

    Click on “Form 1?, these are the general options for your form.”….. ” Click Save”

    In my Version is no Button “Save”.

    When i Click on ” Form Options”

    Warning: substr() expects parameter 2 to be long, string given in C:\Programme\xampp\htdocs\wordpress\wp-content\plugins\tdo-mini-forms\admin\tdomf-form-options.php on line 128

    Can you help me?

    Bye and Thank,


  48. sbruner
    October 19, 2009 at 9:42 am

    Hi Carol,

    If you can wait until Nov 14/15,when we release RoloPress, then I promise you, you will not be disappointed. RoloPress is more powerful than WP-CRM, and is only 1-click to setup.

    It will be worth the wait. Check it out here.


  49. Carol
    October 22, 2009 at 6:38 am

    Hi Steve,

    Everything works! It was the Problem with the Internet Explorer and some Options.

    Now, we wait for the new version. *jippie*

    Greetings from Germany

  50. October 22, 2009 at 8:18 am

    Hi Carol,

    Glad you got WP-CRM up and running. Also, our new Contact Manager, RoloPress, will not be backwards compatible with WP-CRM. It is a totally different application and far more advanced.


  51. ken mccleave
    June 15, 2011 at 10:27 am

    We are moving toward WP with our web sites. We have used in the past sales force.com as our CRM . Lots of problems and as they say they are the biggggesstt but no support we hope that folks like yourself will win!!!

    I have a question can you help point us in the right direction?
    We don’t want to pay the monthly fee to go to SF and hope it runs smoooth. Our goal is to make a site that is very simple with only a few features made available to our Reps. The site will allow our sales reps to log in reply to in bound emails and phone calls. They need to be able to do a quote to the customer. We currently use a excel quote form. It then would be emailed to the management, customer, etc. Naturally we would like to rate the customer as to when the sale will close or it is a dead lead, and as the reps get better, we can add other features.

    Are you folks working toward somthing like this or do you know a app that will do this??


  52. sbruner
    June 15, 2011 at 11:28 am


    This is possible with RoloPress, but would require custom plugins. If you want to discuss further please contact us directly.

  53. October 9, 2011 at 6:46 am

    […] WP-CRM: a basic CRM built with WordPress | SlipFire […]

  54. April 4, 2012 at 10:21 pm


    I have installed wp-crm in my wordpress based website.

    But when I checked “General UI Settings” on and save – it stops to show me the wordpress admin panel and give the error message

    “This error 404 page means that for some reason the page could not be found or loaded correctly.
    It maybe that your WordPress permalink cache needs refreshing, click this link to view your admin permalink structure then come back and refresh this page.”

    Can you please let me know how to solve this asap as I can’t make any change in my website.


    • sbruner
      April 5, 2012 at 10:14 am

      @Manpreet Singh– WP-CRM is no longer supported. Please use our new CRM: RoloPress.

  55. Ted
    March 27, 2013 at 10:55 am

    I had some difficulties with installing it, but now I’m using it everyday in my business and it’s worth. In conclusion – CRM helps me in working with clients :)

  56. October 17, 2013 at 3:16 pm

    Been looking for something like this for a little while now – don’t want Salesforce interaction.

Leave a Reply

Your email address will not be published. Required fields are marked *