Case Study: Lutheran Social Service of Minnesota Contact Directory

Lutheran Social Service Contact Directory


Lutheran Social Service of Minnesota (LSS) is one of the state’s largest private nonprofit social service organizations, providing a vast array of services in all 87 Minnesota counties for children and families, older adults and people with disabilities.

Finding the right contact person for LSS services on their website was not as easy as the organization wanted it to be. On the site, while each service has its own page within the navigation, there was no consolidated contact directory. The main contact page contained a single web form which would send an email to the LSS marketing department (usually one person). This resulted in a bottleneck of incoming requests for numerous services. The team noticed that the contact form was consistently in the top 10 most-visited pages in the site’s analytics. Since it’s important for LSS to provide prompt and efficient service, they required a solution that would allow people seeking service to connect directly with program staff.

Though external visitors are the primary audience for the contact directory, LSS knew that internal users would benefit from the tool as well. The organization’s intranet has a directory, but that focuses on people results, not services: if you know someone’s name, you can look them up. But if you need to find the main contact for disability services in Hinckley, MN, this is much harder to find using the internal tool.

To quote our favorite infomercial, “THERE’S GOT TO BE A BETTER WAY!”


LSS knew that building a consolidated contact directory was going to be a top priority when we took them on as a TEN7Care support client. They had a head start on gathering contact information and putting together design options, thanks to the good work that was done during a recent website redesign. In addition, a Contacts content type had already been set up in Drupal.

We first exported the existing contact data out of Drupal into a spreadsheet, so we could see all the data in front of us. We worked to streamline the contact information, getting rid of duplicate listings and deleting unused fields. LSS Digital Marketing Manager Tom Lany was once again our hands-on partner in the project. Tom worked in concert with other LSS Marketing and Communications Managers in a multi-layered process to have all departments review their contact information for accuracy.

As the data was being updated, we worked to figure out the best hierarchy for the content. Each contact had two important facets: location and service category.

Granularity of location was crucial. Each LSS service operates at a different level of scope. Some are very local physical locations. Some resources are tied to counties, which are grouped into regions. Finally, there are statewide services, those that have no locality. They can be accessed from anywhere. For the most part, the system contextualizes every contact on a local, regional or statewide level. We used two off-the-shelf Drupal modules, Geocoder and Geolocation Field, to get the latitude and longitude based on the contact address, and to save it to the contact.

We also needed to assign each contact to a service category. In addition to the Contacts content type, the LSS site also had an existing Service content type. We had hoped to use this in conjunction with the Contacts content type for the content directory, but the Service content type represented the marketing pages for the services in the navigation structure. Since we didn’t want to be disruptive to their existing content, we created a new content type, Contact Directory Service, that would associate individual contacts with a service grouping.

To organize and display the search results, we used the Views module, which is part of Drupal core. It allows us to compile listings, add filters and perform searches. However, a little tweaking was needed. “The Drupal Views module doesn’t easily allow us to take three different queries and merge them into a single result set,” said Les Lim, Technical Project Lead, “so we wrote custom code that allowed us to dynamically change the underlying database query that built the results, according to filter inputs we were given.”


Site visitors, whether internal staff or external clients, can now quickly find the information they’re looking for. If a site visitor uses the zip code field, the system will provide local results first (including the distance from the zip code entered), then regional, then statewide. A site visitor can also use the category boxes to drill down to a list of results. If a zip code is not provided, the system will show statewide results first, then regional listings. We figured people providing a local zip code will want to see these specific results first, where people who do not have a specific location in mind will likely want to see general statewide results first.

Lutheran Social Service Contact Directory

We launched the new contact page on October 15, 2019, and it’s been well received. A month after launch, Tom Lany presented the contact directory project to a leadership team at LSS, and it got a round of applause. “People here really recognize how this tool will add a lot of value to what we’re doing,” Tom said.

Tom notified us that the contact directory launch made a difference right away. “We’re getting half of the form submissions we were before the directory went live,” explained Tom, “which means people are contacting the services directly. This saves our central staff time and means people are getting faster responses from the people they need to reach.”

As a self-sufficient client, LSS will maintain the contact database themselves in Drupal.

Ivan Stegic

Ivan Stegic

Words that describe Ivan: Relentlessly optimistic. Kind. Equally concerned with client and employee happiness. Bowtie lover. Physicist. Ethical. Lighthearted and cheerful. Finds joy in the technical stuff. Inspiring. Loyal. Hires smart, curious and kind employees who want to create more good in the world. His favorite things right now: the TEN7 podcast and becoming the next Björn Borg.