“Closed means closed.”

It was a phrase frequently heard within the City of Baltimore’s two largest agencies, the Department of Public Works (DPW) and Department of Transportation (DOT). The phrase was typically used by managers when emphasizing a service request should not be closed until the entire job was completed. On the operations side, parent work orders were often closed before other associated work orders were created. Sometimes, child work orders were not used at all.

On the public-facing 311 side, this led to confusion and frustration. Members of the public often called to say the issues they reported were not addressed or, if they were, not to their satisfaction. In such situations, they would call the city again, this time more frustrated and less confident in the municipality. To make matters worse, the city’s 311 call takers couldn’t provide relevant information to explain what associated work might still be in progress.

Like most municipal governments, the City of Baltimore values quality service, reliability, affordability, and courtesy—yet the reality fell far short of those goals. It was clear that change was needed.

Finding the Fix

Baltimore has been using Cityworks since 2005. It was originally implemented as a work management system for DPW and DOT and has grown to include Recreation and Parks.

To rectify the public information gap and streamline operations, the city realized calls to 311 need to seamlessly flow into Cityworks as service requests. From there, they could be triaged and assigned as work orders for maintenance crews.

Perhaps most importantly, cases in the 311 system need updates from Cityworks to keep both call-takers and customers apprised of the status of the request and of associated repairs.

Cityworks and the 311 system were originally co-hosted by a third party. In order to support the expansion of the system across the enterprise and enhance internal administration of the software, the city engaged KCI to help them migrate Cityworks to a local data center.

It was paramount that Baltimore had a reliable interface between Cityworks and the external 311 system. In 2015, the city worked with KCI to integrate the 311 system and Cityworks. By 2017, the city was readying a transition to a Salesforce cloud-based 311 system. Over the course of 12 months, KCI worked collaboratively with city staff and Incapsulate—the Salesforce implementer—to provide a seamless integration with Cityworks.

Building the Framework

The project began with detailed template mapping to match every Salesforce case to a Cityworks service request, including every possible combination of associated fields and questions. The mapping process ensured that all the information captured in Salesforce could be accurately mapped to a Cityworks service request.

KCI implemented a polling interface to check for new 311 cases every minute, ensuring timely flow of information into Cityworks. In addition, the interface provided Salesforce with status and comments from all logical chained work orders, such as grandchild or multiple work orders.

Implementers used stable, mature, open-source frameworks and message brokers in the systems interface. This approach allowed for minimal code development, streamlined implementation, and easier long-term maintenance.

Enterprise integration patterns treat data as messages, allowing a loose coupling of the Cityworks and Salesforce APIs. Guaranteed delivery mechanisms mean systems interruptions on either end—or loss of network connectivity, even for periods of days—would not lead to data loss. Self-recovery ensures all 311 cases make it into Cityworks and updates return to 311.


Once the configuration was complete, the team performed rigorous testing in a fully functional test site. This included a full practice run for every possible scenario, testing the transfer of messages between systems with pass/fail results, as well as information notification combinations and mapping. A coordinated go-live during evening and weekend hours minimized disruption to the public.

Baltimore City went live with Salesforce 311 and the latest interface in fall 2018. The automated workflow—transferring service requests to work orders and back to customer notification—has heightened call takers’ ability to communicate with the public. In addition, maintenance crews receive timely work orders and have the details of the service request and work orders available to them through the Cityworks mobile application.

The public can also access information about their initial inquiries and all follow-up work. Now when a customer is told the service request is closed, it really means the service request and all of the associated work orders are closed. Callers no longer have to call multiple times to find out the status of their requests.

Equally important, the halls of DPW and DOT are a little quieter. Managers and staff no longer hear the chant “closed means closed,” because they know the people of Baltimore are receiving the best available information.

Prajwol Bhattarai is a Cityworks administrator at Baltimore City DPW. At KCI Technologies, Madeleine Driscoll is an asset management consultant and Jim Somerville is a solutions architect. Contact them at assetmanagement@kci.com.


Tags: , , , , , , , , , , , ,