Leveraging Twilio API to validate and clean up mobile numbers in Salesforce CRM

Background

Founded in 1974, Second Harvest of Silicon Valley is one of the largest food banks in the nation, providing food to more than a quarter of a million people in Santa Clara and San Mateo counties every month.

Second Harvest of Silicon Valley uses Mogli for texting out of Salesforce. Mogli is a texting app built on Twilio that offers one-to-one messaging, surveys, and WhatsApp integration. Twilio is a platform that provides programmable communication tools for making and receiving phone calls, and sending and receiving text messages.

Problem 

When using a texting app, U.S. carriers require message originators (you or your customers) to keep subscriber lists clean by removing deactivated phone numbers from your lists. Recently, Twilio launched the Deactivations API, allowing customers to automate the process of downloading and cleaning deactivated subscribers from their lists. The reason to do this is two fold:

  1. Prevent Telephone Consumer Protection Act (TCPA) violations and ensure the SMS Campaigns are compliant by removing phone numbers that no longer belong to the person who signed up for the service.
  2. Lower the costs by minimizing messages sent to inactive numbers.

Additionally, Second Harvest of Silicon Valley wanted to ensure they have fewer errors when texting clients, by validating that the mobile numbers provided are actual mobile numbers. This required excluding numbers that are landlines, cannot be reached via text or are simply bad numbers. 

In absence of Mogli providing this functionality out of the box, the client reached out to DaizyLogik to design a solution that could be leveraged to accomplish this and would fit with Second Harvest’s business needs.

Full Sweep and Ongoing Maintenance

DaizyLogik worked with Second Harvest of Silicon Valley to craft a solution that would allow a full sweep of the mobile numbers in the Salesforce database paired with a “verify as you go” solution that keeps the data clean as new records are created, or information is obtained about Deactivated numbers.

For an initial validation of all existing mobile numbers in the Salesforce database, DaizyLogik implemented an off-platform Python script that ran an export of all mobile numbers in the database through the Twilio verification API. This ensured a fast verification process, free of Salesforce governor limits on a high volume of data. Additionally, DaziyLogik developed Apex and Flow automation to validate numbers in real-time as they are added to the system. To make sure nothing slips through, an additional nightly job looks for mobile numbers that have not been verified and makes sure they get validated at off peak hours.

In addition, by leveraging Apex, DaizyLogik assembled a solution to download the Deactivated number logs from Twilio, process them and update records accordingly in Salesforce.

Conclusion

The solution that DaizyLogik designed and implemented allowed Second Harvest of Silicon Valley to meet their goals in terms of data hygiene, maintain TCPA compliance and save money by having confidence that they are texting verified mobile numbers that are less likely to result in an error.

Want to learn more? Contact DaizyLogik to learn more about how we can support you with specialized consulting and custom development and help you get the most out of Salesforce.

Nonprofit Leverages Cumulus CI and Snowfakery to Streamline Delivery of Salesforce Managed Package

HomeKeeper is a powerful web-based Salesforce App originally created for affordable home ownership programs with long-term affordability restrictions.  It is designed around the day-to-day workflow of a housing program administrator, but also collects performance data which is aggregated to generate social impact reports. HomeKeeper is also a HUD approved Housing Counseling Management System (CMS), designed for busy housing counselors and homeownership advisors. Since its inception in 2011 HomeKeeper’s user base has been growing steadily every year. As of April 2020, they had a total of 117 participating organizations. In 2021 Grounded Solutions experienced a 50% increase of their install base for HomeKeeper. As the steward of HomeKeeper, Grounded Solutions Network is a national nonprofit organization deeply invested in the local communities. Grounded Solutions has a small but mighty team that helps imagine and grow HomeKeeper in partnership with DaizyLogik’s technical expertise.

As a development partner, DaizyLogik has been looking for ways to assist the Grounded Solutions team to more effectively support their HomeKeeper user onboarding processes as well as facilitate the regular testing and verification of new features as they become available in the HomeKeeper package. Drawing on their significant nonprofit and technical expertise, DaizyLogik has implemented some process improvements that reduce the amount of time the Grounded Solutions staff has to spend to bring to life new features, as well as bring online new HomeKeeper participating organizations.

