Version 20 (modified by Jamie McClelland, 13 years ago) (diff)


CRM Use Cases

The following use cases are being used in the CRM review project.

Database setup

These are steps that would be taken infrequently to get the database minimally configured for an organization

  • Define custom fields:
    • Simple custom field checkbox: Housing status (own/rent)
    • Drop down field: type of contact (Member, Ally, Other)
  • Define several groups:
    • All Members
    • Everyone in a given zip code

Data Entry

  • An organizer returns from a meeting with a sign in sheet, listing 10 names with phone numbers, postal addresses and email addresses that need to be entered into the database
    • The meeting itself needs to be entered
    • One of the new contacts is a family member of an existing member (and they share the same house)
    • One person on the list has indicated that their phone is temporarily disconnected
    • All new entries should be coded to indicate that they were first contacted at the meeting
    • One of the members has paid their dues - they need to be entered and have their dues payment recorded
    • One of the members facilitated the meeting, which should be recorded
  • An organizing is making phone calls from a call sheet (see below). For several calls, they need to update the records with:
    • Best time to contact
    • Add/delete/edit information about number of kids, etc.
  • An organizer returns from a conference with the list of conference attendees and wants to add several organizations that they met at the conference:
    • Add an ally organization and two contacts from that organization, with one designated as the primary contact
    • Add a potential funder (foundation)
    • Add a journalist that might be write favorable articles along with the topics of the articles they would write and the date and notes of the meeting they had with the organizer at the conference
  • A report from an online giving site has been sent with 5 donations. 2 are new donors and 3 are existing donors that need to be updated to reflect the new amounts

Searching and reporting

  • Send mass email to everyone
  • Send email to everyone in a group
  • Generate phone list by group/arbitrary search criteria
  • Generate walk list by group/arbitrary search criteria
  • Generate mailing labels by group/arbitrary search criteria
  • Export records to spread sheet by group/arbitrary search criteria
  • Generate a list, by date range, of the members with the most activity entries

Initial impressions


I was able to create new fields and new groups very easily. I was impressed with being able to create groups either based on picking individuals to add or based on a query (for dynamic groups). Wait... are dynamic groups possible. Now I can't seem to figure out how I did that.

I got stuck with events. I wanted to add a meeting event. However, CiviEvent seems like over kill and, when I tried to add an activity of type meeting, I was only able to specify a single user. I finally discovered that, from the search screen, I can get a list of all the people at the meeting and then select Add Record activity to contacts. This will cause every person selected to get an activity contact for every other person. In other words, rather then enter a single record for person A saying they attended meeting X, and single record for Person B saying the attended meeting X and a record for Meeting X listing both Person A and Person B, it adds a single activity record for Person A for every one who was at the meeting.

Not a big deal but... my first instinct was to find the household I wanted to add a contact to, however, when I found the household and click relationships, I could only choose from existing contacts. Adding the contact first, then adding the contact to the household was the right way to do it.

CiviCRM comes with a "source" field to indicate (I think) where you met the contact. In some cases, a drop down might be preferred to enforce data integrity, however, that could be added as a custom field. I wonder how to make a CiviCRM defined field go away?

I was really impressed with the membership status search capacity. In theory I should be able to create a group of expired members. In practice, though, I couldn't figure out how to expire a member. I tried changing the membership end date. I also tried creating a new membership with a membership end date in the past. In both cases the status remained new. I also tried manually running the cron job. Since I'm doing something that you really aren't supposed to do, I'm not sure if this is a bug or just CiviCRM refusing to be fooled.

There's a way to put an email address on hold, but not phone. Good tools for indicating preferred phone and email, however, not built-in for best time to contact (could be easily added as custom field).

I had to add a new relationship to define a primary staff of an organization and an extra cup of coffee to wrap my head around Relationship of A -> B, but it only had to be done once and now is available moving forward.

As I started looking into how to add a foundation, I explored Grants and was initially confused. I was thinking it was a way to track grant proposals, but it appears to be a way for an organization to grant resources to members or contacts. Probably we'll want to dis-able this module for most organizing groups.

I decided to add Foundation, Journalist and Media Organization as tags. Oh my it is easy to add a gazillion checkboxes. Oh no. Danger.

I'm not sure the best way to record the issues a journalist covers. It could always be a custom field, however... I wonder if there's a way to specify that a custom field only shows up on certain records?

Export to spread sheet. Wow.

Mailing labels. Also wow.

Not sure how to do the same with a phone list or walk list. I wonder what's involved with adding customized reports?

Questions/observations from meeting

How do you remove fields from the input screen?

In Admin -> Global settings -> Site Preferences, you can disable entire sections of fields.

In addition, in Admin -> Global Settings -> Address Settings you can disable certain address fields.

In addition, this question was asked and answered on the civicrm forum. The recommended solution is to use profiles.

A profile is a complete mini-package for navigating, searching, viewing, and editing users of the system.

I just created a super simple example that only shows first and last name (if you are not lgged in you'll get an ugly error message).

The advantage of profiles is that we can create very limited interface for data entry. The disadvantage is that it's very limited. There doesn't seem to be a way to allow all the functionality of the main interface for doing things like adding donations, creating relationships.

In one of the responses to the question on the forum, another approach is to customize the templates. This seems a bit closer to what we might want to do.

I just followed the directions for modifying the edit contact form and I removed the built-in source field. It's not as difficult as it might seem (for a developer) but probably beyond the patience of an organizer. Also - this approach can cause difficulties when upgrading (in the event that the upgraded version of CiviCRM upgrades the template).

How do you add a field to be part of an existing field group?

Is there free tagging ability? (i.e. can you just type a new tag for a contact?)

Tags and Groups seem functionally the same. Can we make tags go away in the user interface if we wanted?

Can language be changed? Exact case: Can we change the "Make offline donation" link? Can we change the Activity -> Meeting to say "One on one Meeting"?

This question was asked on the forums and the answer is to change the label in the localization file. The short answer is: customize the translation page. This is an understandable approach for a project that intends to be use-able in multiple languages. However, it means that if we customize a string, we may need to continuously maintain that customization across upgrades.

I will try the appraoch in order to change the Make offline donation link be different and report back the results.

Can the tab order be changed? For example, can we get the Member tab to show up before the Contribute tab?

Can we make default end date for membership?

Can you pull daily cash receipts and balances? Can you easily pull reports on, for example, all membership entries for a time period?

We got confused with membership renewals. It does not seem to be setting the end date properly. We think this is because we haven't set a membership renewal period. To be investigated...

We want: ability to keep track of who we invited to a meeting, what they said (yes, maybe, no) and then generate a list and see if they came or not.

Can we add fields to tables other than contact, for example: can we add a drop down field to the event registration to indicate intent: (yes, maybe, not); can we add a drop down for source list.

Can we modify the list of fields included in the print box

Can we add more things to the search drop down list

Name missing when we printed his 5060 labels

What are search views? Is it specifying a custom search form or a specific output format?

No calendar/quick pick on search by activity by dates

Can we remove fields from list of search results? Specifically: country

How do you save a search and then re-use? Answer: use smart groups

Reports: Can we export query from search builder? How are queries stored? Ideally we would like to add a new report to the search results drop down.

Can we configure the dash board? Can we make the dash board make more sense to an organizer responsible for members?

Can the simple search search by first name?

How does CiviCRM scale? What is the average size for CiviCRM databases? How will 10,000+ database perform in shared hosting environments?

How could an organization generate a phone list to be distributed online so we could make 3,000 calls in a few hours?