About Cumulus CI and Snowfakery

CumulusCI (CCI) is a tool that helps development teams build great applications on the Salesforce platform by automating org setup, testing, and deployment. In other words, it offers a way to automate various processes on the Salesforce platform.

Snowfakery is a tool for generating fake data directly into Salesforce databases, that allows for the creation of relations between tables. Every row is fake data, but also unique and random, like a snowflake.

Streamlining HomeKeeper Package Testing and Customer Onboarding 

DaizyLogik leveraged Cumulus CI and Snowfakery to address two specific use cases in the development, testing and release process of the HomeKeeper package.

Generating Realistic Test Date at Scale

Every time a new feature is added to HomeKeeper, significant testing needs to be performed to ensure the quality of the package as well as confirm that the product can support large data sets (known as scalability testing). Previously, the testing staff had to manually upload spreadsheets with data and link them with each other in order to create a realistic HomeKeeper database on which to test. With every subsequent build of the package, the data had to be discarded and re-uploaded. 

By using Snowfakery, DaizyLogik developed a script that automatically spins off a Salesforce scratch org, installs the latest version of the HomeKeeper managed package alongside the latest version on the Nonprofit Success Pack (NPSP) and populates it with enough data to cover most of the test cases and allow for scalability testing when needed.

This is a huge time saving automation that benefits both the developer and the tester because the data is predictable and fills out all the necessary structures in the database.

We asked Cheryl Curry, Senior Specialist for HomeKeeper Training & Support, to share with us how this process improvement helped the HomeKeeper team save time in the process of releasing new versions of the product.

[Cheryl Curry] Previously, for each new beta build, I had to spend about an hour uninstalling and reinstalling HomeKeeper, mainly because I had to remember each of the steps in their order, and wait for their completion. Sometimes I would forget which box had a beta build installed or where it had just been uninstalled. When my flow was interrupted, I’d spend 5 minutes logging in to check Setup and resume my thought process, including tracking down the beta install link.

I rarely populated significant amounts of data because of the time it would require to accurately represent the HomeKeeper app’s sophisticated 4-tier data model (which references Contacts, Accounts, then relatedly custom objects referencing service types and household members). 

Generally, I would create 2-4 examples with the bare minimum of data entered to successfully test the requirements. About twice a year, successful testing would require more complete data where it was necessary to upload spreadsheets of data. While I am accomplished at data import, if you haven’t ridden your bike in a year, you still need to find it, tune it up, and regain your equilibrium – so that data upload often took most of a day, especially if I forgot a required field or a data model quirk like the format for a custom Date/Time field.

Another challenge was rarely having time to also install Salesforce’s Nonprofit Success Pack for a more accurate representation of how the majority of our customers use the HomeKeeper app (on top of the NPSP), especially with the Household Account data model. Having that app installed alongside the HomeKeeper beta build, with realistic Snowfakery data, will produce a more realistic environment for testing. This should enable us to deliver improved and quality features more quickly and efficiently, and free up time to support our rapidly growing user base.

According to Cheryl Curry,  the testing conducted so far by incorporating the new CCI and Snowfakery automation scripts and the fake realistic data has enabled the HomeKeeper team to shorten the cycle for testing and, when necessary, publishing a new release of the HomeKeeper product from about 1 month down to 1 week. In addition, the realistic data created at scale allowed the team to test and improve a query limit issue. This allowed for the delivery of the improvement to the client in record time and reduced the workload for the HomeKeeper team. 

Faster Onboarding of New Customers

More and more organizations who are adopting HomeKeeper are also using the Nonprofit Success Pack (NPSP). When a new customer is onboarded, and the HomeKeeper package is installed in their Salesforce database alongside NPSP,  every layout in HomeKeeper will show standard Salesforce buttons as well as NPSP buttons that are not relevant to the HomeKeeper functionality. The staff conducting onboarding of HomeKeeper previously had to go into each of the 37 HomeKeeper layouts and clean them up by removing the buttons that are not used. In addition, from a usability perspective, the HomeKeeper staff identified that the order of the buttons was also an important detail in users following good data entry practices.

By leveraging CCI and Apex, DaizyLogik developed a script that can be run against a new HomeKeeper organization to automatically go through the layouts and clean them up, leaving only the buttons that are relevant to HomeKeeper specific functionality in the right order. This has resulted in a time savings for new installs, as explained by Cheryl Curry:

[Cheryl Curry] Our team has used the [layout cleanup] CCI script at least 4 times a month since its completion in 2020. While not a vital step, it was invaluable to clean up buttons in a couple minutes instead of a half hour, so buttons on layouts matched app preferences and adoption best practices (for example, moving “Delete” to be the last button on the layout, whereas the prebuilt Salesforce layout places it right after “Edit” which encourages poor data hygiene).

Focus on the Product not the Tech

DaizyLogik is always seeking to apply new automation and process improvements to ensure our partners can focus on their mission, their product, and release quality functionality. Cheryl Curry and Grounded Solutions imagines the possibility of using these tools to ensure HomeKeeper works more efficiently alongside other alliance partners’ applications like Public House and CreditChecker. Having the ability to test HomeKeeper in conjunction with other products that customers use frequently, ensures that they will have a better experience and confidence that these packages work well together.


Want to learn more? Contact DaizyLogik to learn more about how we can support you with specialized consulting and custom development and help you get the most out of Salesforce.

Kôr Community Land Trust – Using FormAssembly and HomeKeeper to Streamline The Homeownership Application Process

kor-logo-140Kôr Community Land Trust provides environmentally sustainable and permanently affordable homeownership opportunities for those who contribute to the fabric of the Bend, Oregon area economy and community. We invite you to read more about Kôr CLT on their website.

Kôr CLT embarked on a process of digital transformation by adopting Salesforce CRM and HomeKeeper. To achieve greater efficiency and streamline their application process, Kôr CLT worked with DaizyLogik to implement an online homeownership application that allows prospective applicants to be screened and apply for homeownership in a simple, step-by-step way. By putting together FormAssembly online application forms with the PayPal connector and connecting them to Salesforce and HomeKeeper, DaizyLogik helped Kôr CLT streamline their application process and increase their impact.

Read More about how this project contributed to the digital transformation of this agency.

Where Is The Project? – Salesforce CRM For The Long Haul

Whether you are a nonprofit Salesforce CRM administrator struggling with the decision of when and how to bring in a Salesforce consultant to help your team overcome the complexities of the CRM or you are a consultant evaluating a Salesforce CRM engagement, you have probably given a lot of thought to what makes your work a project.

In the world of Salesforce CRM consulting it’s often expected and required to define and secure projects, work on projects, talk about projects and be rated and evaluated on the success of projects.

But what about the other work we do with our clients that falls outside the box of a “project”? This blog is about shining a spotlight on the non-project work we do day in and day out in partnership with our clients.  

A Case Study for using FormAssembly to Manage Ticket Sales

Washington Global Health Alliance (WGHA) has been using Salesforce and the Nonprofit Success Pack for a few years to track and manage their members and donors. The data collected in Salesforce allows WGHA to measure and report on their members’ interactions and collaboration, and ultimately on the impact of their work in the global health community.

WGHA organizes a number of member and public events throughout the year. They had used Eventbrite to manage ticket sales, and had tested Brown Paper Tickets, but were disappointed with the new price points of both platforms and policy changes, and wanted to find another solution. More importantly, they wanted a solution that would easily feed all event data into Salesforce and remove the need for double data entry. Once the information was in Salesforce, they wanted to track the participation and payments of event attendees, donors, and other stakeholders associated with the organization.

Since the WGHA team was not looking for a full-blown event management system, the DaizyLogik team recommended FormAssembly.

Learn more about this decision and how our team helped to empower WGHA’s team to use this new tool with confidence.